Skip to content
dsh.fish
Bundle

dsh-dajiangjun

大管家 — DeepSeek Harness 的会话接力:写档、建会话、投递、让新会话自己开工。

Source
Ferien-sein
License
MIT
Updated
Updated 8 days ago

Readme

# 大管家 · dsh-dajiangjun

**把撞上上下文上限的会话,交班给一个新会话,让新会话自己开工。**

DeepSeek Harness 宿主插件(v1)· 注册一个工具 `steward_relay`

**中文** | [English](README.en.md)

> **非官方声明**:本项目**兼容 DeepSeek Harness / 构建于 DeepSeek Harness 之上**,由第三方独立开发,**不代表 DeepSeek 官方背书、合作或授权**。「DeepSeek Harness」是 DeepSeek 的注册商标;按[官方品牌指南](https://github.com/deepseek-ai/deepseek-harness/blob/master/BRAND_GUIDELINES.md)的建议,本项目名使用缩写前缀 `dsh-`,不使用全称商标。

---

## 0. 三句话

| | |
|---|---|
| **是什么** | 当前会话的 agent 写完一份**七段交接档**后调用 `steward_relay`,插件校验档 → 过闸门 → 建一个新会话 → 命名 `【续】<主线名>` → 投递"接手指令" → 新会话自己开工 |
| **出厂状态** | `enabled: false`、`dryRun` 缺省 `true`。**装完什么都不做**;真要用必须显式开两次 |
| **谁写的** | **100% 由 AI 智能体自主开发**。人类只给了一个初始指令,代码、测试、设计稿、评审、修复全部由 AI 产出。全程账目见 §3 |

---

## 1. 来源与致谢

本项目的**想法与思路来源**是:

### 👉 https://github.com/kira905/ops-handoff-design

《长期运行的编码 Agent · 一份运维设计记录》(作者 **kira905**,十一份脱敏方法论,v1.11 / 2026-09-28 双端发布)。

这份工作定义的问题与判据直接决定了本插件长什么样:

| 用到的部分 | 落成了本插件的什么 |
|---|---|
| 文档 **09**(长会话的自动交接与接力)为主 | 整体机制:交接档七段契约、三个载体的权威源划分、闸门顺序、`queue`/`steer` 投递、权限两段断言 |
| 文档 **02** §5.2 / §5.6(审计介质、并发与原子写契约) | 审计哈希链、写临时文件 + 原子 rename、单飞锁(`flag: 'wx'` 原子创建,禁止先 `existsSync` 再写) |
| 文档 **03** R4 / R9(四级熔断、自主动作分档) | 连续失败熔断、速率限制、主动提醒的分档与打扰预算 |
| 文档 **07** R2 / R3(锁后交付、放行=改表) | 抢不到锁就静默退出(退出码 0)、配置改动才能放行 |
| 文档 **04 / 08**(审核规程、文档口径一致性) | 本项目自己的实施流程(派发词 → 实现 → 评审 → 定点复审 → 修复轮)与"说明书和机器对不上"的收尾回写 |

**关于上游许可,如实说明**:

- 上游**文档**采用 **CC BY-NC-SA 4.0**(署名 + 非商业 + 相同方式共享),著作权归原作者 kira905。
- 本项目是这些方法论的**独立实现**:本仓库**不含上游文档的任何成段复制**。发布前做过逐字重叠检测——把本仓库全部文档与上游 14 份文件归一化后做 n-gram 比对,**48 字以上的连续重合为 0**;24–48 字区间仅剩 JSON 字段名、包名、URL 等不可版权要素(如 `inputTokens`、`sessionProjection`、仓库链接)。
- 上游刻意采用"文档一套许可、代码另一套许可"的分法。**如果你要复用的是方法论本身(而不是这份代码),请遵守上游许可**;本仓库只对**它自己的代码与文档**授权。

---

## 2. 纯由 AI 开发

**这个插件的每一行都是 AI 写的。** 没有人类作者、没有人类设计师、没有人类评审。

| 指标 | 数值 |
|---|---|
| 开发窗口 | 2026-10-06 → 2026-10-07(约 2 天) |
| 提交数 | 54 |
| 实现代码 | 641 行(`lib/`) |
| 测试代码 | 654 行(`test/`,64 个测试全绿) |
| 设计稿 / 实现计划 / 裁决台账 | 2,721 行(`docs/`) |
| 施工记录(SDD) | 21 个文件 / 约 240 KB,见 [`docs/sdd/`](docs/sdd/2026-10-06-dajiangjun-session-relay/README.md) |
| 参与的 AI 会话 | 1 个主控会话 + 38 个子智能体(另有 3 个侧线/调研顶层会话、13 个端到端实测会话、2 个空会话、1 个同工作区无关会话,逐条见 §3.3) |
| 人类介入 | 初始指令 1 次;少量事实性澄清(例:某次中断的成因是电脑关机,不是 agent 自身问题) |

开发方式本身也是方法论的一部分:主控会话(Lead)拆分出 10 张任务卡,每张卡派一个**实现者子智能体**,再由另一个**评审子智能体**独立评审;发现 Important 就派**定点复审**,必要时派**修复轮**——同一张卡最多往返 5 轮。

**全部过程留痕都已随仓库公开**:派发词、实现者报告、控制方运行日志(含 41 条裁决与流程实际抓到的 10 个缺陷)→ [`docs/sdd/2026-10-06-dajiangjun-session-relay/`](docs/sdd/2026-10-06-dajiangjun-session-relay/README.md)。21 个评审包的原始 diff 未收录(与 git 历史重复),但索引页给出了映射到当前仓库的提交区间,可随时 `git diff` 重现。

> 说明:Git 提交身份用的是仓库维护者的账号(AI 借该身份提交)。**提交身份 ≠ 内容作者**——54 个提交的内容作者全部是 AI 智能体。

---

## 3. 成本与 Token 账

> 计量来源:DeepSeek Harness 的成本账本 `~/.dsh/storages/cost-meter/ledger.json`(逐会话记账,币种 CNY),Token 由本工作区会话日志里的逐条 `usage` 事件汇总。**统计截止 2026-10-07 19:36 (UTC+8)。**

### 3.1 总账

| 角色 | 会话数 | 模型调用 | 输入 Token | 输出 Token | 缓存读 Token | 合计 Token | 费用(CNY) |
|---|---:|---:|---:|---:|---:|---:|---:|
| 主控(Lead,顶层会话) | 20 | 613 | 1,905,571 | 815,032 | 173,882,240 | **176,602,843** | **1.2241** |
| 子智能体 | 38 | 1,287 | 2,673,600 | 1,336,627 | 198,299,136 | **202,309,363** | **1.7979** |
| **v1 开发期合计** | **58** | **1,900** | **4,579,171** | **2,151,659** | **372,181,376** | **378,912,206** | **¥3.0220** |
| 发布期(隐私/法律审查 + 双语文档 + 推送准备) | 2 | 107 | 315,078 | 132,535 | 14,840,064 | 15,287,677 | 0.1713 |

**一句话**:做出这个插件,模型调用 1,900 次、消耗 **3.79 亿 Token**、花掉 **¥3.02**。

Token 的绝大部分是**缓存读**(372,181,376 / 378,912,206 ≈ 98.2%)——长会话每回合都要重读上下文,命中缓存后单价远低于新输入,所以 3.79 亿 Token 只花了 3 块钱。

模型分工:**实现与终审**用 `deepseek-v4-pro`,**常规实现、定点复审、文档分析**用 `deepseek-flash`(另有个别调用走 `deepseek-official:deepseek-v4-flash`)。

### 3.2 每个子智能体

38 个子智能体,按 Token 降序。**费用列为 `—` 表示该会话未出现在成本账本的逐会话明细里**(见 §3.4 口径说明)。

| # | 子智能体任务 | 会话 ID | 模型 | 调用 | 输入 | 输出 | 缓存读 | 合计 Token | 费用(CNY) |
|---:|---|---|---|---:|---:|---:|---:|---:|---:|
| 1 | 实现 Task 10 · 端到端验收(含最终修复轮) | `9fdd58e0` | deepseek-v4-pro | 277 | 633,663 | 258,958 | 76,428,416 | 77,321,037 | 0.4797 |
| 2 | 实现 Task 9 · 端到端实测 + Ruling 47 文案修复 | `8e193106` | deepseek-v4-pro | 210 | 424,677 | 213,955 | 53,403,776 | 54,042,408 | 0.3523 |
| 3 | DSH 内部 API 逆向(asar 解包 + 源码定位) | `76332eb7` | deepseek-flash | 106 | 252,526 | 85,464 | 18,250,880 | 18,588,870 | 0.1439 |
| 4 | 终审修复轮(实施) | `65fdbbe4` | deepseek-v4-pro | 117 | 123,204 | 88,645 | 16,978,816 | 17,190,665 | 0.1226 |
| 5 | 实现 Task 1 · 环境闸门 + DSH API 侦察 | `a62f48a8` | deepseek-v4-pro | 65 | 92,963 | 44,887 | 5,461,632 | 5,599,482 | 0.0573 |
| 6 | 矛盾排查(成本账本 vs 会话日志) | `d66e49fa` | deepseek-v4-pro | 50 | 121,784 | 44,874 | 4,657,280 | 4,823,938 | 0.0592 |
| 7 | 全分支终审 | `befe36ad` | deepseek-v4-pro | 37 | 121,285 | 53,528 | 3,813,376 | 3,988,189 | 0.0617 |
| 8 | 实现 Task 3 · 原子写 + 文件锁 | `70ead537` | deepseek-flash | 52 | 35,476 | 35,105 | 2,514,432 | 2,585,013 | 0.0339 |
| 9 | 实现 Task 8 · 真执行链(create→断言→rename→queue) | `47dcea7b` | deepseek-v4-pro | 42 | 36,180 | 29,261 | 2,445,056 | 2,510,497 | 0.0303 |
| 10 | 实现 Task 5 · 四类禁写内容检查 | `b5b0fb12` | deepseek-flash | 41 | 43,533 | 25,197 | 2,324,736 | 2,393,466 | 0.0286 |
| 11 | 实现 Task 2 · store(审计流水 + 哈希链) | `2f4dc06b` | deepseek-flash | 52 | 29,970 | 30,315 | 2,267,136 | 2,327,421 | 0.0295 |
| 12 | 评审 Task 9 | `f85db2bb` | deepseek-v4-pro | 27 | 60,717 | 31,322 | 1,640,064 | 1,732,103 | 0.0328 |
| 13 | 实现 Task 7 · 工具注册 + dryRun 预览 | `91c34ed5` | deepseek-flash | 28 | 33,048 | 20,036 | 1,272,704 | 1,325,788 | 0.0208 |
| 14 | 实现 Task 6 · 权限序表 + 7 道闸门 | `c9995cec` | deepseek-flash | 20 | 38,940 | 16,778 | 993,280 | 1,048,998 | 0.0189 |
| 15 | 复审终审修复轮 | `0a545e34` | deepseek-v4-pro | 13 | 69,351 | 18,390 | 871,424 | 959,165 | 0.0241 |
| 16 | 设计期评审 | `0c808cbb` | deepseek-v4-pro | 15 | 29,481 | 31,696 | 702,848 | 764,025 | 0.0255 |
| 17 | 复审 Ruling 41(定点) | `6f422ac2` | deepseek-v4-pro | 13 | 37,709 | 17,289 | 635,392 | 690,390 | 0.0179 |
| 18 | 实现 Task 4 · 交接档七段契约 | `341addaf` | deepseek-flash | 18 | 11,770 | 11,107 | 472,064 | 494,941 | 0.0098 |
| 19 | 复审(定点) | `551cad9f` | deepseek-flash | 10 | 27,679 | 11,158 | 349,184 | 388,021 | 0.0119 |
| 20 | 评审 Task 1 | `32cab466` | deepseek-v4-pro | 8 | 28,069 | 22,062 | 284,288 | 334,419 | 0.0183 |
| 21 | 复审(定点 · 极小改动) | `634c64b0` | deepseek-flash | 10 | 18,327 | 5,146 | 292,608 | 316,081 | 0.0067 |
| 22 | 评审 Task 7 | `73c17c9e` | deepseek-v4-pro | 6 | 27,776 | 16,445 | 206,720 | 250,941 | 0.0147 |
| 23 | 复审 Task 8(定点) | `74d5ddc9` | deepseek-v4-pro | 8 | 19,061 | 7,180 | 218,624 | 244,865 | 0.0078 |
| 24 | 复审 Task 3(定点) | `0b3cafb5` | deepseek-v4-pro | 6 | 25,388 | 8,732 | 200,960 | 235,080 | 0.0097 |
| 25 | 复审(定点) | `7f1b9926` | deepseek-flash | 8 | 15,996 | 2,937 | 205,184 | 224,117 | 0.0048 |
| 26 | 技术文档分析(ops-handoff-design 方法论提炼) | `9efe2d2e` | deepseek-flash | 5 | 38,048 | 16,957 | 161,664 | 216,669 | 0.0164 |
| 27 | 评审 Task 8 | `b9de0b15` | deepseek-v4-pro | 5 | 25,397 | 20,478 | 164,352 | 210,227 | 0.0166 |
| 28 | 评审 Task 6 | `a3d4773d` | deepseek-v4-pro | 5 | 19,617 | 15,647 | 167,936 | 203,200 | 0.0128 |
| 29 | 技术文档分析(ops-handoff-design 方法论提炼) | `c514f489` | deepseek-flash | 3 | 48,062 | 29,855 | 111,360 | 189,277 | 0.0255 |
| 30 | 技术文档分析(ops-handoff-design 方法论提炼) | `e14f7be5` | deepseek-flash | 3 | 37,423 | 28,841 | 110,976 | 177,240 | 0.0233 |
| 31 | 评审 Task 3 | `f3db088e` | deepseek-v4-pro | 4 | 18,221 | 19,970 | 128,128 | 166,319 | 0.0151 |
| 32 | 评审 Task 4 | `fe96fecf` | deepseek-v4-pro | 4 | 21,173 | 15,978 | 104,960 | 142,111 | 0.0131 |
| 33 | 评审 Task 5 | `3de91a68` | deepseek-v4-pro | 4 | 13,912 | 12,853 | 111,488 | 138,253 | 0.0101 |
| 34 | 评审 Task 2 | `0ebec8c6` | deepseek-v4-pro | 3 | 26,707 | 12,881 | 87,424 | 127,012 | 0.0120 |
| 35 | 技术文档分析(ops-handoff-design 方法论提炼) | `0b747a61` | deepseek-flash | 3 | 30,339 | 17,191 | 66,304 | 113,834 | 0.0151 |
| 36 | 复审 Task 5(定点) | `81bb8398` | deepseek-v4-pro | 3 | 14,616 | 8,746 | 71,296 | 94,658 | 0.0077 |
| 37 | 复审 Task 2(定点) | `147c9962` | deepseek-v4-pro | 3 | 17,017 | 6,388 | 71,040 | 94,445 | 0.0066 |
| 38 | 小改动 | `3aa8c454` | deepseek-flash | 3 | 4,495 | 375 | 51,328 | 56,198 | 0.0011 |
| | **子智能体小计** | | | **1,287** | **2,673,600** | **1,336,627** | **198,299,136** | **202,309,363** | **1.7979** |

### 3.3 顶层(主控)会话

| 性质 | 顶层会话 | 会话 ID | 调用 | 输入 | 输出 | 缓存读 | 合计 Token | 费用(CNY) |
|---|---|---|---|---:|---:|---:|---:|---:|---:|
| 主开发 | 大管家插件开发 | `4b10a5b6` | 365 | 1,195,851 | 572,184 | 148,694,272 | 150,462,307 | 0.9769 |
| 侧线 | 大管家插件启用停用失败(使用中报错 → 修复) | `a5af0f38` | 123 | 173,181 | 173,640 | 18,536,960 | 18,883,781 | 0.1858 |
| 侧线 | ops-handoff-design 与 superpowers 的兼容性调研 | `f1f4ea7b` | 24 | 64,980 | 17,780 | 1,168,640 | 1,251,400 | 0.0239 |
| 侧线 | 【续】文档体检(接力实测目标) | `fd616591` | 20 | 102,129 | 28,866 | 1,609,856 | 1,740,851 | 0.0375 |
| 同工作区其它 | 修复 DeepSeek 索引文件读取(与本插件无关) | `2708fd4b` | 19 | 226,800 | 5,358 | 1,930,752 | 2,162,910 | — |
| E2E 接力目标 | 【续】relay-e2e-test4 | `eaf8fa95` | 24 | 83,019 | 7,807 | 1,576,960 | 1,667,786 | — |
| E2E 接力目标 | 会话接力端到端测试 | `d4d221be` | 9 | 7,804 | 1,752 | 98,304 | 107,860 | — |
| E2E 接力目标 | 会话接力端到端测试 | `52dd0d93` | 5 | 10,672 | 2,047 | 46,592 | 59,311 | — |
| E2E 接力目标 | 会话接力端到端测试 | `71d9ce1c` | 5 | 4,596 | 1,207 | 51,200 | 57,003 | — |
| E2E 接力目标 | 会话接力端到端测试 | `d30614ef` | 5 | 4,555 | 1,036 | 50,432 | 56,023 | — |
| E2E 接力目标 | 会话接力端到端测试 | `ca5f4809` | 5 | 4,504 | 1,063 | 50,432 | 55,999 | — |
| E2E 接力目标 | 【续】relay-e2e-test5 | `ac055382` | 4 | 5,508 | 1,288 | 39,552 | 46,348 | — |
| E2E 接力目标 | 数字藏品的200份发行价格(标题由模型自动生成) | `97c80e8a` | 2 | 9,439 | 834 | 11,264 | 21,537 | — |
| E2E 接力目标 | 测试 `steward_relay` 工具错误返回 | `7560f554` | 2 | 3,622 | 167 | 17,024 | 20,813 | — |
| E2E 探针 | Reply with exactly the single word: PONG | `5178b36e` | 1 | 8,911 | 3 | 0 | 8,914 | — |
| E2E 接力目标 | 【续】relay-e2e-test3(建了会话但未投递成功) | `195d49b0` | 0 | 0 | 0 | 0 | 0 | — |
| E2E 接力目标 | 会话接力端到端测试(失败注入样本) | `64e5df8e` | 0 | 0 | 0 | 0 | 0 | — |
| 空会话 | — | `b6c26822` | 0 | 0 | 0 | 0 | 0 | — |
| E2E 探针 | Reply with exactly the single word: PONG | `e4068d97` | 0 | 0 | 0 | 0 | 0 | — |
| 空会话 | — | `e6f24939` | 0 | 0 | 0 | 0 | 0 | — |
| | **顶层会话小计** | | **613** | **1,905,571** | **815,032** | **173,882,240** | **176,602,843** | **1.2241** |

### 3.4 计量口径与已知缺口(照实登记)

1. **费用来自 DSH 自己的成本账本**,逐会话记账、币种 CNY。账本的逐会话明细本身**不完整**:例如 2026-10-06 当日总额 ¥3.4669,而明细之和只有 ¥2.7250。因此 §3.3 里标 `—` 的 16 个会话是"日志里有 Token、账本明细里没有费用"。
2. **Token 由会话日志逐条 `usage` 事件汇总**,并与账本逐会话口径抽样比对一致(如 Task 10 三条数字完全一致)。
3. **发布期一行是动态的**:写这份 README 的会话在提交之后仍在继续,数字会继续增长;上表是 2026-10-07 19:36 (UTC+8) 的快照。
4. **"合计 Token" = 输入 + 输出 + 缓存读 + 缓存写**(本项目缓存写为 0、reasoning 为 0)。若只算"新输入 + 输出",v1 开发期是 6,730,830 Token——但那会低估真实上下文成本,故不采用。
5. 模型调用单价随**峰谷时段**浮动,所以按 Token 数反推单价会对不上;本表只报账本记录的实际金额。

---

## 4. 怎么装

```powershell
git clone https://github.com/Ferien-sein/dsh-dajiangjun
dsh plugin --profile <profile> add '<clone 下来的目录>'
```

`<profile>` 是要安装到的 DSH profile 名(例如 `desktop`)。安装后,配置树里会出现 `- id: dajiangjun`,但**出厂全关**——见下节。

---

## 5. 依赖与适用范围

本插件在顶层 `inject` 里**硬依赖** `ctx.sessionController`(`@deepseek-ai/dsh-api-session-controller`,一个 web 客户端,经 HTTP gateway 走)。

- **web / desktop 宿主有**这个服务 → 插件正常激活、注册 `steward_relay`。
- **`headless` profile 没有**它(headless 是"无 Host / 无 HTTP / 无浏览器"的一次性 agent 驱动器)。

因此**本插件不适用于 `headless` profile**。装进 headless 的表现是**静默失效**:宿主只打一行

```
dajiangjun (dsh-dajiangjun): pending (waiting for service: sessionController)
```

插件停在 `pending`,`steward_relay` 工具**不会出现**,也**不报任何错误**——必须点名这个形态,避免"装上了但什么都没发生"却无从排查。

本机实测证据(2026-10-06):`dsh --profile headless --dump-config` 的配置树里**没有** `@deepseek-ai/dsh-api-session-controller`;对照 `steward-dev`(web 模板建的隔离 profile)**有**。详见 `docs/notes/dsh-api-notes.md` §10。

---

## 6. Config 字段(出厂全关)

| 字段 | 类型 | 缺省 | 说明 |
|---|---|---|---|
| `enabled` | boolean | **`false`** | 接力总开关。**出厂关闭**,要真用必须先显式设为 `true` |
| `softLimitRatio` | number | `0.7` | 主动提醒的软限比例(0.1–0.95) |
| `rateLimitMinutes` | number | `20` | 同主线两次成功交接的最小间隔(分钟) |
| `failureLimit` | number | `2` | 同主线连续失败次数上限,达到即停 |
| `lockTtlMs` | number | `120000` | 单飞锁的 TTL(毫秒) |
| `forbiddenQuoteLines` | number | `5` | 判定"会话原文"禁写内容的连续引用行数 |
| `notify.enabled` | boolean | **`false`** | 主动提醒开关。**出厂关闭** |
| `notify.cooldownMinutes` | number | `20` | 同会话两次提醒的冷却(分钟) |
| `notify.dailyCap` | number | `10` | 全局每日提醒上限 |
| `notify.growthStepPct` | number | `5` | 只报状态变化:用量每再涨 ≥5 个百分点才重新提醒 |
| `notify.quietFrom` / `notify.quietTo` | number | `23` / `7` | 免打扰时段 |

---

## 7. 工具签名与 dryRun 语义

工具名:`steward_relay`

```ts
steward_relay({
  docPath: string,   // 必填:交接档的绝对路径
  mainline?: string, // 主线名,缺省从档里或文件名推断
  dryRun?: boolean,  // 缺省 true:只预览,不建会话/不改档/不投递/不占锁
})
```

- **`dryRun` 缺省为 `true`**:返回 `kind: 'preview'`,列出"将做什么",**零真副作用**。
- **`dryRun: false`**:真执行完整链——建会话 → 权限回读断言 → 命名 `【续】<主线名>` → 投递接手指令 → 回写档头 → 追加审计行 → 返回 `kind: 'dispatched'`。

返回结构(`output.schema`):`{ kind, exitCode, gate?, relayId?, message }`,其中 `kind` / `exitCode` / `message` 必填。

退出码:`0` 成功/预览/抢不到单飞锁(静默);`2` 参数错或越权(子代理不得发起);`3` 部分完成(会话已建但后续失败,现场保留);`5` 需人工 fail-closed(档不合格/闸门不过/权限降级/配置不可读);`1` 其它未预期错误。

---

## 8. 红线

- **R-1(投递)**:投递**必须**用 `mode: 'queue'` 或 `'steer'`,**绝不用** `inject`——`inject` 不唤醒会话(`wakeup=false`),会建好会话、投了内容、**就是不跑**,且不报错。
- **R-2**:权限档位比较走序表。
- **R-3**:读不到配置即拒(fail-closed)。
- **R-4**:单飞锁原子创建(`flag: 'wx'`,禁止先 `existsSync` 再写)。
- **R-5**:状态原子写(写临时文件 → 原子 rename)。

详见设计稿 `docs/superpowers/specs/2026-10-06-dajiangjun-session-relay-design.md` §7。

---

## 9. 测试

```powershell
node --test
```

全套 **64 个测试**覆盖:审计哈希链 / 原子写 / 单飞锁 / 档契约 / 禁写内容 / 闸门 / 权限序表 / 主动提醒。

---

## 10. 已知限制(照实登记)

- **只支持 web / desktop 宿主**(见 §5)。
- **v1 只做了"手动发起"**:agent 写完档再调工具;上下文软限触发的是**提醒**,不是自动接力。
- **端到端只在隔离 profile(`steward-dev`)实测过**;隔离 profile 没挂计费插件,所以那部分实测的 Token 没进账本。
- **成本账本的逐会话明细不完整**(见 §3.4)。
- 隔离 profile 的 E2E 会话里,有 5 个是**失败注入样本**(0 调用),用于验证闸门拒绝路径。
- 未验证项与 22 条遗留见 `docs/大管家-v1-裁决与遗留台账.md`。

---

## 11. 法律与合规

- **非官方**:本项目与 DeepSeek 无隶属、背书或合作关系。「DeepSeek Harness」是 DeepSeek 的注册商标,本项目名只用官方指南建议的 `dsh-` 缩写前缀。
- **许可证**:本仓库采用 **MIT**(见 [LICENSE](LICENSE))。上游 `ops-handoff-design` 的文档许可是 **CC BY-NC-SA 4.0**,两者不同、互不覆盖;本仓库只对自身内容授权,署名与来源见 §1。
- **无第三方代码收录**:`lib/` 与 `test/` 全部为本项目原创;对 `@deepseek-ai/*` 只声明 `peerDependencies`,不内联任何宿主源码。DeepSeek Harness 本体为 MIT 许可。
- **AI 生成内容**:本项目几乎全部内容由 AI 生成。多数法域(含中国与美国)要求作品具有人类创作贡献才受著作权保护,因此本项目的可版权性可能弱于纯人类作品。以 MIT 发布时,这一点对使用者是**更宽松**而非更严格。
- **凭据与隐私**:仓库内**不含任何真实凭据、密钥、令牌或会话正文**。发布前做过全仓库 + 全 Git 历史的隐私审查,并把维护者本机路径与用户名替换为占位符(已重写历史以彻底移除)。测试夹具里的 `sk-…`、`192.168.1.20`、`zhang.san@example.com` 均为文档化的假值。
- **自动化风险自负**:本插件会**创建新会话并向其投递指令**——这是一个有真实副作用的自动化。缺省 `dryRun: true` + `enabled: false` 是刻意的安全路径;请先在隔离 profile 里验证,再考虑开启。作者不对使用后果承担任何责任(MIT 免责条款)。

---

## 12. License

[MIT](LICENSE) © 2026 Ferien-sein

上游方法论的著作权与许可归 [kira905/ops-handoff-design](https://github.com/kira905/ops-handoff-design) 作者所有。

Install

dsh plugin --profile web add github:Ferien-sein/dsh-dajiangjun

Profile: web

  • This source has no pinned commit, so a later push upstream changes what installs. Prefer pinning a commit.
Source