版权声明:本文系 DREAMVFIA UNION 原创技术专题,RNOISE 2.0 项目技术解析系列之一。
未经 DREAMVFIA UNION 书面授权,禁止转载、摘编、洗稿或用于模型训练语料。
RNOISE 为独立项目,与 Suno、Udio 等第三方平台无官方合作关系,文中提及仅为兼容性说明。
系列:DREAMVFIA UNION · RNOISE 2.0 技术专题系列之07/08|读者:安全工程师、后端开发者、SaaS 创业者
引言
10 次、20 次、无限但限速------RNOISE 的配额体系把匿名用户、注册用户、付费用户分得清清楚楚,API Key(rnp_live_)只认有效 Pro。本篇讲透浏览器身份、HMAC、上海日界线、速率限制、Key 的签发与撤销、Catalog 下载授权与日志隐私。
本文先给出阅读契约:凡涉及生产状态无证据处写 UNKNOWN,历史能力写 retired,规划中能力写 planned;凡引用数字,均以 docs/2.0-workflow/TECH_FACTS.md、docs/2.0-SETUP.md、docs/2.0-workflow/API_CONTRACTS.md 及当前 src/ 代码为准。Suno、Udio 等名称仅描述兼容用途,不表示官方合作。
目录
- 第1章 三档配额的设计哲学
- 第2章 浏览器身份与继承
- 第3章 HMAC 身份与隐私
- 第4章 quota 接口的契约
- 第5章 generate 的扣减事务
- 第6章 速率限制
- 第7章 API Key 的生命周期
- 第8章 External API v1
- 第9章 导出与下载授权
- 第10章 收藏与项目的隔离
- 第11章 patterns 与反模式
- 第12章 安全章总结
第1章 三档配额的设计哲学
本章锚定"三档配额的设计哲学",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。
Guest 10 次
先讲一个一线现实:Guest 10 次。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。发布门禁链为 db:generate、prisma validate、lint、test、test:e2e、build、check:no-legacy-audio、db:verify-prompts、db:benchmark-prompts。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"三档配额的设计哲学"要拆开的正是这一层:把"Guest 10 次"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"Guest 10 次"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
Standard 每日 20 次
从原理上看,Standard 每日 20 次的本质是约束传播:会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"三档配额的设计哲学"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,Standard 每日 20 次就会在三个月后变成线上事故。因此本章坚持一条铁律:Standard 每日 20 次的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"Standard 每日 20 次"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
Pro 无限但限速
落到实现细节,Pro 无限但限速必须经得起数字检验。会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"三档配额的设计哲学"的实践含义是,Pro 无限但限速的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"Pro 无限但限速"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
ADMIN 的定位
再谈反模式。围绕ADMIN 的定位最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:唯一核心工作台为 /prompt-generator,曲风检索中心为 /features/style-library,用户资产为 /my-prompts。"三档配额的设计哲学"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"ADMIN 的定位"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:三档配额的设计哲学的核心是把"Guest 10 次"做成可验证的工程事实,而不是文档修辞。技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。
第2章 浏览器身份与继承
本章锚定"浏览器身份与继承",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。
持久身份
再谈反模式。围绕持久身份最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。"浏览器身份与继承"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"持久身份"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
注册不继承消耗
给读者的落地建议是:把注册不继承消耗拆成最小可验证闭环。PM2 目标拓扑仅 rnoise-web 与 rnoise-crypto-okx,旧 generation/track/credit worker 全部 retired。具体到"浏览器身份与继承",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为注册不继承消耗补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"浏览器身份与继承"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"注册不继承消耗"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
上海日界线
先讲一个一线现实:上海日界线。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"浏览器身份与继承"要拆开的正是这一层:把"上海日界线"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"上海日界线"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
resetsAt 的语义
从原理上看,resetsAt 的语义的本质是约束传播:原始 IP 不入库,只保存 HMAC 后的身份与限速主体;变量只登记名称与 SET/EMPTY 状态。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"浏览器身份与继承"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,resetsAt 的语义就会在三个月后变成线上事故。因此本章坚持一条铁律:resetsAt 的语义的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"resetsAt 的语义"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:浏览器身份与继承的核心是把"持久身份"做成可验证的工程事实,而不是文档修辞。会员为 Luxury/Platinum 固定期限一次性通行证,支付覆盖支付宝、Stripe、OKX USDT 与 RNS,无自动续费与 Credits。
第3章 HMAC 身份与隐私
本章锚定"HMAC 身份与隐私",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。
原始 IP 不入库
给读者的落地建议是:把原始 IP 不入库拆成最小可验证闭环。RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。具体到"HMAC 身份与隐私",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为原始 IP 不入库补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"HMAC 身份与隐私"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"原始 IP 不入库"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
HMAC 主体
先讲一个一线现实:HMAC 主体。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。本机 benchmark 为 cold 124.51ms、warm p95 132.06ms,门禁为 cold 3000ms、p95 1000ms。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"HMAC 身份与隐私"要拆开的正是这一层:把"HMAC 主体"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"HMAC 主体"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
限速主体
从原理上看,限速主体的本质是约束传播:浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"HMAC 身份与隐私"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,限速主体就会在三个月后变成线上事故。因此本章坚持一条铁律:限速主体的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"限速主体"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
日志最小化
落到实现细节,日志最小化必须经得起数字检验。发布门禁链为 db:generate、prisma validate、lint、test、test:e2e、build、check:no-legacy-audio、db:verify-prompts、db:benchmark-prompts。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"HMAC 身份与隐私"的实践含义是,日志最小化的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"日志最小化"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:HMAC 身份与隐私的核心是把"原始 IP 不入库"做成可验证的工程事实,而不是文档修辞。精确组合不存在时返回 NO_MATCHING_TEMPLATE 与候选组合;BPM/Key 为 Auto 时保留源字段,锁定时只覆盖输出快照。
第4章 quota 接口的契约
本章锚定"quota 接口的契约",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。
identity 与 tier
给读者的落地建议是:把identity 与 tier拆成最小可验证闭环。精确组合不存在时返回 NO_MATCHING_TEMPLATE 与候选组合;BPM/Key 为 Auto 时保留源字段,锁定时只覆盖输出快照。具体到"quota 接口的契约",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为identity 与 tier补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"quota 接口的契约"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"identity 与 tier"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
limit/used/remaining
先讲一个一线现实:limit/used/remaining。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。Guest 为每持久浏览器身份总计 10 次成功编译;Standard 按 Asia/Shanghai 日界线每日 20 次;Pro 与 ADMIN 无限编译但仍限速。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"quota 接口的契约"要拆开的正是这一层:把"limit/used/remaining"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"limit/used/remaining"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
capabilities
从原理上看,capabilities的本质是约束传播:浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"quota 接口的契约"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,capabilities就会在三个月后变成线上事故。因此本章坚持一条铁律:capabilities的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"capabilities"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
no-store
落到实现细节,no-store必须经得起数字检验。会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"quota 接口的契约"的实践含义是,no-store的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"no-store"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:quota 接口的契约的核心是把"identity 与 tier"做成可验证的工程事实,而不是文档修辞。分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。
第5章 generate 的扣减事务
本章锚定"generate 的扣减事务",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:生产 Catalog 由 PROMPT_CATALOG_DB_PATH 指向服务器数据盘,生产数据盘曾挂 V2(183295 模板),V3 切换待发布窗口。
成功才扣
从原理上看,成功才扣的本质是约束传播:生产 Catalog 由 PROMPT_CATALOG_DB_PATH 指向服务器数据盘,生产数据盘曾挂 V2(183295 模板),V3 切换待发布窗口。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"generate 的扣减事务"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,成功才扣就会在三个月后变成线上事故。因此本章坚持一条铁律:成功才扣的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"成功才扣"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
失败不扣
落到实现细节,失败不扣必须经得起数字检验。107 个模板缺失 lock_number,其中 30 个无有效音乐变体,缺失槽位一律返回 available:false,绝不补造。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"generate 的扣减事务"的实践含义是,失败不扣的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"失败不扣"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
搜索不扣
再谈反模式。围绕搜索不扣最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:会员为 Luxury/Platinum 固定期限一次性通行证,支付覆盖支付宝、Stripe、OKX USDT 与 RNS,无自动续费与 Credits。"generate 的扣减事务"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"搜索不扣"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
并发安全
给读者的落地建议是:把并发安全拆成最小可验证闭环。RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。具体到"generate 的扣减事务",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为并发安全补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"generate 的扣减事务"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"并发安全"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:generate 的扣减事务的核心是把"成功才扣"做成可验证的工程事实,而不是文档修辞。Prompt 编译器使用本地模板与确定性规则,不调用 LLM 与外部音乐供应商,V3 种子前缀为 v3:macro:{macro}:macro:{title}😒{slot}。
第6章 速率限制
本章锚定"速率限制",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。
无限不等于无限制
先讲一个一线现实:无限不等于无限制。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。会员为 Luxury/Platinum 固定期限一次性通行证,支付覆盖支付宝、Stripe、OKX USDT 与 RNS,无自动续费与 Credits。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"速率限制"要拆开的正是这一层:把"无限不等于无限制"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"无限不等于无限制"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
突发防护
从原理上看,突发防护的本质是约束传播:原始 IP 不入库,只保存 HMAC 后的身份与限速主体;变量只登记名称与 SET/EMPTY 状态。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"速率限制"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,突发防护就会在三个月后变成线上事故。因此本章坚持一条铁律:突发防护的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"突发防护"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
降级策略
落到实现细节,降级策略必须经得起数字检验。分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"速率限制"的实践含义是,降级策略的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"降级策略"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
滥用识别
再谈反模式。围绕滥用识别最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:Guest 为每持久浏览器身份总计 10 次成功编译;Standard 按 Asia/Shanghai 日界线每日 20 次;Pro 与 ADMIN 无限编译但仍限速。"速率限制"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"滥用识别"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:速率限制的核心是把"无限不等于无限制"做成可验证的工程事实,而不是文档修辞。PM2 目标拓扑仅 rnoise-web 与 rnoise-crypto-okx,旧 generation/track/credit worker 全部 retired。
第7章 API Key 的生命周期
本章锚定"API Key 的生命周期",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。
rnp_live_ 前缀
再谈反模式。围绕rnp_live_ 前缀最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:SQLite 本地只读 Catalog 采用独立 FTS5 表、普通索引与预建随机序号,由 Worker Thread 以只读 node:sqlite 查询。"API Key 的生命周期"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"rnp_live_ 前缀"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
完整密钥只显示一次
给读者的落地建议是:把完整密钥只显示一次拆成最小可验证闭环。会员为 Luxury/Platinum 固定期限一次性通行证,支付覆盖支付宝、Stripe、OKX USDT 与 RNS,无自动续费与 Credits。具体到"API Key 的生命周期",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为完整密钥只显示一次补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"API Key 的生命周期"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"完整密钥只显示一次"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
前缀可查
先讲一个一线现实:前缀可查。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。PM2 目标拓扑仅 rnoise-web 与 rnoise-crypto-okx,旧 generation/track/credit worker 全部 retired。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"API Key 的生命周期"要拆开的正是这一层:把"前缀可查"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"前缀可查"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
撤销即失权
从原理上看,撤销即失权的本质是约束传播:分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"API Key 的生命周期"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,撤销即失权就会在三个月后变成线上事故。因此本章坚持一条铁律:撤销即失权的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"撤销即失权"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:API Key 的生命周期的核心是把"rnp_live_ 前缀"做成可验证的工程事实,而不是文档修辞。RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。
第8章 External API v1
本章锚定"External API v1",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。
search/compose/templates
给读者的落地建议是:把search/compose/templates拆成最小可验证闭环。会员为 Luxury/Platinum 固定期限一次性通行证,支付覆盖支付宝、Stripe、OKX USDT 与 RNS,无自动续费与 Credits。具体到"External API v1",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为search/compose/templates补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"External API v1"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"search/compose/templates"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
Bearer 认证
先讲一个一线现实:Bearer 认证。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。分类器版本为 rnoise-taxonomy-2026-09-v3,共 47 个宏类;V1 为 7 类 902 词条,V2 为 10 类 350 词条。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"External API v1"要拆开的正是这一层:把"Bearer 认证"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"Bearer 认证"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
复用领域 DTO
从原理上看,复用领域 DTO的本质是约束传播:浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"External API v1"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,复用领域 DTO就会在三个月后变成线上事故。因此本章坚持一条铁律:复用领域 DTO的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"复用领域 DTO"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
到期失权
落到实现细节,到期失权必须经得起数字检验。会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"External API v1"的实践含义是,到期失权的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"到期失权"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:External API v1的核心是把"search/compose/templates"做成可验证的工程事实,而不是文档修辞。本机 benchmark 为 cold 124.51ms、warm p95 132.06ms,门禁为 cold 3000ms、p95 1000ms。
第9章 导出与下载授权
本章锚定"导出与下载授权",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。
export 的 TXT/JSON
先讲一个一线现实:export 的 TXT/JSON。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。原始 IP 不入库,只保存 HMAC 后的身份与限速主体;变量只登记名称与 SET/EMPTY 状态。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"导出与下载授权"要拆开的正是这一层:把"export 的 TXT/JSON"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"export 的 TXT/JSON"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
download 的分级
从原理上看,download 的分级的本质是约束传播:精确组合不存在时返回 NO_MATCHING_TEMPLATE 与候选组合;BPM/Key 为 Auto 时保留源字段,锁定时只覆盖输出快照。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"导出与下载授权"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,download 的分级就会在三个月后变成线上事故。因此本章坚持一条铁律:download 的分级的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"download 的分级"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
X-Accel-Redirect
落到实现细节,X-Accel-Redirect必须经得起数字检验。浏览器编译要求 Idempotency-Key,成功才事务扣减;失败、搜索、词典与额度查询不扣次数。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"导出与下载授权"的实践含义是,X-Accel-Redirect的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"X-Accel-Redirect"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
生产内部位置
再谈反模式。围绕生产内部位置最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。"导出与下载授权"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"生产内部位置"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:导出与下载授权的核心是把"export 的 TXT/JSON"做成可验证的工程事实,而不是文档修辞。Guest 为每持久浏览器身份总计 10 次成功编译;Standard 按 Asia/Shanghai 日界线每日 20 次;Pro 与 ADMIN 无限编译但仍限速。
第10章 收藏与项目的隔离
本章锚定"收藏与项目的隔离",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。
登录态要求
先讲一个一线现实:登录态要求。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"收藏与项目的隔离"要拆开的正是这一层:把"登录态要求"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"登录态要求"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
越权防护
从原理上看,越权防护的本质是约束传播:RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"收藏与项目的隔离"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,越权防护就会在三个月后变成线上事故。因此本章坚持一条铁律:越权防护的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"越权防护"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
删除语义
落到实现细节,删除语义必须经得起数字检验。SQLite 本地只读 Catalog 采用独立 FTS5 表、普通索引与预建随机序号,由 Worker Thread 以只读 node:sqlite 查询。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"收藏与项目的隔离"的实践含义是,删除语义的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"删除语义"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
审计
再谈反模式。围绕审计最常见的坑有三种:一是把历史能力当成当前能力写进方案,二是把本地验证通过写成生产已发布,三是为赶进度恢复已退役的兼容层。RNOISE 文档规范为此设了硬词:会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。"收藏与项目的隔离"要求作者在涉及 Generation、Track、播放器、上传、证书、Market、Credits 等退役域时,只能以"已退役"措辞出现;涉及生产状态无证据时,只能写 UNKNOWN。这种措辞洁癖保护的不是文风,而是团队的判断力。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"审计"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:收藏与项目的隔离的核心是把"登录态要求"做成可验证的工程事实,而不是文档修辞。生产 Catalog 由 PROMPT_CATALOG_DB_PATH 指向服务器数据盘,生产数据盘曾挂 V2(183295 模板),V3 切换待发布窗口。
第11章 patterns 与反模式
本章锚定"patterns 与反模式",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:生产 Catalog 由 PROMPT_CATALOG_DB_PATH 指向服务器数据盘,生产数据盘曾挂 V2(183295 模板),V3 切换待发布窗口。
Key 硬编码
给读者的落地建议是:把Key 硬编码拆成最小可验证闭环。技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。具体到"patterns 与反模式",建议你按"先读当前代码、再读 2.0-SETUP 与 TECH_FACTS、最后跑一遍验证命令"的顺序上手;任何与文档冲突的地方,以当前代码加验证输出为准。如果你能为Key 硬编码补上一条自动化断言(计数、回归一致率、性能水位三选一),那么"patterns 与反模式"的这一节就算真正被你掌握了,而不只是读过。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"Key 硬编码"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
前端越权
先讲一个一线现实:前端越权。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。Guest 为每持久浏览器身份总计 10 次成功编译;Standard 按 Asia/Shanghai 日界线每日 20 次;Pro 与 ADMIN 无限编译但仍限速。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"patterns 与反模式"要拆开的正是这一层:把"前端越权"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"前端越权"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
配额绕过
从原理上看,配额绕过的本质是约束传播:发布门禁链为 db:generate、prisma validate、lint、test、test:e2e、build、check:no-legacy-audio、db:verify-prompts、db:benchmark-prompts。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"patterns 与反模式"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,配额绕过就会在三个月后变成线上事故。因此本章坚持一条铁律:配额绕过的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"配额绕过"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
密钥轮换
落到实现细节,密钥轮换必须经得起数字检验。技术栈为 Next.js 16.3.4、React 19.2.4、TypeScript、Prisma 7.10、PostgreSQL,Node.js 24 LTS。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"patterns 与反模式"的实践含义是,密钥轮换的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"密钥轮换"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:patterns 与反模式的核心是把"Key 硬编码"做成可验证的工程事实,而不是文档修辞。本地 V3 全量构建扫描 358258 个 HTML,排除 3 个目录页,导入 358255 个模板与 2865739 个真实音乐变体。
第12章 安全章总结
本章锚定"安全章总结",围绕"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"的主线展开。阅读前请先确认基线:RNOISE 2.0 定位为跨平台 AI 音乐 Prompt 工程与曲风检索平台,不生成、不处理、不播放、不授权音频。
闭环一览
先讲一个一线现实:闭环一览。在 RNOISE 2.0 的语境里,这个问题不是风格偏好,而是工程正确性问题。PM2 目标拓扑仅 rnoise-web 与 rnoise-crypto-okx,旧 generation/track/credit worker 全部 retired。这意味着任何方案都必须先回答三个问题:事实来源是什么、边界在哪里、失败时如何可审计。本文"安全章总结"要拆开的正是这一层:把"闭环一览"从经验之谈变成可验证、可回归、可发布的工程构件,而不是停留在文档里的口号。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"闭环一览"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
检查清单
从原理上看,检查清单的本质是约束传播:本地 V3 全量构建扫描 358258 个 HTML,排除 3 个目录页,导入 358255 个模板与 2865739 个真实音乐变体。RNOISE 的做法是把领域规则下沉到模块的 domain 层,让 application 层只做编排、infrastructure 层只做适配。以"安全章总结"为例,正确与错误的实现差的不是代码量,而是依赖方向------一旦 Route Handler 里复制了本该属于模块的规则,检查清单就会在三个月后变成线上事故。因此本章坚持一条铁律:检查清单的判定逻辑有且仅有一个权威实现,其他位置只允许调用,不允许复述。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"检查清单"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
下一站发布工程
落到实现细节,下一站发布工程必须经得起数字检验。会员权限只由当前有效 MembershipGrant 解析,不从订单金额或旧积分推断;到期外部 Key 保留但立即失权。这些数字不是装饰,而是门禁:导入阶段先建临时库,过计数、完整性、FTS、哈希与性能门禁后再原子替换;任何一步失败都不允许半吊子发布。"安全章总结"的实践含义是,下一站发布工程的每一次变更都要能回答"哪个版本、哪个哈希、哪次 benchmark",答不上来就视为未完成。这种纪律看起来笨拙,却是 35 万模板规模下唯一睡得着觉的方式。沿"从 Guest 到 Platinum:Prompt 配额、API Key 与访问控制的安全闭环"主线,请把"下一站发布工程"纳入检查清单:先定位当前代码,再核对三份基线文档,最后用验证命令背书;缺一即降级为待验证。
本章小结:安全章总结的核心是把"闭环一览"做成可验证的工程事实,而不是文档修辞。SQLite 本地只读 Catalog 采用独立 FTS5 表、普通索引与预建随机序号,由 Worker Thread 以只读 node:sqlite 查询。
结语
安全章收束:配额是产品,Key 是契约,隐私是底线。最终站进入发布工程,看 RNOISE 如何把验证变成纪律。
版权与声明
- © DREAMVFIA UNION · RNOISE 2.0 技术专题系列,保留所有权利。
- 本文基于 RNOISE 2.0 当前仓库代码与
docs基线撰写,事实边界为:本地已验证 artifact 与代码即事实;生产线上状态未知处均已标注UNKNOWN;历史能力标注retired;规划中能力标注planned。 - 转载请联系 DREAMVFIA UNION 获得授权,并保留完整版权标识。