Files
dsh_shenxian/dsh-server-docs/INDEX.md
T
admin e6207aa691
build / build-and-scan (push) Waiting to run
chore(仓库对齐): 文档库结构治理 + IM/插件线落地
文档库:目录改为编号制(01-规范/02-架构设计/03-数据库/04-调整方案/
05-交接单/06-ops/07-scripts/08-skills/09-archive),顶层散文件归入 01-规范/;
INDEX.md 与 docs-manifest.json 重刷(档案 146 篇);旧目录名引用全量对齐。

IM 线:src/im/**(SDK / hub / store / presence / ws / gateway-token)、
src/web/routes/im.ts、src/db/plugin-data/**、src/supervisor/plugin-assembly.ts
及对应 test/**。

插件线:poc/{im-agent-bridge,im-connection-gateway,im-conversation-tabs,
business-plugins-im,carbon-mcp-probe}、src/web/routes/{sessions,overlay-device}.ts、
src/net/relay/{device-grant,instance-credential}.ts。

仓库卫生:清出 40 个历史误入库 / 已改名文件(34 个交接单归档 + 6 个旧结构,
本地均有副本);dsh-server-docs/.gitignore 补 tmp/;交接单不入库(政策)。
2026-09-24 07:25:16 +08:00

44 KiB
Raw Blame History

dsh 平台文档导航(INDEX)

首读 BRIEF.md(现状卡):30 秒对齐现行事实;本文件只管"定位篇目 + 状态"。 双端模型:本机 D:\github\dsh_shenxian\dsh-server-docs\(工作树,git 仓库 dsh_shenxian_doc)↔ 服务器 /opt/dsh/docs(部署镜像,root 600,无 .git,靠 scp)。 对账:bash 07-scripts/docs-sync-check.sh(退出码 0 = 全绿)。 最后核对:2026-09-12 — 篇数与规模不在此写死:本库由多会话并行改动,绝对值数十分钟即失效(同日实测 83 → 85 → 87,3 次作废);一律以 python3 07-scripts/docs-manifest.py 复跑结果为准。代码 HEAD 看服务器:git -C /opt/dshs log -1(最后核对值 ebe8075)。域名 ai1net.com(旧域 alotbuy.com 自 2026-09-19 仅作 301 过渡装置)。


一、按场景快速定位

我要做什么 先读
访问入口(当前域名) 门户 https://ai1net.com;用户实例 https://<用户名>.ai1net.com | 04-22(迁移+回滚)
重建 / 交接部署 DEPLOY-本部署.md(拓扑·目录·env·依赖·脚本族·构建/部署/回滚) | 档案 19 §C9
理解架构 / 多租户隔离 01-规范/01-规划与架构.md(一~五、九、十三) | 09-archive/ 全文
日常运维(重启/备份/token/KEY/排障) 01-规范/02-运维手册.md | 01-规范/03-路线图与待办.md
做一次平台改造(完整流程) 08-skills/dsh-change-workflow/SKILL.md:六阶段 + 红线 R1-R11 + 档案模板 + 并行调度协议 + 详情已拆到 references/(9 档)
开源导出 / 发新版本 08-skills/dsh-opensource-release/SKILL.md:硬规则 R-O1–R-O14(源仓库只读 / 探针 0 命中 / 去插件 / 不带文档与 skill / 双轨授权:AGPL-3.0 原样 + 商业轨独立文件)+ 脱敏映射表 + 迭代 SOP + 验证七件套 · 多远端推送(GitHub + CNB)+ 详情已拆到 references/(5 档);工作根在本机 E:\ProgramData\AI技能\dsh-ai1net-github\
排查业务插件故障(没 UI / 装不上 / 改了没生效) 08-skills/dsh-plugin-diagnose/SKILL.md:三层归属 + 三把尺子(inject 差集 / glibc 直测 / 产物插探针)
换电脑 / 改了工作区路径,规则会不会丢 08-skills/dsh-env-bootstrap/SKILL.md:常驻规则快照 + --check 校验 / --inject 注入 / --env-check 环境自检(默认只报不改)
跑跨会话长任务(自动接力) 08-skills/dsh-auto-handoff-chain/SKILL.md:六件套 prompt 骨架 + 登记门禁 + 六条实测防护 + 排期两条铁律(首个/唯一接续棒 = 收口 + 5~8 分钟 · 同一时刻只挂一个接续棒) + §3.5 域锁四个「假绿」坑(两侧域键须一致 · 非 ASCII 会话名须加 cksum · 二次抢锁须合并不重建 · trap 单槽位) + §0.6 工作区归属五律(含 🔴 cwds 只写反斜杠+大写盘符 ⇒ 否则同一工作区裂成两个同名分组) + §0.7 活库改动铁律(workbuddy.db 属 WAL 三件套,⛔ 禁文件级 cp/mv) + 复跑脚本 07-scripts/chain_report.py
任何工作区开工的通用规矩(该不该问 / 怎么排版 / 归属 / 锁 / 接力 / 去 AI 味) 08-skills/agent-operating-rules/SKILL.md:上抛唯一判据 + 排版十条 + 去 AI 味 + 工作区归属三律 + 一把锁 + 提交·批量边界 + 交付门禁 + 多棒接力(references/ 4 篇细则)
排查线上运行问题 / 事后溯源(跨机日志) 07-scripts/dshlog.mjs(代码仓):collect 拉取归档 → q 查询 / timeline 时间线 / watch 巡检;用法与实测基线见 04-调整方案/129-日志采集与巡检-方案C实现.md
看还有什么没做完 01-规范/03-路线图与待办.md §二 | 05-交接单/README.md §一(已规划待执行)
改前端页面(强制基线) 01-规范/06-工作台UI规范.md
改实例 UI 分区(设置面板) 01-规范/07-实例UI分区登记表.md(哪个包提供 / 源码在哪 / 能不能改)+ 01-规范/06-工作台UI规范.md
写一个业务插件(自研 / 第三方 / 交付前自检) 01-规范/08-插件开发与对接规范.md:开工四问 + 包形态 + 数据面声明(唯一入口 dsh.data.schema;零数据面⛔ 不要写空声明)+ 文件落点 D4(⛔ 禁 homedir())+ 投放链路 + 错误码表 + 提包前自测清单;数据面细节仍以 03-数据库/DB-03 为准
插件作者的 SDK / 扩展点契约(能力面) 01-规范/09-IM插件SDK与扩展点契约.md:七点 / 三条保护 / 两档 / 数据面 / 示例 / 怎么验(原 docs/ 单文件目录,2026-09-23 归并为根级编号件)
红线与硬约束 README.md §红线(含 R7 禁批量全仓写入、R8 中断用户须先知会)| 04-07
插件兼容性预检(导入/上传即判定) 04-71(判据 + PoC + 三层防线)|05-交接单/T05(执行单)|07-scripts/plugin-compat-check.mjs(可在服务器直接跑)
实例崩溃循环 / 插件不兼容 04-70(anysearch 与 dsh-llm assertNever 不兼容;判据「重启后错误是否变化」)|04-20(自愈熔断)|04-25(崩溃循环前例)|02 §C.4
锁机制(防并行冲突) 04-73(强制钩子)|04-69(三把锁建立)|05-交接单/README.md §一·§三·§六|07-scripts/{handoff-guard.sh,op-lock.sh,lock-guard-hook.py}
多会话并行 / 冲突治理 04-69(两级文档锁 + 服务器侧操作锁 + commit 常态化)|05-交接单/README.md(占用锁 / 写者归属 / §六 服务器侧锁)|07-scripts/handoff-guard.sh、07-scripts/op-lock.sh
插件管理面 04-16(三层归属)| 04-31(门户双 Tab)| 04-57/04-60(设置面板分区)
搜索 provider / 联网搜索 04-64(接入 AnySearch)|04-65(启停与 web provider 联动)|04-66(P0 误报与 admin 显式信任)
「能力管理」section UI 04-67(按 UI 规范重做)|04-36/04-38b(分区铺开 / 术语统一)|04-68(启停属主污染根治)|04-100(「我的技能」分组 · 09-15)|04-101(改名「能力管理」+ tab 分页 + 卡片三行 + DeepSeek 改名 · 09-15)
安全 / 暴露面 04-14(出网护栏)|04-39(可见面收窄·封 loopback)|04-41(上传加固)
技能共享层 / 管理面 04-10(bundledSkillDir)|04-11(API+页面)|04-40(挂载修复)
会话/登录跳转 · 断连恢复 04-13(冷启动 404)|04-24(实例侧 401)|04-49(回收后反馈)|04-51(401 透明重放)|04-72(回收/关闭后回到页面自动唤醒)
实例易用性 04-45(老会话档位提示)|04-56(实例助手)|04-59(启动动画)
实例资源 / 配额 04-58(内存口径 + 配额 384M)|04-38a(边界:无磁盘配额)
VoxEMW 04-12(摘要)| (2026-09-24 已清出项目:未采纳草案) 两份全文
历史全量时间线 (2026-09-24 已清出项目:旧全量计划,结论已在 04-调整方案/)

二、全量清单

状态摘要(机器生成,勿手改):档案 123 份(04-*),另含根级编号 5 条(01/02/03/06/07),另有非编号行 14 条(README / INDEX / 技能 / poc 等)—— ✅ 22 | 🔄 5 | 🔍 1 | 📋 23 | 🟡 1 | 未标记 76。复跑 python3 07-scripts/docs-index-stats.py 取数,--write 就地刷新本行。 分层与机读明细(路径 / 日期 / 字符数 / 被引次数 / tier,可 jq 先筛后读):docs-manifest.json;复跑 07-scripts/docs-manifest.py 即刷新。 图例:✅已落地 | 🔄维护中 | 🧪PoC | 📝待开发 | 🔍核查完成 | 📋评估 | 🟡保留兜底 | 🗄归档|🔧修复|🔴|🚧|❓|PoC 实证完成(插件 v0|已上线|生效|已实施|已实施 + API 全链路验|已冻结|已落地 + 验证通过|审计已完成 → 加固项待用户|已上线,页面全部 200|已封板,实施中|核查完成 → 收敛项 H1-|✅ 已实施并在 admin/|🔄 批次 1 因改走 bun|方案 A + handoff|根因已定位并修复(nginx|修复已编译(CI ✅),待重|已实施并上线|已修复并上线(服务已重启|清单建立|✅ 已实施并端到端验证|✅ 已实施并 live 验证|✅ 已实施并视觉验证|🔍 核查完成,P0 待决策|✅ 已实施(commit 见|✅ 已实施(commit |✅ 已修复(commit |🔍 取证完成|🔍 核查完成|✅ 已实施(99de8c5|✅ 已落地|✅ 已修复|已落地并实测验证|已落地并端到端验证|🔄 第一批已修复|✅ 已实施(两批):第一批|✅ 已实施并端到端验证(co|✅ 已实施并验证(服务器已生|admin 侧已实施|✅ 已部署并生效(服务器 |✅ 已实现、已验证、已部署|✅ 已完成并部署|✅ 全部完成并验证|✅ 已完成(2026-09-|✅ 已止损|✅ 已落地并部署(2026-|✅ 已完成并部署(2026-|✅ 已实现并单点验证|✅ 已落地并实测验证(配置|📋 标准已立|✅ 代码改造 + 组件级验证|✅ 已落地并验证(服务器 |✅ 已部署并验证(2026-|✅ 已修复并部署|📋 评估中|🚧 执行中(R0 已完成|🚧 代码完成、产物已出|✅ 已完成并上线验证|✅ 已上线并端到端验证(后端|✅ 已修复并验证(源仓 c|🔄 进行中(L2 机制级已验

号 状态 一句话
README 🔄 文档库总说明、模块一览、红线、使用约定(档案清单唯一来源)
INDEX 🔄 本文件:场景速查 + 状态总览
01 ✅ 背景/架构/目录布局/dsh 分层/归属矩阵/安全边界
02 ✅ 迁移、备份恢复、域名接入、uid 排障、命令速查(正文为历史,现行以附录 C 为准)
03 🔄 OQ 结论、已完成清单、进行中/待办、历史决策
04-01 ✅ 登录直达 URL 自动带 launch token
04-02 ✅ 权限边界收紧 + DB 加固
04-03 ✅ API KEY 收归管理员统一管控
04-04 ✅ 注册/审核/删除用户闭环
04-05 PoC 实证完成(插件 v0 插件化可行性 + PoC(PoC-2 三项已复核:①不做 ②已实现 ③作废)
04-06 已上线 登录直达会话窗口 v1+v2
04-07 生效 升级红线(禁自动取最新版)与独立升级流程
04-08 ✅ last-wins 单活跃会话 + idle-reap 常驻上限
04-09 已落地 角色化 profile patch 裁剪 client 插件
04-10 已实施 共享只读技能目录(bundledSkillDir)env 注入
04-11 已实施 + API 全链路验 技能管理面 API + 页面(zip-only 两阶段替换)
04-12 已冻结 VoxEMW 全云 API 化调研 + M1 落地
04-13 已落地 + 验证通过 登录直达冷启动竞态 404 修复
04-14 审计已完成 → 加固项待用户 会话敏感信息暴露面审计 + nftables 出网护栏
04-15 已上线,页面全部 200 三页 401 守卫跳登录 + 核心插件开关收归 admin
04-16 已封板,实施中 页面导航定稿 + 插件三层归属模型(folder_plugins 废弃)
04-17 核查完成 → 收敛项 H1- 工作区选择器暴露面核查(P1/P2 边界判定)
04-18 ✅ 已实施并在 admin/ 目录选择器收敛为仅见自有目录(v3 定稿实测,含 admin)
04-19 🔄 批次 1 因改走 bun 方案与代码全面审查(代码 10 项 + 文档 8 项)
04-20 方案 A + handoff 崩溃自愈:指数退避 + 熔断 + 观测(含 live 实测)
04-21 根因已定位并修复(nginx guest「卡顿」排查(根因=nginx proxy_buffering 已修)
04-22 已上线 域名迁移到 alotbuy.com(含 4 个踩坑与回滚)
04-23 修复已编译(CI ✅),待重 实例内 AI 能力与权限限制核查(合成根补 /bin 修复)
04-24 已实施并上线 实例侧 401 自动恢复(freshAuthUrl 302 带新 token)
04-25 已修复并上线(服务已重启 实例崩溃循环修复 + not_running 兜底
04-26 清单建立 dsh 升级耦合点与回归清单(官方包零改动)
04-27 ❓ MCN 工作台插件平台化评估(3 处 P0 必改)
04-28 ✅ 用户数据清理三件套(ws-cleanup / session-gc / purge-trash)
04-29 ✅ 已实施并端到端验证 官方白名单插件来源(awesome-dsh-plugin,仅预构建可导入)
04-30 ✅ 已实施并 live 验证 编排器孤儿实例清理(spawn 前清 stale scope)
04-31 ✅ 已实施并视觉验证 插件管理页双 Tab + 说明为主视觉
04-32 🔍 核查完成,P0 待决策 mcntimo 会话取证与沙箱 P0 核查
04-33 ✅ 已实施(commit 见 实例权限默认档位改为完全权限(env 开关)
04-34 ✅ 已实施(commit ` 功能插件启用探活 + 逐插件隔离
04-35 ✅ 已修复(commit ` ws-cleanup 误删平台 bundle 包修复
04-36 ✅ 已实施(commit ` 「功能插件」分区铺给普通用户 + 新用户自动铺
04-37a 🔍 取证完成 guest 会话取证与平台缺陷清单(P0-1 档位/P0-2 零技能)
04-37b ✅ 已实施(commit ` 功能插件分区 v0.2:官方 token + i18n + 交互升级
04-38a 🔍 核查完成 实例软件安装共享 / 网络与安全边界核查(S1-S3 缺口)
04-38b ✅ 已实施(`99de8c5 术语统一「业务插件」→「功能插件」
04-39 ✅ 已落地 实例可见面收窄(/etc 白名单)+ 封宿主访问(H5)
04-40 ✅ 共享技能层挂载修复(补 bwrap --ro-bind)
04-41 ✅ 技能上传安全加固(symlink/zip bomb)+ 用户技能启停
04-42 ✅ 已修复 实例共享 Python 运行时 + 会话取证复核(修 /etc/alternatives)
04-43 ✅ root 污染用户工作区 → 属主自愈
04-44 ✅ 基础运行时版本冻结(PYTHONNOUSERSITE + USERBASE)
04-45 ✅ 存量会话「新开会话」提示(选提示不选迁移)
04-46 ✅ 实例共享工具 jq / ripgrep / ffmpeg
04-47 ✅ admin「运行环境」管理页(含版本漂移告警)
— ⚠️ 编号 48 未使用(跳号;不影响检索,勿补占)
04-49 ✅ 已落地 实例回收后首次访问的反馈与自愈(wake.html 过渡页)
04-50 ❓ 会话过期自愈注入脚本(已被 04-51 在传输层取代,保留兜底)
04-51 已落地并实测验证 实例侧 401 透明重放(含 SSE 自动重连)
04-52 已落地并端到端验证 新用户实例无法启动(picker 三处连锁缺陷)
04-53 🔄 第一批已修复 文档质量审查与精简(含 37/38 编号冲突立项)
04-54 ✅ 已实施(两批):第一批 文档信息架构优化(BRIEF 现状卡 + 机读清单)
04-55 🔍 取证完成 guest 最新会话取证与优化项(档位会话级播种)
04-56 ✅ 已实施并端到端验证(co 实例助手:我的文件 / 能力清单 / 档位提示 + 文件下载端点
04-57 ✅ 已实施并验证(服务器已生 设置面板「用户管理」入口 + 全员安装
04-58 ✅ 已实施并验证(服务器已生 实例内存优化与配额下调(512M→384M + 编译缓存)
04-59 ✅ 已实施并验证(服务器已生 重连反馈:实例启动中的加载动画
04-60 ✅ 已实施并验证(服务器已生 设置面板分区改名:功能插件 → 功能管理
04-61 ✅ 已实施并验证(服务器已生 插件管理页:官方插件列表加高 + 页面底部留白 200px
04-62 ✅ 已实施并验证(服务器已生 插件目录:缓存状态可见化 + 「重新拉取目录」按钮
— ⚠️ 编号 63 未使用(跳号;该号只出现在当日工作日志的「事故 63」里,无档案,勿补占)
04-64 admin 侧已实施 接入 AnySearch 搜索 provider(admin 侧已实施;待端到端确认 → 铺普通用户)
04-65 ✅ 已部署并生效(服务器 ` 功能插件启停与 web provider 配置联动(已部署生效:服务器 lib/ 00:13 构建 → 00:15:23 重启即载入,08:02 再载入;§7.3 第 3 条「anysearch 覆写
04-66 ✅ 已实现、已验证、已部署 业务插件 P0 误报 → admin 显式信任(fail-closed + 逐条回显 + 留痕)
04-67 ✅ 已完成并部署 「功能管理」section 按 UI 规范重做 v0.2.4
04-68 ✅ 全部完成并验证 候选池启停的 root 属主污染根治(setpriv 降权 + 属主自愈 + 清存量)
04-69 ✅ 已完成(2026-09- 并发治理落地(文档库 commit 常态化 + 服务器侧操作锁 + 权限统一 + 代码库留路标)
04-70 ✅ 已止损 anysearch 插件与 dsh 0.1.2-rc.1 不兼容 → 实例崩溃循环(已止损;待决:能力保留/下架)
04-71 ✅ 已落地并部署(2026- 插件兼容性预检:导入/上传即判定(判据 A semver 依赖范围 + 判据 B 运行时导出符号;已部署 8d19e89)
04-72 ✅ 已完成并部署(2026- 实例被回收/关闭后,回到页面自动唤醒并重建连接(不再需要手动刷新;b23e386)
04-73 ✅ 已实现并单点验证 让锁真正拦得住人:措辞修正(guard/交接单)+ PreToolUse 强制钩子(无锁拒写;⚠️ 待 /hooks 审核启用)
04-74 ✅ 已落地并实测验证(配置 实例内存治理:V8 老生代上限 256→160 MiB(走平台预留的 DSH_INSTANCE_NODE_OPTIONS,零代码改动)+ 采样脚本加阈值告警(85% × 连续 3 次
04-75 📋 标准已立 插件评估新增两维度(接档案 71):托管友好性 H1–H4(向浏览器交付绝对 URL = 阻断;硬编码 loopback / 自建监听 = 警告)+ 资源成本(加载 rss 增量,>3
04-76 ✅ 代码改造 + 组件级验证 dsh-univer-office 平台适配改造(档案 75 首个落地样本):gateway 加 unix socket 传输(UNIVER_DSH_GATEWAY_SOCKET,**不设则完
04-77 ✅ 已落地并验证(服务器 ` 回到页面自检 + 就地恢复(恢复过程可见化):判据从「进程在不在跑」改为「页面能不能连上实例」(新增实例侧探针 GET /,2.5 秒超时;404/405 → 降级回旧判据,绝不误报)+
04-78 ✅ 已部署并验证(2026- 崩溃熔断:冷却期 + 告警(修档案 77 §八 遗留 1):熔断态改为跨轮存活(不再被 resetCrashState() 清空)+指数冷却(10 min × 2^(n-1),封顶 6 h),
04-79 ✅ 已修复并部署 插件启停的两处平台缺陷(2026-09-13 发现,P0 未修):① 隔离定位循环 uninstall 缺 await → unhandled rejection **把整个 orches
04-80 📋 评估中 架构与功能优化评估(保留功能前提下的重构方向)+ 去平台痕迹:不推倒重来 —— 平台本体就是要保留的功能;今天几次事故根因全是「层层补丁叠加」(模板转义把注入脚本写崩 ×2、配额与插件集合脱钩致
04-81 🚧 执行中(R0 已完成 ① 定下一套命名:对外叫「工作台」、内部统一前缀 dshs(替换 dshs);
04-82 🚧 代码完成、产物已出 ① R2 的 R5 权限影响评估已在档案 81 §9.2 出齐并获批(扩大点=实例内出现可操作的管理入口 ⇒ 仅 admin 可见 + 只读 + 写操作回跳)。⚠️ **本档内部 16 份重复(1
04-83 ✅ 已完成并上线验证 ① 查实:登录页用的是 design.css —— 一套深色 OS-desktop 体系,与 06-工作台UI规范(强制基线、冲突时以它为准)全面冲突;
04-84 ❓ 实例内存配额口径统一(消灭「388 MiB」误报)
04-85 ✅ 已上线并端到端验证(后端 ① 原先平台是「统一 KEY」——resolveApiKey() 显式忽略入参 userId,不管谁 spawn 都注入 admin 那一把;② 本轮改为两层:**用户自己的 key 优先,没
04-86 ✅ 已上线并端到端验证(后端 ① 平台所有服务/文件 API 都是 request.user.id 语义(desktop.ts 头注释原文 "one user can never address another user's file
04-87 ✅ 已上线并端到端验证(后端 平台自建「模型设置」(官方「设置 → 模型」页在平台环境必然报错 ⇒ 弃用它):① 官方「模型」分区对全角色(含 admin)隐藏 —— 判据是浏览器页面的 loopback 判定(真实域
04-88 ✅ 已修复并验证(源仓 `c 内置 dsh 安装路径按序探测(修 P1 静默失效):平台三处把内置 dsh 目录写死成 /usr/local/lib/node_modules/@deepseek-ai/dsh —— 而 `npm
— 🔍 档案 82–86 尚未登记进本表(本轮发现;属别人 lane 故未代加):82 R2 管理面就地化|83 登录注册页对齐|84 内存配额口径统一|85 模型密钥开放给用户自配|86 admin 跨用户实例管理 + 两处改名。待收口会话补
— 🧪 04-调整方案/poc/portal-entry/:portal-entry 插件源码(v0.5.1)
06 🔄 前端 UI 强制基线:Token/布局/组件/交互/9 条已知坑
07 ✅ 实例 UI 分区登记表:settings.section 的 id/order/label → 提供者 → 源码 → 可改性 + 定位套路(含"中文文案要同时搜 UTF-8 与 \uXXXX")
04-89 🔄 进行中(L2 机制级已验 对话内文件预览:采纳官方推荐库现成插件 @softspark/dsh-file-preview(65 KB,包住官方 openWorkspacePath 接管"点文件"手势;兼容预检 ok、已启用、L5
04-90 🔄 进行中(阶段 1 通过 > 目标版本 = 0.1.5-rc.1(npm latest;用户材料里插件 peer 也是 ^0.1.5-rc.1,三方自洽)。
04-91 ✅ 已上线(`busines 「模型设置」页复刻官方交互:换行根因是 4 列表格 auto 列宽 ⇒ 改官方卡片行(两侧 nowrap)+「新增」改两步式(两个虚线按钮 → 卡片主字段只剩「API 密钥」);顺修「由
04-92 ✅ 已上线 官方推荐插件列表按 dsh 版本过滤:官方目录不带 dsh 版本字段 ⇒ 平台侧逐包查 npm 声明与平台真实版本比;默认隐藏「仅兼容更旧版本」,「需更高版本」橙色标注。⚠️ 两处静默降级已钉住:
04-93 ✅ 已上线(平台后端已构建重 兼容判定收口:① 「单测长期红」真相 = 服务器源码落后于 git(本机 48/0 全绿)⇒ 同步即修;② 伞包 @deepseek-ai/dsh 收口到 `dsh-install.platformP
04-94 ✅ 已上线(平台后端已 `n 实例内存口径定案(用户裁定 base 448 / max 1024):两侧常量(编排器 instanceMemMb() ↔ 插件客户端 MEM_*)收成一份事实 = **BASE 448 / MIN 44
04-95 ✅ 已上线 HTML 外壳缓存治理 —— 修「Failed to load plugins」根因 + 流程违规自审:页面报 `client-modules: bundle script …&rev=… failed to l
04-96 ✅ 已上线(平台后端已重建重 实例内存与插件开关解耦 → 「基础 MIN、最多浮动到 MAX」(用户两段原话:先「不要受插件开关影响,只受 min 和 max 值影响」,再「改成基础 min 最大可以浮动到 max」):平台侧 = cgrou
04-97 ✅ 已上线 /plugins/ 合并脚本补 ETag + 304 短路(承 96 之后查出的真缺陷,与当日故障无关):官方 dsh-client-modules 把全部客户端插件拼成一条 11 MB 脚本(`
04-98 ✅ 已上线 治本:陈旧 dsh-auth-* cookie 回写清理:dsh 每次实例(重)启动都换 dsh-auth-<随机> 的 cookie 名,平台此前只在转发时丢弃旧的、从不回写浏览器 ⇒ jar
04-99 🔄 已落地待生效(钩子已装 > 1. 根因 = 拦截点错位(不是"AI 不听话"):既有「提问闸门」hook 的 matcher 是 ^AskUserQuestion$,只能拦工具调用;实测本工作区宿主日志 `tool=AskU
04-100 ✅ 已实施并投放(`busi 结论:在既有「功能管理」section 内新增「我的技能」分组(不新开 section),用户在同一页看完并管理「功能插件 + 我的技能」两类功能;技能行支持 上传 / 启用 / 停用 / 删除,
04-101 ✅ 已实施并投放 结论:分区改名「能力管理」(label 级),页内改为 tab 分页(功能插件 / 我的技能,各自独立操作),插件卡片的中文用途描述从 1 行放宽到 3 行(.bp-plugDesc)
04-102 ✅ 已实施并投放 结论:语言切换搬进 @dsh-local/portal-entry 的「用户设置」分区(id user-settings,order 103),
04-103 📋 规划态 / 未实施(本轮 客户端安装 + 覆盖网络互联 · 可行性评估(规划态 · 未实施):判定 ✅ 可行,且现有架构已给出约 80% 形状(soft 档实例=裸子进程 ⇒ 无需 root;Worker 拨出式反向隧道 ⇒ **节点
04-104 📋 规划态 / 未实施(架构 覆盖网络 · 全球架构复盘(规划态 · 未实施):五层架构(控制面 / 会合 / 骨干·中继 / 数据面 / 观测)+ 12 条必须内建特性 + 10 类风暴类型学 + 流量组织五原则 + 流量预算表 +
04-105 📋 规划态 / 未实施(设计 覆盖网络 · 骨干层方案(规划态 · 未实施):多中心骨干(≤10–20 成员、全互联;每节点只连 1–2 个骨干)+ 选择性加入。三条硬约束:接入 / 成员 / 可见三分离 · **骨干资格只能控制面签
04-106 📋 规划态 覆盖网络 · 百台规模推演 v2(规划态 · 纯文字推演):⚠️ 含前提级纠错(v1 作废)—— 用户纠正「单机用也要互联」;错因 = 把「租户维度收窄」误当成「网络维度收窄」。100 台
04-107 📋 规划态(文字推演 覆盖网络 · 千台全场景推演(规划态 · 纯文字推演):1000 台异构 × 11 场景 + 流量预算总表 + 瓶颈排序。🔥 第一瓶颈 = presence(1000 人大房 ≈ **16,700
04-108 📋 规划态 / 未实施 覆盖网络 · 游戏专项(MMORPG 2D/2.5D · MUD · 传奇类)(规划态 · 未实施):⚠️ 判定由「不合适」修正为「最匹配」(该类游戏天生服务端权威 + tick 驱动 + **AOI 九
04-109 📋 规划态(全网调研稿 覆盖网络 · 调研:游戏网络特征与单房间群聊上限(规划态 · 全网调研稿,数值均标来源):游戏侧每玩家 2–20 KB/s、同步 5–20 Hz、jitter > 20 ms 即 desync;群
04-110 📋 规划态(技术答疑稿 覆盖网络 · 答疑(群聊+agent / 备份 / 迁移提速 / 传输保密)(规划态 · 未实施):① 群聊=应用层的事(覆盖网络只给「可达」);agent 四条硬约束(⛔ 禁止 agent 直接
04-111 📋 规划态(补遗复盘稿 覆盖网络 · 补遗与参考方案(规划态 · 未实施):互联游戏 ✅ 但由游戏形态决定(锁步/回合/异步最友好;FPS/MOBA 64+ ❌ 不合适,P2P 无法反作弊);补遗 24 条(身份与账户
04-112 📋 规划态 / 未实施 覆盖网络 · 九大瓶颈落地方案(规划态 · 未实施):把 107 的九大瓶颈逐个给成可执行做法 + 验收判据(含 Slack / SCCM·BranchCache·Delivery Optimizatio
04-113 ❓ 覆盖网络 · 传输方案取舍(开放端口 vs 自研 relay)(决策稿):逐条对比 5 种传输形态,定下自研 relay + 回环监听 + 中继切流路线;⛔ P4(SSH 版中继 / 32023)判**不
04-114 ❓ 覆盖网络 · 应用场景推演完成度 & 方案待完善清单(检查稿):逐场景打勾哪些已推演、哪些仍缺;作为后续补遗的取数底稿
04-115 ❓ 覆盖网络 · 「插件 vs 改内核」架构判断:结论 = 走插件层(不改官方 dsh 内核,红线 R2);给出插件化边界与代价清单
04-116 ❓ 覆盖网络方案 · 问题逐条推演与解决方案:把散落疑问逐条编号推演并给解法,是 103–112 之前的问题总账
04-117 🔄 覆盖网络 · 参数表与观测口径(唯一一张):所有可调参数的单一来源(含「⛔ 不改」清单:RELAY_FAILOVER_DEADLINE_MS / HB_SEC / COOLDOWN_MS=0
04-118 已完成使命 · 仅存档(20 会合 / 中继从 Manager 拆分 · 取证与改造方案(进行中):S0–S4 分步 + 每步验收 / 回滚;起因 = 重启会收掉实例 scope 而无 reconciler
04-119 ❓ 集群化改造方案 · Manager / Worker 模式:D1–D5 已定(⏳ 仅 D6 未做)+ 数据分层判据(归属/租约只 Manager 写 · 跟用户走放实例 home · 本机运维放 Work
04-120 ❓ 跨节点迁移 & 节点自举 · 完整流程方案:用户实例在节点间搬迁的完整流程与自举条件
04-121 ❓ 项目代码 · 分层范式与迭代风险评估:代码分层 P0 已立;给出各层边界与「层层补丁叠加」的返工风险
04-122 规划稿 guest 迁移(w-47 → w-106)与共享重建方案:存量 guest 落 106 的搬运步骤 + 共享面重建判据
04-123 ❓ 方案规划方法 —— 从覆盖网络线提炼:把本线的规划手法沉淀成可复用方法论(判据优先 / 单一来源 / 假绿识别)
04-124 ❓ 文档无效信息审计报告:对文档库做「无效信息」体检,输出应删/应改/应合并清单(报告,未执行)
04-125 ❓ 会话接续机制 · 问题复盘与修复:复盘「接续为何断链/为何空转」,产出修复项(排期两条铁律 = ① 首个/唯一接续棒 = 收口 + 5~8 分钟〔原记 2~5,2026-09-18 用户更正〕②
04-126 🔄 会话接续规范:token 超限后如何无损继续:接续六件套 prompt 骨架与登记门禁的规范文本
04-127 ❓ DSH 平台客户端化部署方案 —— 单机自用:B 档(单机自用)形态下的客户端化部署路径;⚠️ 真正硬阻塞 = 平台调用层(Windows 裸名 spawn ENOENT)
04-128 ⏳ 待评审 DSH 桌面客户端开发方案 —— 基于官方 Electron 壳迭代(待评审 · 只做规划不含代码):复用官方壳 vs 自建的取舍与分发/版本矩阵
04-129 ✅ 已实现 · 本机实测通过 日志采集 · 实时巡检 · 事后溯源(方案 C 实现):不装新日志服务(否 Amber / 否 Loki+Alloy),用 07-scripts/dshlog.mjs 把 47/106 journald 拉回
04-133 📐 规划完成 · 待执行(第 🔴 序㊺ 实测判「D 本轮不实现」(真实首屏包 23 块 0 个低熵块、60 份真实独立内容 0 份低熵 ⇒ D-1 无对象可稀释、D-2 前提不成立)⇒ 剩 **C 域分离 + 判据重裁
04-134 ✅ 注册页人机验证与邮箱验证码(2026-09-19 落地 · 线上实测通过):注册 = 用户名 + 密码 + 邮箱验证码 + Cloudflare Turnstile(✅ 密钥已配、已启用;
04-135 ✅ 旧域 alotbuy.com 从项目移除(2026-09-19 落地):代码 / 服务端 / 文档技能三层收敛为 ai1net.com 单域;旧域站点降级为 301 过渡装置(保留 ACME +
04-136 🔄 待执行(已立项,未开工 控制面按两台中继取并集 —— 立项交接单(2026-09-19 立项 · 未落地):平台 web 层只取 47 中继 ⇒ 106 中继不被使用;根因链 7 行(取址路径 `src/web/server.t
04-137 ✅ 品牌标识改造 —— 去 DeepSeek 图形 → 平台自有标识(2026-09-19 上线):四页 + favicon 一并替换 —— login / register / admin 页头
04-138 ✅ 已上线并端到端验证(控制 平台共享模型 —— 管理员逐用户授权(默认关闭)(2026-09-19 上线):新增列 users.shared_model_granted(v11,默认 0),**生效 = `granted ∧ e
04-139 ✅ 已上线(静态资源直覆,无 品牌中文名:能力枢纽 → 能力网络(2026-09-19 上线):其他语言仍 CapabilityNet(en 词条即回退);落点四处 = i18n 中文词条 / admin.html 顶栏 / **`f
04-140 ✅ 涉密内容外置到配置目录(2026-09-19 落地):把散落在代码里的真实部署值(域名 / IP / 主机号 / 内网路径 / Worker 令牌 / PG 口令)统一收进 config/,代码改为*
04-141 ❓ 实例子域冷启动窗口内代理裸断连接致 502(2026-09-19 修复)
04-142 📋 规划态(需求已拍板 IM 群组对话(需求基线与方案)(2026-09-20 规划态):用户拍板 B 方案(人 + Agent 一次做齐);两条决定形态的语义 = 群聊消息作为 agent 上下文 · **agent
数据库专区 ✅ 数据库专区(新目录 03-数据库/):DB-00 入口 / DB-01 接入指南(七种情形:内核表·插件库(一插件一库)·用户数据入库·Worker 本地库·大对象桶·实例本地仅缓存/临时·缓存队列)/ DB-02 表结构台账与迭代机制(v1–v13 + 评审门禁)/ DB-03 插件数据面规范(一插件一库 · 归属列强制 · 按库备份迁移)| 🔴 架构定稿 = 02-架构设计/数据-分库与权威存储架构.md
04-143 ✅ 已落地,真机浏览器实测通 MCN工作台入口失效 + 用户设置语言切换「没反应」(2026-09-20 落地 · 真机浏览器实测通过):两条同源 —— dsh 0.1.5-rc.1 改了插件依赖的老契约:① 对话区槽位名 `conv
04-144 方案(待拍板选档)。本轮只落 插件规模化投放与版本一致性(几百~上千用户)(2026-09-20 方案 · 待拍板选档):今天这条 bug 的真实瓶颈不是耗时(单用户 pnpm add 秒级 ⇒ 1000 用户串行 1 小
04-145 🟡 部分执行 覆盖网络·序47 单账号多设备多会话并存(S0–S4 前半 · 2026-09-20 落地):POST /api/auth/login 取消无条件驱逐(原 `deleteUserSessions(us
04-146 ✅ 已落地并验收(47 已加 实例子域 503:中继 per-port 额度被「客户端断开不中止上游」泄漏占满(2026-09-21 落地 · 已验收):guest 实例被报「一直重启 + 全站 503」,实测**实例健康、连续运行 20.8
04-147 📋 方案(规划态 · 未实施 多节点形态下的插件投放与数据面(把「插件规模化」放回整张网里)(2026-09-21 方案 · 规划态 · 零改动):用户指出 144 §八 的「2~3 天」口径默认了"所有用户都在 47 本机" ⇒ 整
04-148 📋 方案(规划态 · 未实施 多 Manager / 多区域联邦形态(把「一张网」改成「网的网」)(2026-09-21 方案 · 规划态 · 零改动):用户指出 144/145/147 共同默认了「一个控制面」,实际形态是「**几百
04-149 📋 方案(规划态 · 未实施 覆盖网络顶层架构全貌(去中心化形态 · 信任图与数据图分离)(2026-09-21 方案 · 规划态 · 零改动):用户两次纠正范式 —— 先指出图「不是网状结构还是树形的」,再追问「**是不是 没有RO
— 🗄 (2026-09-24 已清出项目:旧全量计划,结论已在 04-调整方案/):拆分前 19 章
— ✅ 08-skills/dsh-change-workflow/SKILL.md:六阶段 + 红线 R1-R11 + 详情已拆到 references/(9 档)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-decision-method/SKILL.md:改造决策方法论(用户有效决策 U1-U12 / AI 有效决策 A1-A13 / 反例 X1-X8 + 确认最优解十问 + 交互 UI 专项清单)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-feature-first/SKILL.md:功能优先协作协议(用户只提功能卡 4 问 · AI 自主决策 9 类白名单 · 只上抛功能语义分叉与红线门禁 · 报障闭环前置 · 交付回执格式)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-opensource-release/SKILL.md:开源导出与版本迭代(硬规则 R-O1–R-O14 · 脱敏映射表唯一口径 · 双轨授权与其 MIT 法律前提 · 迭代发布 SOP · 多远端推送 · 验证七件套 · 21 条实测坑(已拆到 references/)· v1.7.8)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-plugin-diagnose/SKILL.md:业务插件故障诊断(三层归属 host / client / 网关·原生绑定 · 三把尺子 inject 差集 / glibc 直测 / 产物插探针 · 8 条实测坑)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-env-bootstrap/SKILL.md:环境引导 / 迁移(常驻规则快照 references/常驻规则-快照.md + 07-scripts/resident-rules.py 的 --check / --inject / --env-check / --snapshot;权威方向单向:CODEBUDDY.md 为权威、快照为副本)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/dsh-auto-handoff-chain/SKILL.md:多棒自动接力编排法(规划棒 ↔ 执行棒交替 · 一次性 automation 链条 · 六件套 prompt 骨架 · 登记门禁 · 排期两条铁律 §3.1.1〔首个/唯一接续棒 = 收口 + 5~8 分钟 · 同一时刻只挂一个接续棒〕· 六条实测防护 · 断链 / 双开 / once 不转完成态 / 预登记队列 等 · 07-scripts/chain_report.py 复跑)(工作副本在本机 .workbuddy/08-skills/)
— ✅ 08-skills/agent-operating-rules/SKILL.md:AI 会话作业总规矩(通用 · 跨工作区)(上抛唯一判据 + 自决白名单 + 取舍筛〔只有优点/缺点 ⇒ 自决〕+ 结论骨架 + 可扫读排版十条 + 去 AI 味 24 类模式 + 工作区归属三律〔治会话落错家〕+ 抢锁校验退出码 + 提交·批量边界 + 多棒接力 + 4 篇 references/ 细则)(工作副本在本机 .workbuddy/08-skills/)

待办与优先级不在本文件维护(单一来源):未规划的见 01-规范/03-路线图与待办.md §二;已规划待执行的见 05-交接单/README.md §一。


三、变化与更新状态:怎么追

手段 怎么做
双端对账 bash 07-scripts/docs-sync-check.sh(一致/不一致/仅本地/仅服务器 + 退出码 0=全绿)
机读清单 python3 07-scripts/docs-manifest.py → docs-manifest.json(状态/日期/tier/引用数)
质量审计 python3 07-scripts/docs-audit.py(9 类判定;编号冲突与悬空引用会返回非 0)
代码侧变更 git -C /opt/dshs log --oneline(平台代码是 git 仓库,比文档更细)
文档侧变更 本目录是 git 仓库:git log --oneline;服务器镜像无 .git,靠 scp 单向推送
时间线溯源 03-路线图 §已完成 + 各档案 commit 列 + 09-archive/ 全文

四、归档与工作区残留

文件 位置 状态
已完成的交接单(规划/执行分离的单子) 05-交接单/ T02(文档库收尾:37/38 编号消歧 + INDEX 瘦身 28,809→7,468)|T03(7 插件整合投放:dsh-plugin-mcn-suite 上传候选池 + guest 启用成功,实例重启探活通过)|T04(并发治理:commit 常态化 + 服务器侧操作锁 /opt/dsh/state/.op-lock + 权限 700/600 + 代码库 ebe8075→06e63ac)|T05(插件兼容性预检:04-71 落地 + 档案 66 源码回填)— 均 2026-09-12 完成|T06(平台自建「模型设置」:04-87 落地 + 插件 0.3.11 铺发 + 迁移 V6 + 官方模型分区全角色隐藏;验收四件事全绿,顺手修角色补丁整文件覆盖与陈旧断言两颗雷)— 2026-09-13 完成|T07(内置 dsh 安装路径按序探测:04-88 落地;三处写死路径(第 3 处是提出方漏的)改为按序探测 + 降级留痕;测试服 test106 三种姿势验证通过)— 2026-09-14 完成

|T09–T21(2026-09-17 从工作区根批量入仓:覆盖网络线 13 份交接单 —— 含「落地执行 / 网抽象与地址规划 R6 / relay R2-R4 / 443 兜底 / 中继失败切流 / 切流冷却语义 / presence 在线态 / 一机一钥与信任根 / 参数表与观测 / 检测时延与 deadline / 最小形态真机批次 / 观测口径与在册缺陷 / 在册收尾」;⚠️ 均为已完成单的归档副本,若其中仍有未完成项需在 05-交接单/ 另开新单) | 三份工作区草案(插件管理面 / VoxEMW×2)| (2026-09-24 已清出项目:未采纳草案) | 已归档防丢;插件草案 v5 被档案 16 取代 | | 07-scripts/docs-{sync-check.sh,audit.py,manifest.py} | 本库 07-scripts/ | 随库分发,在用 | | .workbuddy/memory/YYYY-MM-DD.md | 工作区 .workbuddy/ | 过程日志,不入库 | | *.bak* | 各处 | 已纳入 .gitignore;服务器侧勿生成结尾带点号的备份名(Windows 落不了地)|


五、仓库与同步拓扑

资产 路径 仓库 / 状态
平台代码 服务器 /opt/dshs(git,上游 fork,浅克隆) [email protected]:maogeigei/dsh_shenxian.git — master @ ebe8075 ✅ 已推送
改造文档 本机 dsh-server-docs/(本目录即工作树)↔ 服务器 /opt/dsh/docs(镜像,root 600) [email protected]:maogeigei/dsh_shenxian_doc.git — main @ 43e4ae9 ✅ 已推送
上游基线 上游骨架仓库(已按要求不再具名)(123 提交,HEAD 04bc832) 本机 remote 名 upstream
本机代码副本 D:\github\dsh_shenxian 上述代码仓库的 clone

约定

  1. 推送只能从本机执行:服务器无 Gitea 凭据 → 服务器改码后 git bundle(区间)→ 本机 fetch/merge → push。
  2. 同步链路(文档):编辑本目录 → docs-sync-check.sh 对账 → scp 到 /opt/dsh/docs(chmod 600,README 保持 644)→ 复跑脚本确认全绿。
  3. 权限:服务器 docs 树 root 600(README 644);/opt/dsh 为 drwx------ root(用户 uid 读不到,需先暂存到用户 home 再安装)。
  4. 行尾:本机 git 的 system 级 core.autocrlf=true 会把工作树写成 CRLF,而仓库 blob 是 LF → scp 单文件前看 file 输出;脚本类必须 LF(否则 shebang 带 \r 执行失败)。

六、新增文档的落位规则(约定)

  1. 功能类改造 → 04-调整方案/ 新建档案,编号递增(复跑取号,勿写死:ls 04-调整方案/ | sort -n | tail -1;63 为空号,勿补占);模板:目标 → 改动 → 验证 → 红线遵守 → 回滚。
  2. 规范 / 基线类(跨页面长期生效)→ 根级编号文档(01~06),不入 04-调整方案/;入库时登记 §一 场景表 + §二 清单。
  3. 排障记录 → 追加 01-规范/02-运维手册.md 排障小节。
  4. 状态 / 待办变化 → 更新 01-规范/03-路线图与待办.md 与本文件 §二。
  5. 保留原章节编号,便于与 09-archive/ 完整版对查。
  6. 同步:见 §五.2(对账 → scp → chmod → 复跑)。
  7. UI 规范优先:涉及前端改动先读 01-规范/06-工作台UI规范.md;沉淀了新"为什么"要回写源侧并回拷 06。
  8. 规划/执行分离的任务单 → 05-交接单/(约定见其 README.md):规划会话产出单子,执行会话按单开工(不读规划会话上下文);完成后 git mv 入 05-交接单/ 并在 §四 加行。