- 变更规模:新增 514 / 修改 62 / 重命名 155 / 删除 4(归档重组与文档轮次) - .gitignore 修:`归档/**/db-cwd归一-备份-*/` —— 原规则写绝对层级(归档/db-cwd归一-…), 目录搬进 归档/配置与备份/ 后**静默失效**,43 MB 的 DB 备份又变成未跟踪 - .gitignore 补:嵌套 git 内部数据(归档/内嵌git-20261008/、归档/skills-git-旧线-20261007/dotgit-原样移出/) - .gitignore 补:运行态与部署副本(.workbuddy/collab/、.workbuddy/tools/、.workbuddy/.load-pending、.workbuddy/tmp-*) - .gitignore 补:备份件(*.bak-*) - 未跟踪文件从 2190 降到 890(其余为 归档/ 归档件与 .workbuddy/memory/ 知识文件,按口径入库)
63 lines
6.6 KiB
Markdown
63 lines
6.6 KiB
Markdown
# DSH 平台 — 记忆 · **设计口径(详)**
|
||
|
||
> 2026-10-01 从 `MEMORY.md` 拆出:这四条是**长期设计口径**(不常变),原文**逐字**搬到这里;
|
||
> `MEMORY.md` 只留**一行指针**,以腾出「会变的状态」的空间。
|
||
> ⚠️ 冲突时:**本文件的这些条目仍是权威**(⛔ 别以为搬走=作废)。
|
||
|
||
---
|
||
|
||
## 1. 承载两分(09-26 立 · 治「服务节点」歧义)
|
||
|
||
「服务节点」=**两件事**(区 Manager 权威 + Worker 承载),⛔ 别合成一个词。**公共承载**(服务别人:须常开/可达/有特权/不占主用机/受平台管辖)⇒ ⛔ **只有服务器能当**;**主权承载**(只服务自己的租户)⇒ **桌面机 ✅**;桌面当公共承载=**把信任根从平台搬进私人设备**。⚠️ **P6 修正=推荐「B 与 A 并存」**(47 维持自研不动+106 试点 K8S)。🔴 连"所有节点和设备"须先 **F1.5**(G1 未修|G6 无机制⇒规模越大越撤不回去)。📂 `交付物/AI1NET-三类节点结构调整可行性-20260926.md`
|
||
|
||
## 2. 形态元假设(09-21 立 · 最易犯)
|
||
|
||
⛔ 默认「一个控制面」=错 ⇒ 正确=**控制面联邦**(各区 Manager 各带 Worker/节点/设备)。**全文 ⇒ 定稿 `02-架构设计/覆盖网络-顶层架构全貌.md`(唯一权威)** ⇒ ⛔ 别凭本行做设计。🔴 **必背三句**:① 两张图分离=分水岭在根是否处于数据路径 ② 跟用户走/全局唯一/区域内唯一 三分 ③ 根密钥只管授权撤回签名者。🔴 **多根=any-of-N**(任一沦陷=全网沦陷;Manager 可升格 ⇒ N 台=N 根)。🔴 **F1.5(G1 序号+G6 撤根)=一切前置**。
|
||
|
||
## 3. 插件数据落点(硬标准)
|
||
|
||
🔴 **一插件一库 `dshs_pl_<pluginId>`** ⇒ ⛔ 不得拿实例本地 SQLite/文件当权威(只可缓存);内归属列 `user_id`/`room_id` 强制。⛔ `homedir()` 必错(实例 `HOME=ws`)。🔴 **47 代码根=`/opt/dshs`、106=`/opt/dshs-cluster`**(106 无 `/opt/dshs`)|`/opt/dsh`=平台数据根,三台同名|取 `DSHS_DB_URL` **只从 drop-in `cluster.conf` grep**。🔴 **装配协议=`link:`** ⇒ 待落地 4 处;软链目标须两机**同路径**。🔴 **列级 `maxBytes` 平台无强制点** ⇒ 唯一把关人=插件侧 `COLUMN_MAX_BYTES`;⚠️ **改声明后必回读 yaml 实际值**。🔴 **插件跑在「用户实例内」· IM 内核在「平台进程」⇒ 跨进程**:用户自配模型只有实例内可用 ⇒ 插件必须在实例内。📂 详见 `2026-09-23.md`
|
||
|
||
## 4. 其他线 / 基线 / 品牌
|
||
|
||
其他线 ⇒ `BRIEF.md`。🔴 **D4(09-18)跨云=目标形态**,⛔ 作废「须同云」。🔑 基线/档案号 ⛔ 不写死 ⇒ 现查 `state.py`+`INDEX.md`;分叉走 `git ls-remote` 裸 sha + `merge-base --is-ancestor`。🔴 品牌=「能力网络」/`CapabilityNet`|favicon ⇒ `PLAYBOOK-品牌与标识资产.md`。🔴 共享模型=管理员逐用户授权(`users.shared_model_granted` v11 默认 0)|🔴 **用户卷在 worker 上时,写 home 必须走 `UserFs`**(直写 `fs` = 静默空操作)⇒ ⛔ 不得 `cp`/`mv`/直写 `fs` 动 home。🔴 数据库 ⇒ `数据库/DB-00…03`。
|
||
|
||
## 5. 手机接入类功能 ⛔ 不得影响 WorkBuddy 本身的运行(2026-09-29 用户明令)
|
||
|
||
原话:「做这些功能都不能影响 workbuddy 本身的运行,要禁止这种锁死,技术实现上要严格遵循」⇒ **总则=单向依赖,fail-safe 方向=关掉自己**(崩/被杀/超时 ⇒ 只许"功能不可用",⛔ 不许"WorkBuddy 异常")。**七条技术条款 + 禁止清单 + V7 验收 ⇒ 定稿 `交付物/手机App经覆盖网络操作WorkBuddy-架构定稿v3-20260929.md` §0.5**。⚠️ 已犯过的反例:把长跑服务放进**会话后台任务** ⇒ 每轮输出唤醒宿主 ⇒ **永不空闲=用户看到"卡死"**(09-29 我违反 6 次);⛔ 也不得对**宿主正在跑的会话**做 `load`/接管、⛔ 不抢 `writer_occupied`、⛔ 不改其配置/进程、⛔ 无超时等待上游。
|
||
|
||
## 6. 配置外置线(140)
|
||
|
||
单一秘密副本=`config/platform.env`(不入库·600);优先级=**系统 env > 文件 > 代码默认**。🔴 drop-in 必留 `DSH_PLATFORM_DIR=/opt/dsh`(删 ⇒ 目录静默搬家)|改后**必须重生成服务器 `platform.env`**|涉密复扫须 0。
|
||
|
||
## 7. 覆盖网络线
|
||
|
||
入口=工作区根 `接续入口_覆盖网络线_20260916.md`(**§0 最新行+§2 首行=唯一依据**);⛔ 勿重做已完成棒。🔴 判据五条+坑清单全在该入口+`参数表_覆盖网络_20260917.md` ⇒ **⛔ 别凭记忆做**。🔴 域名唯一=`ai1net.com`;relay 候选 3 条(⛔ 别加伪多样性)|改候选链须「删 `directory.json`+二次重启控制面」才生效。🔴🔴 **中继走 443 ⇒ 功能全可用、⛔ 不用开任何端口**(`relay-direct`=443 兜底**中继入口**,⛔ 不是 P2P);**UDP `21100-21115` 只服务 P2P** ⇒ **可选优化**。
|
||
|
||
## 8. 会话类别与看板(10-01 用户口径 · 从 MEMORY.md 外置)
|
||
|
||
**四类会话**(同工作区,靠**标题两级前缀**区分,⛔ 不按 `cwd`):
|
||
|
||
| 类别 | 前缀形态 | 职责 |
|
||
|---|---|---|
|
||
| ① **主会话** | 无前缀 | **只管目标/方向**(不干具体活) |
|
||
| ② **协作会话** | 无前缀(`role==='协作会话'`) | **每类别一条**,干活 |
|
||
| ③ **唤醒会话** | `[唤醒]-<类别>-…` | **推**(没人推=断) |
|
||
| ④ **队列上报的跟进会话** | `[跟进]-<类别>-…` | **收**(没人收=断) |
|
||
|
||
- 🔴 **「接续会话」=形态,⛔ 非类别** —— 撞阈值时才产生,**继承被接续那条的角色**。
|
||
- 🔴🔴 **开工第 0 步 = 建齐三类**(唤醒/协作/跟进,**每类别一条**);少一类即断:
|
||
**没人推/没人干/没人收**。⛔ 别等"需要了再建"。
|
||
- ④ **跟进会话默认「长期活着」**(10-02 口径);投递**按类别**投跟进会话。
|
||
|
||
**看板读数(⛔ 别读错源)**:
|
||
- 主会话**左边**那一列 = **唤醒会话**(**随需求确定时创建** ⇒ 靠**位置**区分;「还没建」=**正常态**,
|
||
圆角矩形+外圈虚线)。
|
||
- 主会话**下方**那一排 = **只有协作会话**(判据 `role==='协作会话'`)。
|
||
- 🔴 读数一律取 **`sessions` 表**(唤醒会话前缀识别),⛔ **不读 `automations`**。
|
||
- 🔴 判「都空闲」**必排除它自己**(`SELF_SID` + 前缀 **两道**判断)。
|
||
- 🔴 **自动化只能开新会话**(⛔ 不能往里发消息)。
|
||
|
||
📂 完整规范与实现 ⇒ 技能 `session-mechanism` §2.3.0b~2.3.0e。
|
||
|