docs(架构): 澄清单端口红线只约束框架自身,扩展插件可开端口
主人 2026-10-07 口径补充:原先把这条红线读成「任何组件都不许开端口」过宽了。 - AGENTS.md §9:红线加限定语(只约束 Cyrene 框架自身);qq-obv11 那条已登记 例外升格为一般规则的实例;新增插件开端口的四条护栏(显式配置 / 默认绑 127.0.0.1 / 日志与审计 / 不得绕过身份判定)—— 护栏由主代理拟,待主人逐条确认 - Docs/api-client.md v0.88:澄清「插件监听端口不在契约范围内」;零破坏性变更, 无新端点 / 无新帧 / 无字段形状变化,路由计数不变(14 + 25 + 40 = 79) - README.md:用户侧表述同步 DevDocs 侧同步(不进 git):design/13 §0、design/09 §5、design/08 §4、恢复提示词红线节。
This commit is contained in:
1 parent
33ea7a830f
commit
5b8c7a3ef3
3 files changed
+18
-6
No files matched your search
@@ -36,8 +36,10 @@
|
||||
- 目的:防主会话上下文超限触发压缩;压缩后靠本文件 + `DevDocs/工作小结/00-当前态.md` 恢复锚点,继续当监工。
|
||||
|
||||
## 9. 全球红线(跨里程碑,必须遵守;违反即架构偏离)
|
||||
- **单二进制、单端口 `:8080`、零跨进程 IPC**:模块间同步走**进程内接口 + 依赖注入**(直接方法调用),异步走**进程内 `bus`**;**不另开监听端口、不 HTTP 互调**。
|
||||
- ♢ **已登记例外(主人 2026-10-04 裁决)**:`qq-obv11` 渠道的 **OneBot 反连(server)模式**需要独立 `net.Listen` 端口 —— **仅限该渠道的 server 模式**,且端口必须由配置**显式给出**(`listen_addr`),**不得默认开启**;其余渠道/模式一律不得新开监听端口。规格见 `design/08 §4`、`design/13 §0`。
|
||||
- **单二进制、单端口 `:8080`、零跨进程 IPC**(🔴 **本条约束的是 Cyrene 框架自身,不约束扩展插件**):框架模块间同步走**进程内接口 + 依赖注入**(直接方法调用),异步走**进程内 `bus`**;**框架自身不另开监听端口、不 HTTP 互调**。
|
||||
- 🆕 **2026-10-07 主人口径补充(原「豁免」升格为一般规则)**:**扩展插件不受本条约束** —— `plugins/` 下的渠道适配器与工具、MCP server、以及插件自己拉起的本地伴随进程/服务,**可以开自己的监听端口、可以有自己的进程形态**。这**不是「例外」,是插件的正当能力**;原先只为 `qq-obv11` 登记的那条例外,**随之由「例外」变为本条一般规则的一个实例**(该渠道规格仍见 `design/08 §4`)。
|
||||
- 🔴 **插件开端口的四条护栏**(主代理拟的落地口径,**待主人逐条确认**):① 端口/地址**必须由配置显式给出**,**不得默认开启、不得写死**;② **默认绑 `127.0.0.1`**,要对外暴露必须由 `.env` 显式决定(与框架暴露面同一套口径);③ **必须登记日志来源与审计**(谁开的、绑在哪);④ **端口不得成为绕过身份/权限判定的入口** —— actor 元数据 + 白名单 + 策略引擎仍是唯一判据,端口不是后门。
|
||||
- 「**零跨进程 IPC**」的原意**仍然有效**:**框架内部模块**不得为解耦而拆成多进程/多服务、不得 HTTP 硬编码 URL 互调(详见 `DevDocs/00-overview.md`)。**框架与插件之间的边界通信不在本条约束内**;但框架**不得**因此把自身模块拆出去变成插件。
|
||||
- **身份识别靠 channel 层强类型 `actor` 元数据 + 策略引擎**,**绝不靠提示词/LLM 判断**(主人/群聊/陌生人判定与权限永远由 actor 元数据 + 白名单 + policy engine 决定)。
|
||||
- **人格 = 身份**(**不限制能力**);**行为模式 = 呈现**(≠边界,可热切换、不构成能力边界);**能力全局全能**;**前端(Web)是第一公民**。
|
||||
- **IM 是镜像**:只 chat 文本,Web 不回流 IM;输出一律 chat 文本。
|
||||
|
||||
Reference in new issue
Block a user