dsh-plugin-dev-kb 1.0.8 → 1.0.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.en.md +6 -6
- package/README.md +6 -6
- package/kb/INDEX.md +19 -5
- package/kb/README.md +11 -10
- package/kb/extra/AGENTS.md +4 -4
- package/kb/extra/cookbook/adding-a-vendored-package.md +2 -2
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +2 -2
- package/kb/extra/deepseek-llm-api-wire-extensions.md +159 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +159 -0
- package/kb/extra/development.md +8 -14
- package/kb/extra/development.zh.md +8 -14
- package/kb/extra/event-producer-consumer.md +47 -41
- package/kb/extra/event-producer-consumer.zh.md +47 -41
- package/kb/extra/glossary.md +1 -1
- package/kb/extra/glossary.zh.md +1 -1
- package/kb/extra/graph-atlas.md +0 -2
- package/kb/extra/graph-atlas.zh.md +0 -2
- package/kb/extra/i18n/README.md +4 -4
- package/kb/extra/i18n/README.zh.md +4 -4
- package/kb/extra/module-graph.md +680 -413
- package/kb/extra/module-graph.zh.md +681 -414
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.md +2 -2
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +2 -2
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.md +2 -2
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +2 -2
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.md +2 -2
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.zh.md +2 -2
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +1 -1
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +1 -1
- package/kb/extra/rescope.md +2 -2
- package/kb/extra/rescope.zh.md +2 -2
- package/kb/extra/subsystems/agent-team.md +24 -1
- package/kb/extra/subsystems/agent-team.zh.md +24 -1
- package/kb/extra/subsystems/attachment.md +12 -4
- package/kb/extra/subsystems/attachment.zh.md +12 -4
- package/kb/extra/subsystems/extensions.md +18 -0
- package/kb/extra/subsystems/extensions.zh.md +18 -0
- package/kb/extra/subsystems/feedback.md +2 -2
- package/kb/extra/subsystems/feedback.zh.md +2 -2
- package/kb/extra/subsystems/todo.md +32 -0
- package/kb/extra/subsystems/todo.zh.md +32 -0
- package/kb/extra/subsystems/webhook.md +70 -0
- package/kb/extra/subsystems/webhook.zh.md +70 -0
- package/kb/extra/testing.md +11 -10
- package/kb/extra/testing.zh.md +8 -7
- package/kb/meta/search-index.json +269 -161
- package/kb/meta/site-pages.txt +182 -168
- package/kb/meta/source.json +5 -5
- package/kb/meta/topics.md +14 -6
- package/kb/site/develop/basic/publish.md +2 -2
- package/kb/site/develop/basic/tool.md +1 -1
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +4 -4
- package/kb/site/develop/framework/events.md +1 -1
- package/kb/site/develop/practice/dynamic-cordis.md +17 -0
- package/kb/site/develop/practice/llm-adapter.md +3 -3
- package/kb/site/en/develop/basic/publish.md +2 -2
- package/kb/site/en/develop/basic/tool.md +1 -1
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +4 -4
- package/kb/site/en/develop/framework/events.md +1 -1
- package/kb/site/en/develop/practice/dynamic-cordis.md +17 -0
- package/kb/site/en/develop/practice/llm-adapter.md +3 -3
- package/kb/site/en/guide/github-review.md +104 -0
- package/kb/site/en/guide/mcp-memory.md +103 -0
- package/kb/site/en/guide/python-sdk.md +80 -34
- package/kb/site/en/guide/schedule.md +21 -0
- package/kb/site/en/reference/agent-lifecycle.md +1 -1
- package/kb/{extra → site/en/reference}/api-gateway.md +11 -9
- package/kb/site/en/reference/capability-seams.md +115 -67
- package/kb/site/en/reference/config-catalog.md +358 -164
- package/kb/site/en/reference/cookbook/adding-a-package.md +2 -2
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +2 -2
- package/kb/site/en/reference/cookbook/adding-a-tool.md +11 -4
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +1 -1
- package/kb/site/en/reference/cookbook/extension-cookbook.md +6 -6
- package/kb/site/en/reference/cordis-api/inherited.md +1 -1
- package/kb/site/en/reference/cordis-primer.md +2 -1
- package/kb/site/en/reference/index.md +19 -7
- package/kb/site/en/reference/persistence-catalog.md +91 -44
- package/kb/site/en/reference/subsystems/approval.md +10 -10
- package/kb/site/en/reference/subsystems/client-modules.md +58 -16
- package/kb/site/en/reference/subsystems/code-runtime.md +3 -3
- package/kb/site/en/reference/subsystems/compaction.md +2 -2
- package/kb/site/en/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +43 -24
- package/kb/site/en/reference/subsystems/core.md +70 -12
- package/kb/site/en/reference/subsystems/credentials.md +43 -3
- package/kb/site/en/reference/subsystems/filesystem.md +12 -2
- package/kb/site/en/reference/subsystems/index.md +6 -1
- package/kb/site/en/reference/subsystems/jobs.md +1 -1
- package/kb/site/en/reference/subsystems/llm-streaming.md +132 -11
- package/kb/site/en/reference/subsystems/permission-presets.md +1 -1
- package/kb/site/en/reference/subsystems/persistence.md +22 -3
- package/kb/site/en/reference/subsystems/plan.md +1 -1
- package/kb/site/en/reference/subsystems/session-projection.md +74 -33
- package/kb/site/en/reference/subsystems/session-query.md +9 -1
- package/kb/site/en/reference/subsystems/session-reference.md +28 -7
- package/kb/site/en/reference/subsystems/session-telemetry.md +2 -3
- package/kb/site/en/reference/subsystems/session.md +260 -41
- package/kb/site/en/reference/subsystems/settings.md +78 -1
- package/kb/site/en/reference/subsystems/skills.md +23 -0
- package/kb/site/en/reference/subsystems/slots.md +177 -0
- package/kb/site/en/reference/subsystems/spill.md +2 -2
- package/kb/site/en/reference/subsystems/storage.md +9 -1
- package/kb/site/en/reference/subsystems/subagent.md +90 -23
- package/kb/site/en/reference/subsystems/system-prompt.md +4 -4
- package/kb/site/en/reference/subsystems/token-meter.md +25 -10
- package/kb/site/en/reference/subsystems/tools.md +39 -39
- package/kb/site/en/reference/subsystems/typert.md +44 -37
- package/kb/site/en/reference/subsystems/user-questions.md +33 -33
- package/kb/site/en/reference/subsystems/web-client.md +98 -0
- package/kb/site/en/reference/subsystems/web-server.md +11 -5
- package/kb/site/en/reference/subsystems/web.md +7 -1
- package/kb/site/en/reference/subsystems/workspace.md +95 -2
- package/kb/site/en/reference/tool-catalog.md +76 -18
- package/kb/site/en/reference/tool-execution-pipeline.md +1 -1
- package/kb/site/guide/github-review.md +104 -0
- package/kb/site/guide/mcp-memory.md +103 -0
- package/kb/site/guide/python-sdk.md +87 -41
- package/kb/site/guide/schedule.md +21 -0
- package/kb/site/reference/agent-lifecycle.md +1 -1
- package/kb/{extra/api-gateway.zh.md → site/reference/api-gateway.md} +11 -9
- package/kb/site/reference/capability-seams.md +115 -67
- package/kb/site/reference/config-catalog.md +357 -163
- package/kb/site/reference/cookbook/adding-a-package.md +2 -2
- package/kb/site/reference/cookbook/adding-a-settings-card.md +2 -2
- package/kb/site/reference/cookbook/adding-a-tool.md +11 -4
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +1 -1
- package/kb/site/reference/cookbook/extension-cookbook.md +6 -6
- package/kb/site/reference/cordis-api/inherited.md +1 -1
- package/kb/site/reference/cordis-primer.md +2 -1
- package/kb/site/reference/index.md +19 -7
- package/kb/site/reference/persistence-catalog.md +87 -40
- package/kb/site/reference/subsystems/approval.md +10 -10
- package/kb/site/reference/subsystems/client-modules.md +58 -16
- package/kb/site/reference/subsystems/code-runtime.md +3 -3
- package/kb/site/reference/subsystems/compaction.md +2 -2
- package/kb/site/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +43 -24
- package/kb/site/reference/subsystems/core.md +70 -12
- package/kb/site/reference/subsystems/credentials.md +43 -3
- package/kb/site/reference/subsystems/filesystem.md +12 -2
- package/kb/site/reference/subsystems/index.md +6 -1
- package/kb/site/reference/subsystems/jobs.md +1 -1
- package/kb/site/reference/subsystems/llm-streaming.md +132 -11
- package/kb/site/reference/subsystems/persistence.md +22 -3
- package/kb/site/reference/subsystems/plan.md +1 -1
- package/kb/site/reference/subsystems/session-projection.md +74 -33
- package/kb/site/reference/subsystems/session-query.md +9 -1
- package/kb/site/reference/subsystems/session-reference.md +28 -7
- package/kb/site/reference/subsystems/session-telemetry.md +2 -3
- package/kb/site/reference/subsystems/session.md +260 -41
- package/kb/site/reference/subsystems/settings.md +78 -1
- package/kb/site/reference/subsystems/skills.md +23 -0
- package/kb/site/reference/subsystems/slots.md +177 -0
- package/kb/site/reference/subsystems/spill.md +2 -2
- package/kb/site/reference/subsystems/storage.md +9 -1
- package/kb/site/reference/subsystems/subagent.md +90 -23
- package/kb/site/reference/subsystems/system-prompt.md +4 -4
- package/kb/site/reference/subsystems/token-meter.md +25 -10
- package/kb/site/reference/subsystems/tools.md +39 -39
- package/kb/site/reference/subsystems/typert.md +44 -37
- package/kb/site/reference/subsystems/user-questions.md +33 -33
- package/kb/site/reference/subsystems/web-client.md +98 -0
- package/kb/site/reference/subsystems/web-server.md +11 -5
- package/kb/site/reference/subsystems/web.md +7 -1
- package/kb/site/reference/subsystems/workspace.md +95 -2
- package/kb/site/reference/tool-catalog.md +76 -18
- package/kb/site/reference/tool-execution-pipeline.md +1 -1
- package/package.json +2 -2
- package/skills/dsh-plugin-dev-kb.md +8 -6
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.9] - 2026-08-30
|
|
4
|
+
|
|
5
|
+
- 知识库同步至上游 master `cd5ef814`(2026-08-30):站点镜像 168 → 182 页(中英 91/91),
|
|
6
|
+
101 页内容更新;新增 `guide/github-review`、`guide/schedule`、`guide/mcp-memory`、
|
|
7
|
+
`develop/practice/dynamic-cordis`、`reference/api-gateway`、`reference/subsystems/conversation|slots|web-client`
|
|
8
|
+
(各中英一对);移除上游已下线的 `reference/cookbook/adding-a-conversation-node`。
|
|
9
|
+
- 补充文档 52 → 56 篇:`api-gateway` 升入站点,新增 `deepseek-llm-api-wire-extensions`、
|
|
10
|
+
`subsystems/todo`、`subsystems/webhook`(各中英一对)。
|
|
11
|
+
- 更新 `kb/meta/source.json` 与 `site-pages.txt`;重建检索索引(223 → 241 文件)与 INDEX.md;
|
|
12
|
+
`topics.md` 修复断链并新增「API Gateway 与服务接入」「使用指南进阶」主题。
|
|
13
|
+
|
|
3
14
|
## [1.0.8] - 2026-08-29
|
|
4
15
|
|
|
5
16
|
- 文档:首屏数字带(168 页 · 52 篇 · 223 索引 · 0 依赖);安装 yaml 标注「唯一的一步,复制即用」;新增「5 分钟验证」节;
|
package/README.en.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|

|
|
7
7
|

|
|
8
8
|
|
|
9
|
-
> **
|
|
9
|
+
> **182-page official mirror · 56 supplementary docs · 241-file search index · 0 runtime dependencies**
|
|
10
10
|
|
|
11
11
|
**The official docs at your side whenever you write dsh plugins**: the entire content of the DeepSeek Harness official documentation site
|
|
12
12
|
<https://deepseek-harness.github.io/deepseek-harness/> is organized into a form natively usable by dsh —
|
|
@@ -15,16 +15,16 @@ once this plugin is installed, the agent automatically loads the knowledge base
|
|
|
15
15
|
## What is this
|
|
16
16
|
|
|
17
17
|
- **Complete site mirror**: the official docs (VitePress) are generated as a projection of the raw Markdown in
|
|
18
|
-
`docs/` of the `deepseek-ai/deepseek-harness` repository (links rewritten to site routes, verbatim identical to the live site).
|
|
19
|
-
- **Supplementary docs**:
|
|
18
|
+
`docs/` of the `deepseek-ai/deepseek-harness` repository (links rewritten to site routes, verbatim identical to the live site). 182 pages in both Chinese and English.
|
|
19
|
+
- **Supplementary docs**: 56 development references from the repo's `docs/` that were not published to the site (glossary, defensive patterns, module graph, testing strategy, incident postmortems, i18n specs, etc.).
|
|
20
20
|
- **Agent-friendly**: the `skills/dsh-plugin-dev-kb.md` skill lets dsh auto-load it during plugin development tasks, providing the knowledge base location,
|
|
21
21
|
topic navigation, and search strategy; `kb/meta/topics.md` maps task scenarios to the files to read; `kb/meta/search-index.json` provides full search coverage.
|
|
22
22
|
|
|
23
23
|
## Features
|
|
24
24
|
|
|
25
25
|
- **Complete mirror of the official docs**: the entire content of the deepseek-ai/deepseek-harness official documentation site, organized into a form natively usable by dsh,
|
|
26
|
-
|
|
27
|
-
- **Repo supplementary docs**:
|
|
26
|
+
182 pages in both Chinese and English, links rewritten to site routes, verbatim identical to the live site;
|
|
27
|
+
- **Repo supplementary docs**: 56 development references not published to the site (glossary, defensive patterns, module graph, testing strategy, incident postmortems, i18n specs, etc.);
|
|
28
28
|
- **Agent-friendly**: the `dsh-plugin-dev-kb` skill lets dsh auto-load the knowledge base during plugin development tasks;
|
|
29
29
|
`kb/meta/topics.md` maps task scenarios to the files to read, and `kb/meta/search-index.json` provides full search coverage;
|
|
30
30
|
- **Human-usable**: browse the `kb/` directory directly, or open `kb/INDEX.md` to look things up by URL mapping;
|
|
@@ -90,7 +90,7 @@ dsh-plugin-dev-kb/
|
|
|
90
90
|
│ ├── extra/ repo supplementary docs: glossary, defensive-patterns, module-graph, postmortem/, i18n/ …
|
|
91
91
|
│ ├── meta/
|
|
92
92
|
│ │ ├── topics.md ★ topic navigation: task scenario → files
|
|
93
|
-
│ │ ├── search-index.json full index (
|
|
93
|
+
│ │ ├── search-index.json full index (241 files)
|
|
94
94
|
│ │ ├── source.json source commit / time / stats
|
|
95
95
|
│ │ └── site-pages.txt list of live site pages
|
|
96
96
|
│ ├── INDEX.md site URL ↔ local file mapping
|
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
[**中文**](./README.md) | [English](./README.en.md)
|
|
8
8
|
|
|
9
|
-
> **
|
|
9
|
+
> **182 页官方镜像 · 56 篇补充文档 · 241 文件搜索索引 · 0 运行时依赖**
|
|
10
10
|
|
|
11
11
|
**写 dsh 插件时的随身官方文档**:把 DeepSeek Harness 官方文档站点
|
|
12
12
|
<https://deepseek-harness.github.io/deepseek-harness/> 的全部内容整理为 dsh 原生可用的形态——
|
|
@@ -15,16 +15,16 @@
|
|
|
15
15
|
## 这是什么
|
|
16
16
|
|
|
17
17
|
- **站点完整镜像**:官方文档(VitePress)由仓库 `deepseek-ai/deepseek-harness` 的 `docs/` 原始 Markdown
|
|
18
|
-
投影生成(链接已按站点路由重写,与线上逐字一致)。中英双语共
|
|
19
|
-
- **补充文档**:仓库 `docs/` 中未发布到站点的
|
|
18
|
+
投影生成(链接已按站点路由重写,与线上逐字一致)。中英双语共 182 页。
|
|
19
|
+
- **补充文档**:仓库 `docs/` 中未发布到站点的 56 篇开发参考(术语表、防御模式、模块图、测试策略、事故复盘、i18n 规范等)。
|
|
20
20
|
- **agent 友好**:`skills/dsh-plugin-dev-kb.md` 技能让 dsh 在插件开发任务中自动加载,获知知识库位置、
|
|
21
21
|
主题导航与检索策略;`kb/meta/topics.md` 按任务场景映射要读的文件;`kb/meta/search-index.json` 提供全量检索。
|
|
22
22
|
|
|
23
23
|
## 功能
|
|
24
24
|
|
|
25
25
|
- **官方文档完整镜像**:deepseek-ai/deepseek-harness 官方文档站全部内容整理为 dsh 原生可用的形态,
|
|
26
|
-
中英双语共
|
|
27
|
-
- **仓库补充文档**:未发布到站点的
|
|
26
|
+
中英双语共 182 页,链接按站点路由重写,与线上逐字一致;
|
|
27
|
+
- **仓库补充文档**:未发布到站点的 56 篇开发参考(术语表、防御模式、模块图、测试策略、事故复盘、i18n 规范等);
|
|
28
28
|
- **agent 友好**:`dsh-plugin-dev-kb` 技能让 dsh 在插件开发任务中自动加载知识库;
|
|
29
29
|
`kb/meta/topics.md` 按任务场景映射要读的文件,`kb/meta/search-index.json` 提供全量检索;
|
|
30
30
|
- **人侧可用**:直接浏览 `kb/` 目录,或打开 `kb/INDEX.md` 按 URL 对照查阅;
|
|
@@ -90,7 +90,7 @@ dsh-plugin-dev-kb/
|
|
|
90
90
|
│ ├── extra/ 仓库补充文档:glossary、defensive-patterns、module-graph、postmortem/、i18n/ …
|
|
91
91
|
│ ├── meta/
|
|
92
92
|
│ │ ├── topics.md ★ 主题导航:任务场景 → 文件
|
|
93
|
-
│ │ ├── search-index.json 全量索引(
|
|
93
|
+
│ │ ├── search-index.json 全量索引(241 文件)
|
|
94
94
|
│ │ ├── source.json 来源 commit / 时间 / 统计
|
|
95
95
|
│ │ └── site-pages.txt 线上页面清单
|
|
96
96
|
│ ├── INDEX.md 站点 URL ↔ 本地文件 对照
|
package/kb/INDEX.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# DeepSeek Harness 文档索引
|
|
2
2
|
|
|
3
|
-
> 由 `scripts/rebuild-index.mjs` 自动生成。共
|
|
3
|
+
> 由 `scripts/rebuild-index.mjs` 自动生成。共 182 个站点页面(中英双语),另有 56 个补充文档在 `extra/`。
|
|
4
4
|
|
|
5
5
|
## 中文站点(根路径)
|
|
6
6
|
|
|
@@ -14,9 +14,12 @@
|
|
|
14
14
|
|
|
15
15
|
| 页面 | 站点 URL | 本地文件 |
|
|
16
16
|
| --- | --- | --- |
|
|
17
|
+
| 通过 GitHub Webhook 创建评审会话 | [https://deepseek-harness.github.io/deepseek-harness/guide/github-review](https://deepseek-harness.github.io/deepseek-harness/guide/github-review) | `site/guide/github-review.md` |
|
|
18
|
+
| 连接第三方记忆 MCP 服务 | [https://deepseek-harness.github.io/deepseek-harness/guide/mcp-memory](https://deepseek-harness.github.io/deepseek-harness/guide/mcp-memory) | `site/guide/mcp-memory.md` |
|
|
17
19
|
| 配置模型 | [https://deepseek-harness.github.io/deepseek-harness/guide/providers](https://deepseek-harness.github.io/deepseek-harness/guide/providers) | `site/guide/providers.md` |
|
|
18
|
-
| Python SDK
|
|
20
|
+
| Python SDK 入门 | [https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk](https://deepseek-harness.github.io/deepseek-harness/guide/python-sdk) | `site/guide/python-sdk.md` |
|
|
19
21
|
| 使用 Web UI | [https://deepseek-harness.github.io/deepseek-harness/guide/quickstart](https://deepseek-harness.github.io/deepseek-harness/guide/quickstart) | `site/guide/quickstart.md` |
|
|
22
|
+
| 安排会话内提醒 | [https://deepseek-harness.github.io/deepseek-harness/guide/schedule](https://deepseek-harness.github.io/deepseek-harness/guide/schedule) | `site/guide/schedule.md` |
|
|
20
23
|
|
|
21
24
|
### 开发(/develop/)
|
|
22
25
|
|
|
@@ -37,6 +40,7 @@
|
|
|
37
40
|
| 事件系统 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework/events](https://deepseek-harness.github.io/deepseek-harness/develop/framework/events) | `site/develop/framework/events.md` |
|
|
38
41
|
| 插件与生命周期 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework](https://deepseek-harness.github.io/deepseek-harness/develop/framework) | `site/develop/framework/index.md` |
|
|
39
42
|
| 服务与依赖 | [https://deepseek-harness.github.io/deepseek-harness/develop/framework/service](https://deepseek-harness.github.io/deepseek-harness/develop/framework/service) | `site/develop/framework/service.md` |
|
|
43
|
+
| 用 Cordis 工具扩展运行中的智能体 | [https://deepseek-harness.github.io/deepseek-harness/develop/practice/dynamic-cordis](https://deepseek-harness.github.io/deepseek-harness/develop/practice/dynamic-cordis) | `site/develop/practice/dynamic-cordis.md` |
|
|
40
44
|
| 能力的三种角色设计 | [https://deepseek-harness.github.io/deepseek-harness/develop/practice](https://deepseek-harness.github.io/deepseek-harness/develop/practice) | `site/develop/practice/index.md` |
|
|
41
45
|
| LLM 适配器 | [https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter](https://deepseek-harness.github.io/deepseek-harness/develop/practice/llm-adapter) | `site/develop/practice/llm-adapter.md` |
|
|
42
46
|
|
|
@@ -45,9 +49,9 @@
|
|
|
45
49
|
| 页面 | 站点 URL | 本地文件 |
|
|
46
50
|
| --- | --- | --- |
|
|
47
51
|
| Agent 轮次与步骤生命周期 | [https://deepseek-harness.github.io/deepseek-harness/reference/agent-lifecycle](https://deepseek-harness.github.io/deepseek-harness/reference/agent-lifecycle) | `site/reference/agent-lifecycle.md` |
|
|
52
|
+
| API Gateway | [https://deepseek-harness.github.io/deepseek-harness/reference/api-gateway](https://deepseek-harness.github.io/deepseek-harness/reference/api-gateway) | `site/reference/api-gateway.md` |
|
|
48
53
|
| 能力 Seams 与核心服务 | [https://deepseek-harness.github.io/deepseek-harness/reference/capability-seams](https://deepseek-harness.github.io/deepseek-harness/reference/capability-seams) | `site/reference/capability-seams.md` |
|
|
49
54
|
| 插件配置目录 | [https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog) | `site/reference/config-catalog.md` |
|
|
50
|
-
| 添加 Web Client Conversation Node | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-conversation-node](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-conversation-node) | `site/reference/cookbook/adding-a-conversation-node.md` |
|
|
51
55
|
| 实操手册:添加 workspace 包 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package) | `site/reference/cookbook/adding-a-package.md` |
|
|
52
56
|
| Cookbook: 新增设置卡片 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-settings-card](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-settings-card) | `site/reference/cookbook/adding-a-settings-card.md` |
|
|
53
57
|
| 工具编写参考 | [https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) | `site/reference/cookbook/adding-a-tool.md` |
|
|
@@ -67,6 +71,7 @@
|
|
|
67
71
|
| 代码运行时 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/code-runtime](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/code-runtime) | `site/reference/subsystems/code-runtime.md` |
|
|
68
72
|
| 用户命令 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/commands](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/commands) | `site/reference/subsystems/commands.md` |
|
|
69
73
|
| 压缩(compaction) | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/compaction](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/compaction) | `site/reference/subsystems/compaction.md` |
|
|
74
|
+
| Conversation 组装 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/conversation](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/conversation) | `site/reference/subsystems/conversation.md` |
|
|
70
75
|
| 核心 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/core](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/core) | `site/reference/subsystems/core.md` |
|
|
71
76
|
| 用户凭据 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/credentials](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/credentials) | `site/reference/subsystems/credentials.md` |
|
|
72
77
|
| 文件系统 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/filesystem](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/filesystem) | `site/reference/subsystems/filesystem.md` |
|
|
@@ -91,6 +96,7 @@
|
|
|
91
96
|
| 用户设置 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/settings](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/settings) | `site/reference/subsystems/settings.md` |
|
|
92
97
|
| Bash 执行器 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/shell](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/shell) | `site/reference/subsystems/shell.md` |
|
|
93
98
|
| Skills | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/skills](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/skills) | `site/reference/subsystems/skills.md` |
|
|
99
|
+
| Web Client Slots | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/slots](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/slots) | `site/reference/subsystems/slots.md` |
|
|
94
100
|
| spill 存储 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/spill](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/spill) | `site/reference/subsystems/spill.md` |
|
|
95
101
|
| 存储 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/storage](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/storage) | `site/reference/subsystems/storage.md` |
|
|
96
102
|
| Subagent | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subagent](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/subagent) | `site/reference/subsystems/subagent.md` |
|
|
@@ -101,6 +107,7 @@
|
|
|
101
107
|
| 工具 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/tools](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/tools) | `site/reference/subsystems/tools.md` |
|
|
102
108
|
| Typert 远程调用 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/typert](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/typert) | `site/reference/subsystems/typert.md` |
|
|
103
109
|
| 用户交互 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/user-questions](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/user-questions) | `site/reference/subsystems/user-questions.md` |
|
|
110
|
+
| Web Client 架构 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-client](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-client) | `site/reference/subsystems/web-client.md` |
|
|
104
111
|
| HTTP 服务器 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-server](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web-server) | `site/reference/subsystems/web-server.md` |
|
|
105
112
|
| Web 访问 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/web) | `site/reference/subsystems/web.md` |
|
|
106
113
|
| 工作流 | [https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workflow](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/workflow) | `site/reference/subsystems/workflow.md` |
|
|
@@ -135,15 +142,19 @@
|
|
|
135
142
|
| Event system | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/events](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/events) | `site/en/develop/framework/events.md` |
|
|
136
143
|
| Plugins and lifecycle | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework) | `site/en/develop/framework/index.md` |
|
|
137
144
|
| Services and dependencies | [https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/service](https://deepseek-harness.github.io/deepseek-harness/en/develop/framework/service) | `site/en/develop/framework/service.md` |
|
|
145
|
+
| Extend a running agent with Cordis tools | [https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/dynamic-cordis](https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/dynamic-cordis) | `site/en/develop/practice/dynamic-cordis.md` |
|
|
138
146
|
| Three-role capability design | [https://deepseek-harness.github.io/deepseek-harness/en/develop/practice](https://deepseek-harness.github.io/deepseek-harness/en/develop/practice) | `site/en/develop/practice/index.md` |
|
|
139
147
|
| LLM adapters | [https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/llm-adapter](https://deepseek-harness.github.io/deepseek-harness/en/develop/practice/llm-adapter) | `site/en/develop/practice/llm-adapter.md` |
|
|
148
|
+
| Create review Sessions from GitHub webhooks | [https://deepseek-harness.github.io/deepseek-harness/en/guide/github-review](https://deepseek-harness.github.io/deepseek-harness/en/guide/github-review) | `site/en/guide/github-review.md` |
|
|
149
|
+
| Connect a third-party memory MCP server | [https://deepseek-harness.github.io/deepseek-harness/en/guide/mcp-memory](https://deepseek-harness.github.io/deepseek-harness/en/guide/mcp-memory) | `site/en/guide/mcp-memory.md` |
|
|
140
150
|
| Configure models | [https://deepseek-harness.github.io/deepseek-harness/en/guide/providers](https://deepseek-harness.github.io/deepseek-harness/en/guide/providers) | `site/en/guide/providers.md` |
|
|
141
151
|
| Get started with the Python SDK | [https://deepseek-harness.github.io/deepseek-harness/en/guide/python-sdk](https://deepseek-harness.github.io/deepseek-harness/en/guide/python-sdk) | `site/en/guide/python-sdk.md` |
|
|
142
152
|
| Use the Web UI | [https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart](https://deepseek-harness.github.io/deepseek-harness/en/guide/quickstart) | `site/en/guide/quickstart.md` |
|
|
153
|
+
| Schedule session-local reminders | [https://deepseek-harness.github.io/deepseek-harness/en/guide/schedule](https://deepseek-harness.github.io/deepseek-harness/en/guide/schedule) | `site/en/guide/schedule.md` |
|
|
143
154
|
| Agent Turn And Step Lifecycle | [https://deepseek-harness.github.io/deepseek-harness/en/reference/agent-lifecycle](https://deepseek-harness.github.io/deepseek-harness/en/reference/agent-lifecycle) | `site/en/reference/agent-lifecycle.md` |
|
|
155
|
+
| API Gateway | [https://deepseek-harness.github.io/deepseek-harness/en/reference/api-gateway](https://deepseek-harness.github.io/deepseek-harness/en/reference/api-gateway) | `site/en/reference/api-gateway.md` |
|
|
144
156
|
| Capability Seams And Core Services | [https://deepseek-harness.github.io/deepseek-harness/en/reference/capability-seams](https://deepseek-harness.github.io/deepseek-harness/en/reference/capability-seams) | `site/en/reference/capability-seams.md` |
|
|
145
157
|
| Plugin Config Catalog | [https://deepseek-harness.github.io/deepseek-harness/en/reference/config-catalog](https://deepseek-harness.github.io/deepseek-harness/en/reference/config-catalog) | `site/en/reference/config-catalog.md` |
|
|
146
|
-
| Add a Web Client conversation node | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-conversation-node](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-conversation-node) | `site/en/reference/cookbook/adding-a-conversation-node.md` |
|
|
147
158
|
| Cookbook: adding a workspace package | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-package](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-package) | `site/en/reference/cookbook/adding-a-package.md` |
|
|
148
159
|
| Cookbook: adding a settings card | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-settings-card](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-settings-card) | `site/en/reference/cookbook/adding-a-settings-card.md` |
|
|
149
160
|
| Tool authoring reference | [https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/en/reference/cookbook/adding-a-tool) | `site/en/reference/cookbook/adding-a-tool.md` |
|
|
@@ -163,6 +174,7 @@
|
|
|
163
174
|
| Code Runtime | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/code-runtime](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/code-runtime) | `site/en/reference/subsystems/code-runtime.md` |
|
|
164
175
|
| Human Commands | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/commands](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/commands) | `site/en/reference/subsystems/commands.md` |
|
|
165
176
|
| Compaction | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/compaction](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/compaction) | `site/en/reference/subsystems/compaction.md` |
|
|
177
|
+
| Conversation assembly | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/conversation](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/conversation) | `site/en/reference/subsystems/conversation.md` |
|
|
166
178
|
| Core | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/core](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/core) | `site/en/reference/subsystems/core.md` |
|
|
167
179
|
| User Credentials | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/credentials](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/credentials) | `site/en/reference/subsystems/credentials.md` |
|
|
168
180
|
| Filesystem | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/filesystem](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/filesystem) | `site/en/reference/subsystems/filesystem.md` |
|
|
@@ -187,6 +199,7 @@
|
|
|
187
199
|
| User Settings | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/settings](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/settings) | `site/en/reference/subsystems/settings.md` |
|
|
188
200
|
| Bash Executor | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/shell](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/shell) | `site/en/reference/subsystems/shell.md` |
|
|
189
201
|
| Skills | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/skills](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/skills) | `site/en/reference/subsystems/skills.md` |
|
|
202
|
+
| Web Client Slots | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/slots](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/slots) | `site/en/reference/subsystems/slots.md` |
|
|
190
203
|
| Spill Storage | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/spill](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/spill) | `site/en/reference/subsystems/spill.md` |
|
|
191
204
|
| Storage | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/storage](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/storage) | `site/en/reference/subsystems/storage.md` |
|
|
192
205
|
| Subagent | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subagent](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/subagent) | `site/en/reference/subsystems/subagent.md` |
|
|
@@ -197,6 +210,7 @@
|
|
|
197
210
|
| Tools | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/tools](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/tools) | `site/en/reference/subsystems/tools.md` |
|
|
198
211
|
| Typert remote calls | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/typert](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/typert) | `site/en/reference/subsystems/typert.md` |
|
|
199
212
|
| User Interaction | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/user-questions](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/user-questions) | `site/en/reference/subsystems/user-questions.md` |
|
|
213
|
+
| Web Client architecture | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-client](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-client) | `site/en/reference/subsystems/web-client.md` |
|
|
200
214
|
| HTTP Server | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-server](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web-server) | `site/en/reference/subsystems/web-server.md` |
|
|
201
215
|
| Web Access | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/web) | `site/en/reference/subsystems/web.md` |
|
|
202
216
|
| Workflow | [https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workflow](https://deepseek-harness.github.io/deepseek-harness/en/reference/subsystems/workflow) | `site/en/reference/subsystems/workflow.md` |
|
|
@@ -206,5 +220,5 @@
|
|
|
206
220
|
|
|
207
221
|
---
|
|
208
222
|
|
|
209
|
-
*站点页面:
|
|
223
|
+
*站点页面:182(中文 91,英文 91)*
|
|
210
224
|
|
package/kb/README.md
CHANGED
|
@@ -11,11 +11,12 @@ knowledge/deepseek-harness/
|
|
|
11
11
|
├── INDEX.md 全部页面的 站点 URL ↔ 本地文件 对照索引(自动生成)
|
|
12
12
|
├── site/ 线上站点的完整镜像(中英双语,链接已按站点路由重写)
|
|
13
13
|
│ ├── index.md 中文首页(/deepseek-harness/)
|
|
14
|
-
│ ├── guide/ 入门:quickstart / providers / python-sdk
|
|
14
|
+
│ ├── guide/ 入门:quickstart / providers / python-sdk / github-review /
|
|
15
|
+
│ │ schedule / mcp-memory
|
|
15
16
|
│ ├── develop/ 开发:basic(第一个插件/tool/config/publish)、
|
|
16
17
|
│ │ framework(生命周期/service/事件)、practice、cordis-tutorial(7 章)
|
|
17
18
|
│ ├── reference/ 参考:架构、capability-seams、config-catalog、tool-catalog、
|
|
18
|
-
│ │ cordis-api、cookbook、subsystems(
|
|
19
|
+
│ │ api-gateway、cordis-api、cookbook、subsystems(46 个子系统页)…
|
|
19
20
|
│ └── en/ 英文站镜像(/deepseek-harness/en/...),结构同上
|
|
20
21
|
├── extra/ 仓库 docs/ 中未发布到站点的补充文档(开发参考)
|
|
21
22
|
│ ├── glossary.md 术语表(capability seam 等核心概念)
|
|
@@ -27,7 +28,7 @@ knowledge/deepseek-harness/
|
|
|
27
28
|
│ └── i18n/ 文档双语规范与术语
|
|
28
29
|
└── meta/
|
|
29
30
|
├── source.json 来源信息:仓库 commit、抓取时间、统计
|
|
30
|
-
└── site-pages.txt
|
|
31
|
+
└── site-pages.txt 线上站点页面清单(由投影结果生成,182 页)
|
|
31
32
|
```
|
|
32
33
|
|
|
33
34
|
## 插件开发学习路径(从 `site/` 开始)
|
|
@@ -37,13 +38,13 @@ knowledge/deepseek-harness/
|
|
|
37
38
|
3. **插件配置** — `site/develop/basic/config.md`;**打包安装** — `site/develop/basic/publish.md`
|
|
38
39
|
4. **框架能力** — `site/develop/framework/index.md`(生命周期)、`service.md`(服务与依赖注入)、`events.md`(事件系统)
|
|
39
40
|
5. **Cordis 框架教程** — `site/develop/cordis-tutorial/`(7 章:插件/生命周期/服务/事件/配置/组合与热重载/进入 Harness)
|
|
40
|
-
6. **实战** — `site/develop/practice/index.md`(能力三层拆分)、`llm-adapter.md
|
|
41
|
+
6. **实战** — `site/develop/practice/index.md`(能力三层拆分)、`llm-adapter.md`、`dynamic-cordis.md`(运行时动态装配 Cordis)
|
|
41
42
|
7. **按需查阅** — `site/reference/`:
|
|
42
43
|
- 架构总览 `reference/index.md`;能力服务 `reference/capability-seams.md`;Agent 生命周期 `reference/agent-lifecycle.md`
|
|
43
|
-
- 插件配置目录 `reference/config-catalog.md`;Tool Schema 目录 `reference/tool-catalog.md`;持久化事件 `reference/persistence-catalog.md`
|
|
44
|
+
- 插件配置目录 `reference/config-catalog.md`;Tool Schema 目录 `reference/tool-catalog.md`;持久化事件 `reference/persistence-catalog.md`;API Gateway `reference/api-gateway.md`(Typert Remote 方法/RPC 约定)
|
|
44
45
|
- Cordis API `reference/cordis-api/`(Context / Events / Fiber / Registry / Service / 继承接口面)
|
|
45
|
-
- Cookbook `reference/cookbook/`(新增 package / tool / LLM adapter / 设置卡片 /
|
|
46
|
-
- 子系统 `reference/subsystems/`(core / scope / session / tools / shell / filesystem / subagent / sandbox / approval … 共
|
|
46
|
+
- Cookbook `reference/cookbook/`(新增 package / tool / LLM adapter / 设置卡片 / 扩展模式)
|
|
47
|
+
- 子系统 `reference/subsystems/`(core / scope / session / tools / shell / filesystem / subagent / sandbox / approval / conversation / slots / web-client … 共 46 页)
|
|
47
48
|
|
|
48
49
|
## 更新方法
|
|
49
50
|
|
|
@@ -75,6 +76,6 @@ node scripts/rebuild-index.mjs
|
|
|
75
76
|
|
|
76
77
|
## 统计
|
|
77
78
|
|
|
78
|
-
- 站点页面:
|
|
79
|
-
- 补充文档:
|
|
80
|
-
- 来源 commit:`
|
|
79
|
+
- 站点页面:182 个 Markdown(中文 91 + 英文 91),4 张图片
|
|
80
|
+
- 补充文档:56 个 Markdown(`extra/`)
|
|
81
|
+
- 来源 commit:`cd5ef8148158c3a752a658978873241fdf8e2bbc`(master)
|
package/kb/extra/AGENTS.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AGENTS.md — The documentation standard
|
|
2
2
|
|
|
3
|
-
This file defines document structure, Markdown tiers, writing rules, and `verify-doc-budgets` ceilings. Use [dsh-doc
|
|
3
|
+
This file defines document structure, Markdown tiers, writing rules, and `verify-doc-budgets` ceilings. Use [dsh-doc](../.agents/skills/dsh-doc/SKILL.md) for placement and validation, and [dsh-prose-standard](../.agents/skills/dsh-prose-standard/SKILL.md) for required coverage and editorial judgment; the [doc-tiers Agent Note](../.agents/notes/implemented/process/2026-07-04-doc-tiers-and-budgets.md) owns rationale.
|
|
4
4
|
|
|
5
5
|
## Document structure
|
|
6
6
|
|
|
@@ -19,7 +19,7 @@ Each fact has one home: the tier whose job it is; elsewhere, link there.
|
|
|
19
19
|
| Tier | Job | Does NOT belong there |
|
|
20
20
|
|---|---|---|
|
|
21
21
|
| Root `AGENTS.md` | Standing orders: rules an agent needs in context in every session, one to three lines each, linking its home | Stories, worked examples, situational procedures, anything restated from a linked home |
|
|
22
|
-
| Subtree `AGENTS.md` (`packages/`, `
|
|
22
|
+
| Subtree `AGENTS.md` (`packages/`, `docs/`, `.agents/notes/`) | Orders specific to that subtree | Repo-wide rules the root file already carries |
|
|
23
23
|
| [architecture.md](architecture.md) | Ordered map: composition, core packages, loop, seams, extension points; read before changing `packages/` | Type definitions (→ subsystems), per-package detail (→ package READMEs), decision rationale (→ Agent Notes), implementation-status annotations |
|
|
24
24
|
| [subsystems/](subsystems/README.md) | One reference page per subsystem: type definitions, semantics, and the generated Cordis API | Behavior narration (→ architecture.md) |
|
|
25
25
|
| [Agent Notes](../.agents/notes/README.md) | Active decision records: the why, what-was-given-up, and required verification; `implemented/` notes describe shipped reality in present tense | Migration plans, acceptance-task checklists, fixture walkthroughs, and spec-speak ("should…") once the decision has shipped; archived notes are frozen history, never current authority |
|
|
@@ -54,11 +54,11 @@ When the gate goes red:
|
|
|
54
54
|
2. **Condense** content that belongs here but can be shorter.
|
|
55
55
|
3. **Raise** the ceiling only when the words need the space; justify the manifest diff in the PR. A too-low ceiling is a budget bug.
|
|
56
56
|
|
|
57
|
-
Ceilings are guardrails, not reduction targets. At or below target, retain at least 5% headroom; above target, freeze the ceiling until relocation or condensation brings the document under target. Lower a ceiling only when the document still has room
|
|
57
|
+
Ceilings are guardrails, not reduction targets. At or below target, retain at least 5% headroom; above target, freeze the ceiling until relocation or condensation brings the document under target. Lower a ceiling only when the document still has room. Targets: root `AGENTS.md` ≤ 1,950; `architecture.md` ≤ 2,400; subtree `AGENTS.md` ≤ 600, except `packages/AGENTS.md` ≤ 675 and this file ≤ 1,320; `packages/README.md` ≤ 994; plus `cordis-primer.md` 600, `defensive-patterns.md` 550, `testing.md` 1,150, `examples/AGENTS.md` 310. Review governs unbudgeted tiers.
|
|
58
58
|
|
|
59
59
|
## The slop checklist
|
|
60
60
|
|
|
61
|
-
Hunt these in any doc; [dsh-doc
|
|
61
|
+
Hunt these in any doc; [dsh-doc](../.agents/skills/dsh-doc/SKILL.md) runs this list as an audit:
|
|
62
62
|
|
|
63
63
|
- The same rule stated in more than one home. Grep a distinctive phrase; keep one home and link the rest.
|
|
64
64
|
- Narrated history or war stories: "previously", "now", "no longer", "used to", "renamed", "was moved", PRs, or commits. State the current fact; link an Agent Note or postmortem when needed.
|
|
@@ -8,7 +8,7 @@ When the harness needs another upstream Cordis package (e.g. `@cordisjs/plugin-h
|
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
vendor/<dir>/
|
|
11
|
-
package.json # from upstream;
|
|
11
|
+
package.json # from upstream; rescope the name, keep exports/type (publishable release member, no private flag)
|
|
12
12
|
tsconfig.json # extends ../../tsconfig.base.json (see configuration below)
|
|
13
13
|
src/ # the upstream src/ verbatim
|
|
14
14
|
README.md LICENSE # if upstream ships them
|
|
@@ -29,7 +29,7 @@ vendor/<dir>/
|
|
|
29
29
|
}
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
`package.json` invariants:
|
|
32
|
+
`package.json` invariants: rescope the `name` ([mapping](../rescope.md)) while keeping upstream's `exports`/`type`, point declaration metadata at `lib/types`, publish `.d.ts` and `.d.ts.map` declaration outputs, and list its cordis deps in `peerDependencies` (matching the upstream manifest). Vendored packages are publishable release members, so they must NOT set `private: true` and must set `publishConfig.access: public`; the `version` field follows the harness release sequence (see [vendor/README.md](../../vendor/README.md)). Transitive upstream deps must themselves be vendored or already present — vendoring one package often means vendoring its dependency tree (e.g. `@cordisjs/plugin-http` pulls `@cordisjs/fetch-file`).
|
|
33
33
|
|
|
34
34
|
Local relative imports/exports in vendored TypeScript source use explicit `.ts` specifiers after copying. This is a repo-local build difference from upstream: `rewriteRelativeImportExtensions` emits `.js` runtime imports while declarations keep explicit `.ts` specifiers that NodeNext/Node16 TypeScript consumers can resolve.
|
|
35
35
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
```
|
|
10
10
|
vendor/<dir>/
|
|
11
|
-
package.json # from upstream;
|
|
11
|
+
package.json # from upstream; rescope the name, keep exports/type (publishable release member, no private flag)
|
|
12
12
|
tsconfig.json # extends ../../tsconfig.base.json (see configuration below)
|
|
13
13
|
src/ # the upstream src/ verbatim
|
|
14
14
|
README.md LICENSE # if upstream ships them
|
|
@@ -29,7 +29,7 @@ vendor/<dir>/
|
|
|
29
29
|
}
|
|
30
30
|
```
|
|
31
31
|
|
|
32
|
-
`package.json`
|
|
32
|
+
`package.json` 的不变式:改写 `name` 的 scope([映射](../rescope.zh.md)),保留上游的 `exports`/`type`;声明元数据指向 `lib/types`;发布 `.d.ts` 与 `.d.ts.map` 声明输出;在 `peerDependencies` 中列出其 Cordis 依赖(与上游 manifest(元数据清单)一致)。vendored 包是可发布的 release member,因此不得设置 `private: true`,且必须设置 `publishConfig.access: public`;`version` 字段跟随 harness 发布序列(见 [vendor/README.md](../../vendor/README.md))。传递性上游依赖本身也必须被 vendor 或已存在于仓库中——vendor 一个包往往意味着 vendor 其整条依赖树(如 `@cordisjs/plugin-http` 会拉入 `@cordisjs/fetch-file`)。
|
|
33
33
|
|
|
34
34
|
vendored TypeScript 源码中的本地相对导入/导出在复制后使用显式 `.ts` 后缀。这是仓库本地构建与上游的差异:`rewriteRelativeImportExtensions` 输出 `.js` 运行时导入,而声明文件保留显式 `.ts` 后缀,使 NodeNext/Node16 的 TypeScript 消费方能够解析。
|
|
35
35
|
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
# Official DeepSeek LLM API wire extensions
|
|
2
|
+
|
|
3
|
+
English | [中文](deepseek-llm-api-wire-extensions.zh.md)
|
|
4
|
+
|
|
5
|
+
This reference defines every DeepSeek Harness-specific HTTP header and additive JSON field sent by [`@deepseek-ai/dsh-llm-deepseek`](../packages/llm/llm-deepseek/README.md) on `deepseek-official` chat-completion requests. It does not redefine fields owned by the upstream DeepSeek API. The provider-neutral LLM interface and `llm-pi-ai` do not implement these additions.
|
|
6
|
+
|
|
7
|
+
The adapter sends the additions to its resolved `baseURL`, including a configured gateway. They remain outside `messages`, system prompts, and tool schemas, so they do not add model-input tokens or alter the model-visible prefix.
|
|
8
|
+
|
|
9
|
+
## Wire namespaces and versioning
|
|
10
|
+
|
|
11
|
+
| Location | Naming | Examples |
|
|
12
|
+
|---|---|---|
|
|
13
|
+
| HTTP field names | Lowercase kebab-case; HTTP matching remains case-insensitive | `user-agent`, `x-deepseek-harness-session-id` |
|
|
14
|
+
| DeepSeek request-body extension fields | Snake case with the reserved `dsh_` prefix | `dsh_plugin_packages`, `dsh_session_log` |
|
|
15
|
+
| DSH-owned nested JSON members | Camel case | `afterSeq`, `throughSeq`, `sessionId` |
|
|
16
|
+
| Tagged values | Kebab-case strings; durable events use `domain/action` | `session-log-deepseek/delivery-accepted` |
|
|
17
|
+
|
|
18
|
+
Each body extension owns its `version` independently. A version applies only to the object that contains it; no compatibility or ordering relationship exists between versions of different fields. JSON member order is not part of the protocol.
|
|
19
|
+
|
|
20
|
+
The [`DeepSeekLlmApiExtensionRegistry`](../packages/llm/deepseek-llm-api-extensions/README.md) reserves one provider per top-level extension name. Empty or whitespace-padded names, duplicate registrations, and collisions with the base DeepSeek request fail before HTTP dispatch.
|
|
21
|
+
|
|
22
|
+
## Request headers
|
|
23
|
+
|
|
24
|
+
| Header | Presence | Value |
|
|
25
|
+
|---|---|---|
|
|
26
|
+
| `user-agent` | Every provider HTTP request, including Files API operations | Application identity in `product/version (+url)` form; the default product is `deepseek-harness` |
|
|
27
|
+
| `x-deepseek-harness-user-id` | Every authorized chat-completion request | The stable anonymous UUID for the resolved Harness home |
|
|
28
|
+
| `x-deepseek-harness-session-id` | Chat-completion requests carrying a Session id | The exact request `sessionId` string |
|
|
29
|
+
| `x-deepseek-harness-compact` | Chat-completion requests whose purpose is `compaction` | The literal string `1` |
|
|
30
|
+
|
|
31
|
+
Credential failure happens before anonymous-user-id resolution, so an unauthorized request neither sends these headers nor creates the identity file. A direct request without a Session omits `x-deepseek-harness-session-id`. Session-title requests have no additional purpose header; the ordinary Session-id rule still applies when one carries a `sessionId`.
|
|
32
|
+
|
|
33
|
+
## Body-extension transaction
|
|
34
|
+
|
|
35
|
+
The adapter serializes the complete base body, including the exact `messages`, before it asks registered providers to prepare fields. A provider receives that immutable body, the request cancellation signal, and optional `sessionId` and auxiliary-call `purpose`. Returning `undefined` omits that provider's field for the request.
|
|
36
|
+
|
|
37
|
+
Prepared JSON values are detached from provider-owned state, merged as top-level siblings of the base fields, and serialized in the same HTTP body. Preparation or collision failure prevents the request. A composition without the registry sends the unextended base body.
|
|
38
|
+
|
|
39
|
+
After the configured endpoint returns HTTP 2xx, the adapter runs the prepared `accept()` transaction before reading the SSE response body. Transport failures and non-2xx responses do not accept any contribution. An acceptance failure fails the model request even though the endpoint returned 2xx. Acceptance records endpoint-level HTTP success; it does not assert that an SSE stream completed or that the endpoint persisted an extension.
|
|
40
|
+
|
|
41
|
+
## `dsh_plugin_packages`
|
|
42
|
+
|
|
43
|
+
[`@deepseek-ai/dsh-plugin-package-inventory-deepseek`](../packages/llm/plugin-package-inventory-deepseek/README.md) contributes the complete active Loader-backed plugin package inventory. The field is enabled by default.
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"dsh_plugin_packages": {
|
|
48
|
+
"version": 1,
|
|
49
|
+
"packages": [
|
|
50
|
+
{
|
|
51
|
+
"name": "@deepseek-ai/dsh-example",
|
|
52
|
+
"version": "0.1.1-rc.2"
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
| Member | Type | Meaning |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| `version` | `1` | Schema version for `dsh_plugin_packages` |
|
|
62
|
+
| `packages` | array | Complete active set for this request |
|
|
63
|
+
| `packages[].name` | string | Exact non-empty npm package name from the owning manifest |
|
|
64
|
+
| `packages[].version` | string | Exact non-empty package version from the same manifest |
|
|
65
|
+
|
|
66
|
+
Every request re-reads active non-group Loader entries from the host tree and, when available for the request Session, its standing agent-preset tree. Relative and absolute modules use their nearest owning manifest; bare package entries follow the Loader resolution base that activated them. A named manifest without a non-empty version fails request preparation.
|
|
67
|
+
|
|
68
|
+
The sender deduplicates exact `(name, version)` pairs and sorts first by `name`, then by `version`, with a locale-independent text comparison. Simultaneously active versions of one package remain separate entries. Receivers must not collapse the array by package name or infer package activation from array order.
|
|
69
|
+
|
|
70
|
+
Disabled, pending, failed, unloading, disposed, and structural Loader entries are absent. Ordinary dependencies, loose modules without a named owning package, programmatically mounted child fibers, and in-memory dynamic plugins are also absent because they have no authoritative Loader package provenance.
|
|
71
|
+
|
|
72
|
+
An enabled inventory with no qualifying entries sends `packages: []`; disabling the contributor omits the entire `dsh_plugin_packages` field. Package identities are provider metadata and never enter model input.
|
|
73
|
+
|
|
74
|
+
## `dsh_session_log`
|
|
75
|
+
|
|
76
|
+
[`@deepseek-ai/dsh-session-log-deepseek`](../packages/session/session-log-deepseek/README.md) contributes one contiguous suffix of the canonical Session log. The field is disabled by default. When enabled, it applies to a request with a live Session and at least one event; a direct request, a stale Session id, or an empty log omits the field.
|
|
77
|
+
|
|
78
|
+
```json
|
|
79
|
+
{
|
|
80
|
+
"dsh_session_log": {
|
|
81
|
+
"version": 1,
|
|
82
|
+
"session": {
|
|
83
|
+
"version": 0,
|
|
84
|
+
"id": "session-id",
|
|
85
|
+
"createdAt": 1780000000000
|
|
86
|
+
},
|
|
87
|
+
"afterSeq": -1,
|
|
88
|
+
"throughSeq": 0,
|
|
89
|
+
"events": [
|
|
90
|
+
{
|
|
91
|
+
"type": "turn/start",
|
|
92
|
+
"seq": 0,
|
|
93
|
+
"time": 1780000000001,
|
|
94
|
+
"data": {
|
|
95
|
+
"turn": 1
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
]
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
| Member | Type | Meaning |
|
|
104
|
+
|---|---|---|
|
|
105
|
+
| `version` | `1` | Schema version for `dsh_session_log` |
|
|
106
|
+
| `session` | object | Immutable canonical `SessionHeader` |
|
|
107
|
+
| `afterSeq` | integer | Greatest sequence recorded as accepted before this request, or `-1` |
|
|
108
|
+
| `throughSeq` | non-negative integer | Greatest sequence represented by this request |
|
|
109
|
+
| `events` | array | Contiguous events from `afterSeq + 1` through `throughSeq` |
|
|
110
|
+
|
|
111
|
+
The first upload uses `afterSeq: -1` and carries the complete current log. Each later upload starts after the greatest accepted watermark for the same Session id. The sender snapshots the event array once per request; appends after that snapshot belong to a later request.
|
|
112
|
+
|
|
113
|
+
### Session header
|
|
114
|
+
|
|
115
|
+
The `session` member is the exact `Session.header`, not a complete runtime Session. The outer `dsh_session_log.version` selects this extension schema, while `session.version` selects the canonical on-disk Session format; the two version values evolve independently.
|
|
116
|
+
|
|
117
|
+
| Member | Presence | Meaning |
|
|
118
|
+
|---|---|---|
|
|
119
|
+
| `version` | required | Canonical Session format version; currently `0` |
|
|
120
|
+
| `id` | required | Exact Session id |
|
|
121
|
+
| `createdAt` | required | Non-negative safe-integer Unix epoch milliseconds |
|
|
122
|
+
| `cwd` | optional | Absolute working directory recorded at Session creation |
|
|
123
|
+
| `parentSession` | optional | Parent Session id for a fork |
|
|
124
|
+
| `seedLength` | optional | Number of leading events inherited through the seed |
|
|
125
|
+
| `origin` | optional | Literal `subagent` for a subagent child |
|
|
126
|
+
| `delegationDepth` | optional | Non-negative persisted subagent delegation depth |
|
|
127
|
+
| `agentPreset` | optional | Agent preset id used to compose this Session |
|
|
128
|
+
|
|
129
|
+
### Canonical event envelopes
|
|
130
|
+
|
|
131
|
+
Each `events` item is a complete canonical `SessionEvent`, independent of every other request field. An event always carries `type`, `seq`, `time`, and `data`; surface events may additionally carry `sourceEventSeqs` and `surfaceOp`. The sender copies every present member without projection, redaction, or reconstruction.
|
|
132
|
+
|
|
133
|
+
### Acceptance watermark and at-least-once delivery
|
|
134
|
+
|
|
135
|
+
After the endpoint returns HTTP 2xx, the contribution appends this canonical event to the same Session:
|
|
136
|
+
|
|
137
|
+
```json
|
|
138
|
+
{
|
|
139
|
+
"type": "session-log-deepseek/delivery-accepted",
|
|
140
|
+
"seq": 8,
|
|
141
|
+
"time": 1780000000002,
|
|
142
|
+
"data": {
|
|
143
|
+
"sessionId": "session-id",
|
|
144
|
+
"throughSeq": 7
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
`delivery-accepted` means that the configured endpoint returned HTTP 2xx for the containing LLM request. It does not assert SSE completion or remote persistence. The event's `throughSeq` must identify an earlier event, and its `sessionId` identifies the Session whose suffix was sent.
|
|
150
|
+
|
|
151
|
+
The sender folds the greatest matching `throughSeq`, so concurrent accepted requests cannot move the cursor backward. A resumed process rebuilds the cursor from the durable log. A fork ignores inherited watermarks that name its parent, and therefore sends its own complete inherited prefix before advancing under the child id. The watermark event itself belongs to the next unsent suffix.
|
|
152
|
+
|
|
153
|
+
Transport and non-2xx failures append no watermark. A crash after endpoint acceptance but before local persistence may resend an already accepted range; uncertainty produces duplicates, never a sequence gap. There is no independent upload store, size cap, or truncation path.
|
|
154
|
+
|
|
155
|
+
## Exposure and receiver requirements
|
|
156
|
+
|
|
157
|
+
The request headers expose the Harness application version, one anonymous Harness-home identity, and an optional Session identity. `dsh_plugin_packages` exposes active npm package names and versions. When enabled, `dsh_session_log` may expose the Session working directory, system-prompt snapshots, user and assistant content, raw assistant chunks, tool arguments and results, compaction summaries, feedback, and plugin-owned events. Adapter API keys are not Session events and therefore do not enter the field. A gateway selected through `baseURL` receives the same values as the official endpoint.
|
|
158
|
+
|
|
159
|
+
Receivers address extension fields by name, dispatch each field by its own `version`, preserve distinct package versions, and ignore JSON member ordering. A session-log receiver validates the contiguous sequence range before interpreting event types. Every unrecognized canonical event prevents lossless reconstruction. The base request remains usable without either the registry or a particular contribution; field absence means that contribution did not apply to that request.
|