dsh-plugin-dev-kb 1.0.0
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/LICENSE +21 -0
- package/README.md +56 -0
- package/cordis.patch.yml +12 -0
- package/kb/INDEX.md +210 -0
- package/kb/README.md +69 -0
- package/kb/extra/AGENTS.md +75 -0
- package/kb/extra/api-gateway.md +164 -0
- package/kb/extra/api-gateway.zh.md +164 -0
- package/kb/extra/cookbook/adding-a-vendored-package.md +59 -0
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +59 -0
- package/kb/extra/cookbook/maintaining-dsh-code-review.md +64 -0
- package/kb/extra/cookbook/maintaining-dsh-code-review.zh.md +64 -0
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +32 -0
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +32 -0
- package/kb/extra/defensive-patterns.md +33 -0
- package/kb/extra/defensive-patterns.zh.md +33 -0
- package/kb/extra/development.md +171 -0
- package/kb/extra/development.zh.md +171 -0
- package/kb/extra/event-producer-consumer.md +76 -0
- package/kb/extra/event-producer-consumer.zh.md +78 -0
- package/kb/extra/glossary.md +45 -0
- package/kb/extra/glossary.zh.md +45 -0
- package/kb/extra/graph-atlas.md +24 -0
- package/kb/extra/graph-atlas.zh.md +26 -0
- package/kb/extra/i18n/README.md +60 -0
- package/kb/extra/i18n/README.zh.md +60 -0
- package/kb/extra/i18n/style-samples.md +87 -0
- package/kb/extra/i18n/terminology.md +214 -0
- package/kb/extra/i18n/translation-prompt.md +263 -0
- package/kb/extra/i18n/translation-rules.md +69 -0
- package/kb/extra/i18n/translation-rules.zh.md +69 -0
- package/kb/extra/module-graph.md +1641 -0
- package/kb/extra/module-graph.zh.md +1643 -0
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.md +113 -0
- package/kb/extra/postmortem/0001-acp-default-export-drops-inject.zh.md +113 -0
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.md +47 -0
- package/kb/extra/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +47 -0
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.md +53 -0
- package/kb/extra/postmortem/0003-web-agent-gui-feedback-loop.zh.md +53 -0
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +55 -0
- package/kb/extra/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +55 -0
- package/kb/extra/postmortem/README.md +18 -0
- package/kb/extra/postmortem/README.zh.md +18 -0
- package/kb/extra/rescope.md +53 -0
- package/kb/extra/rescope.zh.md +53 -0
- package/kb/extra/subsystems/attachment.md +125 -0
- package/kb/extra/subsystems/attachment.zh.md +125 -0
- package/kb/extra/subsystems/extensions.md +364 -0
- package/kb/extra/subsystems/extensions.zh.md +364 -0
- package/kb/extra/subsystems/feedback.md +266 -0
- package/kb/extra/subsystems/feedback.zh.md +266 -0
- package/kb/extra/testing.md +49 -0
- package/kb/extra/testing.zh.md +49 -0
- package/kb/extra/web-styling.md +25 -0
- package/kb/extra/web-styling.zh.md +25 -0
- package/kb/meta/search-index.json +1328 -0
- package/kb/meta/site-pages.txt +168 -0
- package/kb/meta/source.json +13 -0
- package/kb/meta/topics.md +75 -0
- package/kb/site/develop/basic/config.md +108 -0
- package/kb/site/develop/basic/index.md +146 -0
- package/kb/site/develop/basic/publish.md +185 -0
- package/kb/site/develop/basic/tool.md +54 -0
- package/kb/site/develop/cordis-tutorial/01-first-plugin.md +95 -0
- package/kb/site/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/kb/site/develop/cordis-tutorial/03-services.md +98 -0
- package/kb/site/develop/cordis-tutorial/04-events.md +144 -0
- package/kb/site/develop/cordis-tutorial/05-config.md +84 -0
- package/kb/site/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/kb/site/develop/cordis-tutorial/07-into-the-harness.md +107 -0
- package/kb/site/develop/cordis-tutorial/index.md +62 -0
- package/kb/site/develop/framework/events.md +145 -0
- package/kb/site/develop/framework/index.md +139 -0
- package/kb/site/develop/framework/service.md +152 -0
- package/kb/site/develop/practice/index.md +157 -0
- package/kb/site/develop/practice/llm-adapter.md +190 -0
- package/kb/site/en/develop/basic/config.md +108 -0
- package/kb/site/en/develop/basic/index.md +146 -0
- package/kb/site/en/develop/basic/publish.md +185 -0
- package/kb/site/en/develop/basic/tool.md +54 -0
- package/kb/site/en/develop/cordis-tutorial/01-first-plugin.md +95 -0
- package/kb/site/en/develop/cordis-tutorial/02-lifecycle-and-effects.md +98 -0
- package/kb/site/en/develop/cordis-tutorial/03-services.md +98 -0
- package/kb/site/en/develop/cordis-tutorial/04-events.md +144 -0
- package/kb/site/en/develop/cordis-tutorial/05-config.md +84 -0
- package/kb/site/en/develop/cordis-tutorial/06-composition-and-hmr.md +113 -0
- package/kb/site/en/develop/cordis-tutorial/07-into-the-harness.md +107 -0
- package/kb/site/en/develop/cordis-tutorial/index.md +60 -0
- package/kb/site/en/develop/framework/events.md +145 -0
- package/kb/site/en/develop/framework/index.md +139 -0
- package/kb/site/en/develop/framework/service.md +150 -0
- package/kb/site/en/develop/practice/index.md +157 -0
- package/kb/site/en/develop/practice/llm-adapter.md +190 -0
- package/kb/site/en/guide/providers-custom-form.png +0 -0
- package/kb/site/en/guide/providers-models-page.png +0 -0
- package/kb/site/en/guide/providers.md +100 -0
- package/kb/site/en/guide/python-sdk.md +106 -0
- package/kb/site/en/guide/quickstart.md +32 -0
- package/kb/site/en/index.md +8 -0
- package/kb/site/en/reference/agent-lifecycle.md +86 -0
- package/kb/site/en/reference/capability-seams.md +475 -0
- package/kb/site/en/reference/config-catalog.md +3155 -0
- package/kb/site/en/reference/cookbook/adding-a-conversation-node.md +235 -0
- package/kb/site/en/reference/cookbook/adding-a-package.md +120 -0
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +102 -0
- package/kb/site/en/reference/cookbook/adding-a-tool.md +96 -0
- package/kb/site/en/reference/cookbook/adding-an-llm-adapter.md +45 -0
- package/kb/site/en/reference/cookbook/extension-cookbook.md +131 -0
- package/kb/site/en/reference/cordis-api/context.md +368 -0
- package/kb/site/en/reference/cordis-api/events.md +211 -0
- package/kb/site/en/reference/cordis-api/fiber.md +379 -0
- package/kb/site/en/reference/cordis-api/inherited.md +43 -0
- package/kb/site/en/reference/cordis-api/registry.md +156 -0
- package/kb/site/en/reference/cordis-api/service.md +106 -0
- package/kb/site/en/reference/cordis-primer.md +46 -0
- package/kb/site/en/reference/index.md +131 -0
- package/kb/site/en/reference/persistence-catalog.md +949 -0
- package/kb/site/en/reference/subsystems/approval.md +173 -0
- package/kb/site/en/reference/subsystems/client-modules.md +121 -0
- package/kb/site/en/reference/subsystems/code-runtime.md +194 -0
- package/kb/site/en/reference/subsystems/commands.md +190 -0
- package/kb/site/en/reference/subsystems/compaction.md +241 -0
- package/kb/site/en/reference/subsystems/core.md +1073 -0
- package/kb/site/en/reference/subsystems/credentials.md +136 -0
- package/kb/site/en/reference/subsystems/filesystem.md +498 -0
- package/kb/site/en/reference/subsystems/goal.md +280 -0
- package/kb/site/en/reference/subsystems/index.md +58 -0
- package/kb/site/en/reference/subsystems/invariants.md +91 -0
- package/kb/site/en/reference/subsystems/jobs.md +293 -0
- package/kb/site/en/reference/subsystems/llm-streaming.md +920 -0
- package/kb/site/en/reference/subsystems/lsp.md +205 -0
- package/kb/site/en/reference/subsystems/permission-presets.md +134 -0
- package/kb/site/en/reference/subsystems/persistence.md +388 -0
- package/kb/site/en/reference/subsystems/plan.md +90 -0
- package/kb/site/en/reference/subsystems/sandbox.md +221 -0
- package/kb/site/en/reference/subsystems/schedule.md +189 -0
- package/kb/site/en/reference/subsystems/scope.md +62 -0
- package/kb/site/en/reference/subsystems/session-projection.md +265 -0
- package/kb/site/en/reference/subsystems/session-query.md +498 -0
- package/kb/site/en/reference/subsystems/session-reference.md +111 -0
- package/kb/site/en/reference/subsystems/session-telemetry.md +197 -0
- package/kb/site/en/reference/subsystems/session-title.md +207 -0
- package/kb/site/en/reference/subsystems/session.md +852 -0
- package/kb/site/en/reference/subsystems/settings.md +313 -0
- package/kb/site/en/reference/subsystems/shell.md +306 -0
- package/kb/site/en/reference/subsystems/skills.md +334 -0
- package/kb/site/en/reference/subsystems/spill.md +120 -0
- package/kb/site/en/reference/subsystems/storage.md +232 -0
- package/kb/site/en/reference/subsystems/subagent.md +737 -0
- package/kb/site/en/reference/subsystems/subprocess.md +327 -0
- package/kb/site/en/reference/subsystems/system-prompt.md +210 -0
- package/kb/site/en/reference/subsystems/terminal.md +187 -0
- package/kb/site/en/reference/subsystems/token-meter.md +93 -0
- package/kb/site/en/reference/subsystems/tools.md +723 -0
- package/kb/site/en/reference/subsystems/typert.md +339 -0
- package/kb/site/en/reference/subsystems/user-questions.md +181 -0
- package/kb/site/en/reference/subsystems/web-server.md +111 -0
- package/kb/site/en/reference/subsystems/web.md +202 -0
- package/kb/site/en/reference/subsystems/workflow.md +281 -0
- package/kb/site/en/reference/subsystems/workspace.md +231 -0
- package/kb/site/en/reference/tool-catalog.md +1877 -0
- package/kb/site/en/reference/tool-execution-pipeline.md +66 -0
- package/kb/site/guide/providers-custom-form.zh.png +0 -0
- package/kb/site/guide/providers-models-page.zh.png +0 -0
- package/kb/site/guide/providers.md +100 -0
- package/kb/site/guide/python-sdk.md +106 -0
- package/kb/site/guide/quickstart.md +32 -0
- package/kb/site/index.md +8 -0
- package/kb/site/reference/agent-lifecycle.md +86 -0
- package/kb/site/reference/capability-seams.md +475 -0
- package/kb/site/reference/config-catalog.md +3154 -0
- package/kb/site/reference/cookbook/adding-a-conversation-node.md +235 -0
- package/kb/site/reference/cookbook/adding-a-package.md +120 -0
- package/kb/site/reference/cookbook/adding-a-settings-card.md +102 -0
- package/kb/site/reference/cookbook/adding-a-tool.md +98 -0
- package/kb/site/reference/cookbook/adding-an-llm-adapter.md +45 -0
- package/kb/site/reference/cookbook/extension-cookbook.md +133 -0
- package/kb/site/reference/cordis-api/context.md +368 -0
- package/kb/site/reference/cordis-api/events.md +211 -0
- package/kb/site/reference/cordis-api/fiber.md +379 -0
- package/kb/site/reference/cordis-api/inherited.md +43 -0
- package/kb/site/reference/cordis-api/registry.md +156 -0
- package/kb/site/reference/cordis-api/service.md +106 -0
- package/kb/site/reference/cordis-primer.md +52 -0
- package/kb/site/reference/index.md +135 -0
- package/kb/site/reference/persistence-catalog.md +949 -0
- package/kb/site/reference/subsystems/approval.md +173 -0
- package/kb/site/reference/subsystems/client-modules.md +121 -0
- package/kb/site/reference/subsystems/code-runtime.md +194 -0
- package/kb/site/reference/subsystems/commands.md +190 -0
- package/kb/site/reference/subsystems/compaction.md +241 -0
- package/kb/site/reference/subsystems/core.md +1081 -0
- package/kb/site/reference/subsystems/credentials.md +136 -0
- package/kb/site/reference/subsystems/filesystem.md +498 -0
- package/kb/site/reference/subsystems/goal.md +280 -0
- package/kb/site/reference/subsystems/index.md +58 -0
- package/kb/site/reference/subsystems/invariants.md +91 -0
- package/kb/site/reference/subsystems/jobs.md +293 -0
- package/kb/site/reference/subsystems/llm-streaming.md +926 -0
- package/kb/site/reference/subsystems/lsp.md +205 -0
- package/kb/site/reference/subsystems/permission-presets.md +134 -0
- package/kb/site/reference/subsystems/persistence.md +388 -0
- package/kb/site/reference/subsystems/plan.md +90 -0
- package/kb/site/reference/subsystems/sandbox.md +221 -0
- package/kb/site/reference/subsystems/schedule.md +189 -0
- package/kb/site/reference/subsystems/scope.md +62 -0
- package/kb/site/reference/subsystems/session-projection.md +265 -0
- package/kb/site/reference/subsystems/session-query.md +498 -0
- package/kb/site/reference/subsystems/session-reference.md +111 -0
- package/kb/site/reference/subsystems/session-telemetry.md +197 -0
- package/kb/site/reference/subsystems/session-title.md +207 -0
- package/kb/site/reference/subsystems/session.md +854 -0
- package/kb/site/reference/subsystems/settings.md +313 -0
- package/kb/site/reference/subsystems/shell.md +306 -0
- package/kb/site/reference/subsystems/skills.md +334 -0
- package/kb/site/reference/subsystems/spill.md +120 -0
- package/kb/site/reference/subsystems/storage.md +232 -0
- package/kb/site/reference/subsystems/subagent.md +739 -0
- package/kb/site/reference/subsystems/subprocess.md +327 -0
- package/kb/site/reference/subsystems/system-prompt.md +210 -0
- package/kb/site/reference/subsystems/terminal.md +187 -0
- package/kb/site/reference/subsystems/token-meter.md +93 -0
- package/kb/site/reference/subsystems/tools.md +723 -0
- package/kb/site/reference/subsystems/typert.md +339 -0
- package/kb/site/reference/subsystems/user-questions.md +181 -0
- package/kb/site/reference/subsystems/web-server.md +111 -0
- package/kb/site/reference/subsystems/web.md +202 -0
- package/kb/site/reference/subsystems/workflow.md +281 -0
- package/kb/site/reference/subsystems/workspace.md +231 -0
- package/kb/site/reference/tool-catalog.md +1880 -0
- package/kb/site/reference/tool-execution-pipeline.md +66 -0
- package/package.json +40 -0
- package/scripts/rebuild-index.mjs +88 -0
- package/skills/dsh-plugin-dev-kb.md +66 -0
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
---
|
|
2
|
+
editSource: "docs/capability-seams.zh.md"
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
<!-- 英文源文件由 scripts/gen-doc-graphs.ts 生成;本中文文件是通过双语配对维护的经评审对侧。
|
|
6
|
+
更新时先运行 `pnpm run gen-doc-graphs` 更新英文,再更新本文件并运行 `pnpm run verify-translation-pairing --write docs/capability-seams.md` 重新记录配对。 -->
|
|
7
|
+
|
|
8
|
+
# 能力 Seams 与核心服务
|
|
9
|
+
|
|
10
|
+
服务可以是核心主干服务、可替换的能力 seam,也可以是组合包/组合点。下图展示了拥有服务声明的包、已知实现包,以及直接消费该服务的包。
|
|
11
|
+
|
|
12
|
+
```mermaid
|
|
13
|
+
flowchart LR
|
|
14
|
+
pkg_attachment["attachment"]
|
|
15
|
+
svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
|
|
16
|
+
pkg_attachment_local["attachment-local"]
|
|
17
|
+
pkg_host_runtime["host-runtime"]
|
|
18
|
+
pkg_llm_pi_ai["llm-pi-ai"]
|
|
19
|
+
pkg_llm["llm"]
|
|
20
|
+
svc_llm["ctx.llm<br/>LLM adapter registry"]
|
|
21
|
+
pkg_llm_deepseek["llm-deepseek"]
|
|
22
|
+
pkg_llm_replay["llm-replay"]
|
|
23
|
+
pkg_agent_loop["agent-loop"]
|
|
24
|
+
pkg_compaction_basic["compaction-basic"]
|
|
25
|
+
pkg_token_meter["token-meter"]
|
|
26
|
+
svc_tokenMeter["ctx.tokenMeter<br/>Replay token measurement"]
|
|
27
|
+
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
|
|
28
|
+
svc_toolResultPruner["ctx.toolResultPruner<br/>Model-free tool-result pruning"]
|
|
29
|
+
pkg_session["session"]
|
|
30
|
+
svc_sessions["ctx.sessions<br/>In-memory session store"]
|
|
31
|
+
pkg_agent["agent"]
|
|
32
|
+
pkg_session_persistence["session-persistence"]
|
|
33
|
+
pkg_session_query["session-query"]
|
|
34
|
+
pkg_session_query_sqlite["session-query-sqlite"]
|
|
35
|
+
pkg_subagent_inprocess["subagent-inprocess"]
|
|
36
|
+
pkg_invariants["invariants"]
|
|
37
|
+
pkg_message_feedback["message-feedback"]
|
|
38
|
+
svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
|
|
39
|
+
pkg_scope["scope"]
|
|
40
|
+
pkg_typert_registry["typert-registry"]
|
|
41
|
+
svc_typert["ctx.typert<br/>Runtime type registry"]
|
|
42
|
+
pkg_typert_loader["typert-loader"]
|
|
43
|
+
pkg_api_gateway["api-gateway"]
|
|
44
|
+
svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
|
|
45
|
+
svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
|
|
46
|
+
pkg_session_persistence_jsonl["session-persistence-jsonl"]
|
|
47
|
+
pkg_session_persistence_sqlite["session-persistence-sqlite"]
|
|
48
|
+
pkg_tool_bash["tool-bash"]
|
|
49
|
+
pkg_hooks_claude_code["hooks-claude-code"]
|
|
50
|
+
pkg_hooks_codex["hooks-codex"]
|
|
51
|
+
pkg_settings["settings"]
|
|
52
|
+
svc_settings["ctx.settings<br/>User-settings seam"]
|
|
53
|
+
pkg_settings_file["settings-file"]
|
|
54
|
+
pkg_apiproxy["apiproxy"]
|
|
55
|
+
pkg_credentials["credentials"]
|
|
56
|
+
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
57
|
+
pkg_credentials_local["credentials-local"]
|
|
58
|
+
pkg_session_telemetry["session-telemetry"]
|
|
59
|
+
svc_sessionTelemetry["ctx.sessionTelemetry<br/>Session telemetry seam"]
|
|
60
|
+
pkg_session_telemetry_otel["session-telemetry-otel"]
|
|
61
|
+
pkg_storage["storage"]
|
|
62
|
+
svc_storage["ctx.storage<br/>Non-session storage hub"]
|
|
63
|
+
pkg_storage_json["storage-json"]
|
|
64
|
+
pkg_storage_sqlite["storage-sqlite"]
|
|
65
|
+
pkg_storage_domain["storage-domain"]
|
|
66
|
+
svc_storageDomain["ctx.storageDomain<br/>Domain data facility"]
|
|
67
|
+
pkg_workspace["workspace"]
|
|
68
|
+
svc_messageFeedback["ctx.messageFeedback<br/>Lifecycle-bound message feedback"]
|
|
69
|
+
svc_workspaceRegistry["ctx.workspaceRegistry<br/>Workspace entity registry"]
|
|
70
|
+
svc_sessionQuery["ctx.sessionQuery<br/>Session reads, traces, filters, and search"]
|
|
71
|
+
pkg_session_reference["session-reference"]
|
|
72
|
+
pkg_tool_session_query["tool-session-query"]
|
|
73
|
+
svc_sessionReferenceResolver["ctx.sessionReferenceResolver<br/>Cross-session snapshot preparation"]
|
|
74
|
+
pkg_session_title["session-title"]
|
|
75
|
+
svc_sessionTitle["ctx.sessionTitle<br/>Log-backed session titles"]
|
|
76
|
+
pkg_session_title_first_prompt_llm["session-title-first-prompt-llm"]
|
|
77
|
+
pkg_session_title_all_prompts_llm["session-title-all-prompts-llm"]
|
|
78
|
+
pkg_system_prompt["system-prompt"]
|
|
79
|
+
svc_systemPrompt["ctx.systemPrompt<br/>System prompt assembly registry"]
|
|
80
|
+
pkg_tools["tools"]
|
|
81
|
+
pkg_tool_fs["tool-fs"]
|
|
82
|
+
pkg_tool_terminal["tool-terminal"]
|
|
83
|
+
pkg_tool_web["tool-web"]
|
|
84
|
+
svc_tools["ctx.tools<br/>Tool registry and guarded execution pipeline"]
|
|
85
|
+
pkg_tool_ask_user["tool-ask-user"]
|
|
86
|
+
pkg_tool_cordis["tool-cordis"]
|
|
87
|
+
pkg_tool_skill["tool-skill"]
|
|
88
|
+
pkg_tool_subagent["tool-subagent"]
|
|
89
|
+
pkg_tool_todo["tool-todo"]
|
|
90
|
+
pkg_user_questions["user-questions"]
|
|
91
|
+
svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
|
|
92
|
+
pkg_plan_mode["plan-mode"]
|
|
93
|
+
svc_planMode["ctx.planMode<br/>Plan collaboration state"]
|
|
94
|
+
pkg_agent_presets["agent-presets"]
|
|
95
|
+
svc_agentPresets["ctx.agentPresets<br/>Per-session agent composition"]
|
|
96
|
+
pkg_commands["commands"]
|
|
97
|
+
svc_commands["ctx.commands<br/>Human command registry"]
|
|
98
|
+
pkg_session_projection["session-projection"]
|
|
99
|
+
svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
|
|
100
|
+
pkg_host_apiproxy["host-apiproxy"]
|
|
101
|
+
pkg_session_projection_cache["session-projection-cache"]
|
|
102
|
+
svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
|
|
103
|
+
pkg_skill["skill"]
|
|
104
|
+
svc_skills["ctx.skills<br/>Skill provider registry"]
|
|
105
|
+
pkg_skill_badge["skill-badge"]
|
|
106
|
+
pkg_skill_filesystem["skill-filesystem"]
|
|
107
|
+
svc_agents["ctx.agents<br/>Agent service"]
|
|
108
|
+
pkg_acp["acp"]
|
|
109
|
+
pkg_agent_default_model["agent-default-model"]
|
|
110
|
+
svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
|
|
111
|
+
pkg_headless["headless"]
|
|
112
|
+
svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
|
|
113
|
+
pkg_agent_spine_demo["agent-spine-demo"]
|
|
114
|
+
pkg_goal["goal"]
|
|
115
|
+
svc_goals["ctx.goals<br/>Same-session goal domain"]
|
|
116
|
+
pkg_e2b["e2b"]
|
|
117
|
+
svc_e2b["ctx.e2b<br/>E2B sandbox lifecycle owner"]
|
|
118
|
+
pkg_fs_e2b["fs-e2b"]
|
|
119
|
+
pkg_subprocess_e2b["subprocess-e2b"]
|
|
120
|
+
pkg_subprocess["subprocess"]
|
|
121
|
+
svc_subprocess["ctx.subprocess<br/>Subprocess seam"]
|
|
122
|
+
pkg_subprocess_local["subprocess-local"]
|
|
123
|
+
pkg_bash_local["bash-local"]
|
|
124
|
+
pkg_bash_sandbox["bash-sandbox"]
|
|
125
|
+
pkg_terminal_bash["terminal-bash"]
|
|
126
|
+
pkg_lsp_stdio["lsp-stdio"]
|
|
127
|
+
pkg_subagent_acp["subagent-acp"]
|
|
128
|
+
pkg_subagent_codex["subagent-codex"]
|
|
129
|
+
pkg_subagent_claude_code["subagent-claude-code"]
|
|
130
|
+
pkg_shell["shell"]
|
|
131
|
+
svc_shell["ctx.shell<br/>Bash executor seam"]
|
|
132
|
+
pkg_pwsh_local["pwsh-local"]
|
|
133
|
+
pkg_tool_pwsh["tool-pwsh"]
|
|
134
|
+
pkg_shell_env["shell-env"]
|
|
135
|
+
svc_shellEnv["ctx.shellEnv<br/>Managed bash environment registry"]
|
|
136
|
+
pkg_terminal["terminal"]
|
|
137
|
+
svc_terminals["ctx.terminals<br/>Persistent PTY session registry"]
|
|
138
|
+
pkg_sandbox["sandbox"]
|
|
139
|
+
svc_sandbox["ctx.sandbox<br/>Process-sandbox seam"]
|
|
140
|
+
pkg_sandbox_local["sandbox-local"]
|
|
141
|
+
pkg_sandbox_policy["sandbox-policy"]
|
|
142
|
+
svc_sandboxPolicy["ctx.sandboxPolicy<br/>Sandbox policy home"]
|
|
143
|
+
pkg_fs_sandbox["fs-sandbox"]
|
|
144
|
+
pkg_approval["approval"]
|
|
145
|
+
svc_approval["ctx.approval<br/>Approval seam"]
|
|
146
|
+
pkg_permission_presets["permission-presets"]
|
|
147
|
+
svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
|
|
148
|
+
pkg_code_runtime["code-runtime"]
|
|
149
|
+
svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
|
|
150
|
+
pkg_code_runtime_worker["code-runtime-worker"]
|
|
151
|
+
pkg_fs["fs"]
|
|
152
|
+
svc_fs["ctx.fs<br/>Filesystem provider seam"]
|
|
153
|
+
pkg_fs_local["fs-local"]
|
|
154
|
+
pkg_fs_observation_policy["fs-observation-policy"]
|
|
155
|
+
pkg_compaction["compaction"]
|
|
156
|
+
svc_compaction["ctx.compaction<br/>Compaction seam"]
|
|
157
|
+
pkg_subagent["subagent"]
|
|
158
|
+
svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
|
|
159
|
+
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
|
|
160
|
+
pkg_subagent_fork_in_process["subagent-fork-in-process"]
|
|
161
|
+
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
|
|
162
|
+
pkg_tool_subagent_control["tool-subagent-control"]
|
|
163
|
+
pkg_tool_ralph["tool-ralph"]
|
|
164
|
+
pkg_jobs["jobs"]
|
|
165
|
+
svc_jobs["ctx.jobs<br/>Background job registry"]
|
|
166
|
+
pkg_jobs_local["jobs-local"]
|
|
167
|
+
pkg_tool_jobs["tool-jobs"]
|
|
168
|
+
pkg_web["web"]
|
|
169
|
+
svc_web["ctx.web<br/>Web access provider registry"]
|
|
170
|
+
pkg_web_search_exa["web-search-exa"]
|
|
171
|
+
pkg_web_search_perplexity["web-search-perplexity"]
|
|
172
|
+
pkg_web_search_deepseek["web-search-deepseek"]
|
|
173
|
+
pkg_web_fetch_http["web-fetch-http"]
|
|
174
|
+
pkg_spill["spill"]
|
|
175
|
+
svc_spillStore["ctx.spillStore<br/>Spill storage seam"]
|
|
176
|
+
pkg_spill_local["spill-local"]
|
|
177
|
+
pkg_spill_policy["spill-policy"]
|
|
178
|
+
pkg_directory_picker["directory-picker"]
|
|
179
|
+
svc_directoryPicker["ctx.directoryPicker<br/>Workspace-directory picking seam"]
|
|
180
|
+
pkg_directory_picker_native["directory-picker-native"]
|
|
181
|
+
pkg_directory_picker_browse["directory-picker-browse"]
|
|
182
|
+
pkg_webserver["webserver"]
|
|
183
|
+
svc_webServer["ctx.webServer<br/>HTTP route registration"]
|
|
184
|
+
pkg_connection["connection"]
|
|
185
|
+
pkg_modules["modules"]
|
|
186
|
+
pkg_hmr["hmr"]
|
|
187
|
+
svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
|
|
188
|
+
pkg_workflow["workflow"]
|
|
189
|
+
svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
|
|
190
|
+
pkg_workflow_worker_thread["workflow-worker-thread"]
|
|
191
|
+
pkg_tool_workflow["tool-workflow"]
|
|
192
|
+
pkg_lsp["lsp"]
|
|
193
|
+
svc_lsp["ctx.lsp<br/>Language-server navigation seam"]
|
|
194
|
+
pkg_lsp_local["lsp-local"]
|
|
195
|
+
pkg_tool_lsp["tool-lsp"]
|
|
196
|
+
svc_apiProxy["ctx.apiProxy<br/>Host API dispatch"]
|
|
197
|
+
pkg_cordis_host_runner["cordis-host-runner"]
|
|
198
|
+
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
|
|
199
|
+
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
|
|
200
|
+
pkg_acp --> svc_approval
|
|
201
|
+
pkg_agent --> svc_agents
|
|
202
|
+
pkg_agent_default_model --> svc_agentDefaultModel
|
|
203
|
+
pkg_agent_loop --> svc_agentLoop
|
|
204
|
+
pkg_agent_presets --> svc_agentPresets
|
|
205
|
+
pkg_api_gateway --> svc_typertGateway
|
|
206
|
+
pkg_apiproxy --> svc_apiProxy
|
|
207
|
+
pkg_approval --> svc_approval
|
|
208
|
+
pkg_attachment --> svc_attachments
|
|
209
|
+
pkg_attachment_local --> svc_attachments
|
|
210
|
+
pkg_bash_local --> svc_shell
|
|
211
|
+
pkg_bash_sandbox --> svc_shell
|
|
212
|
+
pkg_code_runtime --> svc_codeRuntime
|
|
213
|
+
pkg_code_runtime_worker --> svc_codeRuntime
|
|
214
|
+
pkg_commands --> svc_commands
|
|
215
|
+
pkg_compaction --> svc_compaction
|
|
216
|
+
pkg_compaction_basic --> svc_compaction
|
|
217
|
+
pkg_compaction_tool_result_pruner --> svc_toolResultPruner
|
|
218
|
+
pkg_cordis_host_runner --> svc_cordisInspect
|
|
219
|
+
pkg_cordis_host_runner --> svc_dynamicCordisRunner
|
|
220
|
+
pkg_credentials --> svc_credentials
|
|
221
|
+
pkg_credentials_local --> svc_credentials
|
|
222
|
+
pkg_directory_picker --> svc_directoryPicker
|
|
223
|
+
pkg_directory_picker_browse --> svc_directoryPicker
|
|
224
|
+
pkg_directory_picker_native --> svc_directoryPicker
|
|
225
|
+
pkg_e2b --> svc_e2b
|
|
226
|
+
pkg_fs --> svc_fs
|
|
227
|
+
pkg_fs_e2b --> svc_fs
|
|
228
|
+
pkg_fs_local --> svc_fs
|
|
229
|
+
pkg_fs_sandbox --> svc_fs
|
|
230
|
+
pkg_goal --> svc_goals
|
|
231
|
+
pkg_invariants --> svc_invariants
|
|
232
|
+
pkg_jobs --> svc_jobs
|
|
233
|
+
pkg_jobs_local --> svc_jobs
|
|
234
|
+
pkg_llm --> svc_llm
|
|
235
|
+
pkg_llm_deepseek --> svc_llm
|
|
236
|
+
pkg_llm_pi_ai --> svc_llm
|
|
237
|
+
pkg_llm_replay --> svc_llm
|
|
238
|
+
pkg_lsp --> svc_lsp
|
|
239
|
+
pkg_lsp_local --> svc_lsp
|
|
240
|
+
pkg_message_feedback --> svc_messageFeedback
|
|
241
|
+
pkg_modules --> svc_clientModules
|
|
242
|
+
pkg_permission_presets --> svc_permissionPresets
|
|
243
|
+
pkg_plan_mode --> svc_planMode
|
|
244
|
+
pkg_pwsh_local --> svc_shell
|
|
245
|
+
pkg_sandbox --> svc_sandbox
|
|
246
|
+
pkg_sandbox_local --> svc_sandbox
|
|
247
|
+
pkg_sandbox_policy --> svc_sandboxPolicy
|
|
248
|
+
pkg_session --> svc_sessions
|
|
249
|
+
pkg_session_persistence --> svc_sessionPersistence
|
|
250
|
+
pkg_session_persistence_jsonl --> svc_sessionPersistence
|
|
251
|
+
pkg_session_persistence_sqlite --> svc_sessionPersistence
|
|
252
|
+
pkg_session_projection --> svc_sessionProjections
|
|
253
|
+
pkg_session_projection_cache --> svc_sessionProjectionCache
|
|
254
|
+
pkg_session_query --> svc_sessionQuery
|
|
255
|
+
pkg_session_query_sqlite --> svc_sessionQuery
|
|
256
|
+
pkg_session_reference --> svc_sessionReferenceResolver
|
|
257
|
+
pkg_session_telemetry --> svc_sessionTelemetry
|
|
258
|
+
pkg_session_telemetry_otel --> svc_sessionTelemetry
|
|
259
|
+
pkg_session_title --> svc_sessionTitle
|
|
260
|
+
pkg_session_title_all_prompts_llm --> svc_sessionTitle
|
|
261
|
+
pkg_session_title_first_prompt_llm --> svc_sessionTitle
|
|
262
|
+
pkg_settings --> svc_settings
|
|
263
|
+
pkg_settings_file --> svc_settings
|
|
264
|
+
pkg_shell --> svc_shell
|
|
265
|
+
pkg_shell_env --> svc_shellEnv
|
|
266
|
+
pkg_skill --> svc_skills
|
|
267
|
+
pkg_skill_badge --> svc_skills
|
|
268
|
+
pkg_skill_filesystem --> svc_skills
|
|
269
|
+
pkg_spill --> svc_spillStore
|
|
270
|
+
pkg_spill_local --> svc_spillStore
|
|
271
|
+
pkg_storage --> svc_storage
|
|
272
|
+
pkg_storage_domain --> svc_storageDomain
|
|
273
|
+
pkg_storage_json --> svc_storage
|
|
274
|
+
pkg_storage_sqlite --> svc_storage
|
|
275
|
+
pkg_subagent --> svc_subagents
|
|
276
|
+
pkg_subagent_acp --> svc_subagents
|
|
277
|
+
pkg_subagent_claude_code --> svc_subagents
|
|
278
|
+
pkg_subagent_codex --> svc_subagents
|
|
279
|
+
pkg_subagent_dsh_sdk --> svc_subagents
|
|
280
|
+
pkg_subagent_fork_in_process --> svc_subagents
|
|
281
|
+
pkg_subagent_spawn_in_process --> svc_subagents
|
|
282
|
+
pkg_subprocess --> svc_subprocess
|
|
283
|
+
pkg_subprocess_e2b --> svc_subprocess
|
|
284
|
+
pkg_subprocess_local --> svc_subprocess
|
|
285
|
+
pkg_system_prompt --> svc_systemPrompt
|
|
286
|
+
pkg_terminal --> svc_terminals
|
|
287
|
+
pkg_terminal_bash --> svc_terminals
|
|
288
|
+
pkg_token_meter --> svc_tokenMeter
|
|
289
|
+
pkg_tools --> svc_tools
|
|
290
|
+
pkg_typert_registry --> svc_typert
|
|
291
|
+
pkg_user_questions --> svc_userQuestions
|
|
292
|
+
pkg_web --> svc_web
|
|
293
|
+
pkg_web_fetch_http --> svc_web
|
|
294
|
+
pkg_web_search_deepseek --> svc_web
|
|
295
|
+
pkg_web_search_exa --> svc_web
|
|
296
|
+
pkg_web_search_perplexity --> svc_web
|
|
297
|
+
pkg_webserver --> svc_webServer
|
|
298
|
+
pkg_workflow --> svc_workflowEngine
|
|
299
|
+
pkg_workflow_worker_thread --> svc_workflowEngine
|
|
300
|
+
pkg_workspace --> svc_workspaceRegistry
|
|
301
|
+
svc_agentDefaultModel --> pkg_headless
|
|
302
|
+
svc_agentDefaultModel --> pkg_host_apiproxy
|
|
303
|
+
svc_agentLoop --> pkg_agent_spine_demo
|
|
304
|
+
svc_agents --> pkg_acp
|
|
305
|
+
svc_agents --> pkg_agent_loop
|
|
306
|
+
svc_agents --> pkg_subagent_inprocess
|
|
307
|
+
svc_apiProxy --> pkg_connection
|
|
308
|
+
svc_approval --> pkg_tool_bash
|
|
309
|
+
svc_approval --> pkg_tools
|
|
310
|
+
svc_attachments --> pkg_host_runtime
|
|
311
|
+
svc_attachments --> pkg_llm_pi_ai
|
|
312
|
+
svc_clientModules --> pkg_hmr
|
|
313
|
+
svc_codeRuntime --> pkg_tools
|
|
314
|
+
svc_compaction --> pkg_compaction_basic
|
|
315
|
+
svc_cordisInspect --> pkg_tool_cordis
|
|
316
|
+
svc_credentials --> pkg_apiproxy
|
|
317
|
+
svc_credentials --> pkg_llm_deepseek
|
|
318
|
+
svc_credentials --> pkg_llm_pi_ai
|
|
319
|
+
svc_directoryPicker --> pkg_apiproxy
|
|
320
|
+
svc_dynamicCordisRunner --> pkg_tool_cordis
|
|
321
|
+
svc_e2b --> pkg_fs_e2b
|
|
322
|
+
svc_e2b --> pkg_subprocess_e2b
|
|
323
|
+
svc_fs --> pkg_tool_fs
|
|
324
|
+
svc_invariants --> pkg_agent
|
|
325
|
+
svc_invariants --> pkg_agent_loop
|
|
326
|
+
svc_invariants --> pkg_scope
|
|
327
|
+
svc_invariants --> pkg_session
|
|
328
|
+
svc_jobs --> pkg_tool_bash
|
|
329
|
+
svc_jobs --> pkg_tool_jobs
|
|
330
|
+
svc_jobs --> pkg_tool_subagent
|
|
331
|
+
svc_jobs --> pkg_tool_terminal
|
|
332
|
+
svc_llm --> pkg_agent_loop
|
|
333
|
+
svc_llm --> pkg_compaction_basic
|
|
334
|
+
svc_lsp --> pkg_tool_lsp
|
|
335
|
+
svc_sandbox --> pkg_bash_sandbox
|
|
336
|
+
svc_sandbox --> pkg_terminal_bash
|
|
337
|
+
svc_sandboxPolicy --> pkg_bash_sandbox
|
|
338
|
+
svc_sandboxPolicy --> pkg_fs_sandbox
|
|
339
|
+
svc_sandboxPolicy --> pkg_terminal_bash
|
|
340
|
+
svc_sessionPersistence --> pkg_agent_loop
|
|
341
|
+
svc_sessionPersistence --> pkg_hooks_claude_code
|
|
342
|
+
svc_sessionPersistence --> pkg_hooks_codex
|
|
343
|
+
svc_sessionPersistence --> pkg_message_feedback
|
|
344
|
+
svc_sessionPersistence --> pkg_session_query
|
|
345
|
+
svc_sessionPersistence --> pkg_session_query_sqlite
|
|
346
|
+
svc_sessionPersistence --> pkg_tool_bash
|
|
347
|
+
svc_sessionProjectionCache --> pkg_host_apiproxy
|
|
348
|
+
svc_sessionProjections --> pkg_host_apiproxy
|
|
349
|
+
svc_sessionProjections --> pkg_session_title
|
|
350
|
+
svc_sessionProjections --> pkg_tool_todo
|
|
351
|
+
svc_sessionQuery --> pkg_session_reference
|
|
352
|
+
svc_sessionQuery --> pkg_tool_session_query
|
|
353
|
+
svc_sessions --> pkg_agent
|
|
354
|
+
svc_sessions --> pkg_agent_loop
|
|
355
|
+
svc_sessions --> pkg_invariants
|
|
356
|
+
svc_sessions --> pkg_message_feedback
|
|
357
|
+
svc_sessions --> pkg_session_persistence
|
|
358
|
+
svc_sessions --> pkg_session_query
|
|
359
|
+
svc_sessions --> pkg_session_query_sqlite
|
|
360
|
+
svc_sessions --> pkg_subagent_inprocess
|
|
361
|
+
svc_settings --> pkg_apiproxy
|
|
362
|
+
svc_settings --> pkg_llm_deepseek
|
|
363
|
+
svc_settings --> pkg_llm_pi_ai
|
|
364
|
+
svc_shell --> pkg_hooks_claude_code
|
|
365
|
+
svc_shell --> pkg_hooks_codex
|
|
366
|
+
svc_shell --> pkg_tool_bash
|
|
367
|
+
svc_shell --> pkg_tool_pwsh
|
|
368
|
+
svc_shellEnv --> pkg_tool_bash
|
|
369
|
+
svc_shellEnv --> pkg_tool_pwsh
|
|
370
|
+
svc_skills --> pkg_tool_skill
|
|
371
|
+
svc_spillStore --> pkg_spill_policy
|
|
372
|
+
svc_storage --> pkg_storage_domain
|
|
373
|
+
svc_storageDomain --> pkg_message_feedback
|
|
374
|
+
svc_storageDomain --> pkg_workspace
|
|
375
|
+
svc_subagents --> pkg_tool_ralph
|
|
376
|
+
svc_subagents --> pkg_tool_subagent
|
|
377
|
+
svc_subagents --> pkg_tool_subagent_control
|
|
378
|
+
svc_subprocess --> pkg_bash_local
|
|
379
|
+
svc_subprocess --> pkg_bash_sandbox
|
|
380
|
+
svc_subprocess --> pkg_lsp_stdio
|
|
381
|
+
svc_subprocess --> pkg_subagent_acp
|
|
382
|
+
svc_subprocess --> pkg_subagent_claude_code
|
|
383
|
+
svc_subprocess --> pkg_subagent_codex
|
|
384
|
+
svc_subprocess --> pkg_terminal_bash
|
|
385
|
+
svc_systemPrompt --> pkg_agent_loop
|
|
386
|
+
svc_systemPrompt --> pkg_tool_fs
|
|
387
|
+
svc_systemPrompt --> pkg_tool_terminal
|
|
388
|
+
svc_systemPrompt --> pkg_tool_web
|
|
389
|
+
svc_systemPrompt --> pkg_tools
|
|
390
|
+
svc_terminals --> pkg_tool_terminal
|
|
391
|
+
svc_tokenMeter --> pkg_compaction_basic
|
|
392
|
+
svc_toolResultPruner --> pkg_compaction_basic
|
|
393
|
+
svc_tools --> pkg_agent_loop
|
|
394
|
+
svc_tools --> pkg_tool_ask_user
|
|
395
|
+
svc_tools --> pkg_tool_bash
|
|
396
|
+
svc_tools --> pkg_tool_cordis
|
|
397
|
+
svc_tools --> pkg_tool_fs
|
|
398
|
+
svc_tools --> pkg_tool_skill
|
|
399
|
+
svc_tools --> pkg_tool_subagent
|
|
400
|
+
svc_tools --> pkg_tool_terminal
|
|
401
|
+
svc_tools --> pkg_tool_todo
|
|
402
|
+
svc_tools --> pkg_tool_web
|
|
403
|
+
svc_typert --> pkg_api_gateway
|
|
404
|
+
svc_typert --> pkg_typert_loader
|
|
405
|
+
svc_userQuestions --> pkg_tool_ask_user
|
|
406
|
+
svc_web --> pkg_tool_web
|
|
407
|
+
svc_webServer --> pkg_connection
|
|
408
|
+
svc_webServer --> pkg_hmr
|
|
409
|
+
svc_webServer --> pkg_modules
|
|
410
|
+
svc_workflowEngine --> pkg_tool_ralph
|
|
411
|
+
svc_workflowEngine --> pkg_tool_workflow
|
|
412
|
+
svc_workspaceRegistry --> pkg_apiproxy
|
|
413
|
+
svc_fs -. event gate .-> pkg_fs_observation_policy
|
|
414
|
+
```
|
|
415
|
+
|
|
416
|
+
| ctx 键 | 角色 | 所属包 | 实现 | 直接消费方 | 配套插件 | 说明 |
|
|
417
|
+
| --- | --- | --- | --- | --- | --- | --- |
|
|
418
|
+
| `ctx.attachments` | `seam` | [`attachment`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment) | [`attachment-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/attachment/attachment-local) | `host-runtime`, [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | 宿主会在会话事件之前提交已接受的图片;提供方适配器将已授权的持久引用解析为提供方原生内容。 |
|
|
419
|
+
| `ctx.llm` | `seam` | [`llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-replay`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/test-support/llm-replay) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 适配器注册提供方实现;agent loop(智能体循环)与压缩功能调用提供方无关的流服务。 |
|
|
420
|
+
| `ctx.tokenMeter` | `core` | [`token-meter`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/token-meter) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 拥有按会话隔离的回放折叠区;压力消费方共享不可变且带修订版本的测量结果。 |
|
|
421
|
+
| `ctx.toolResultPruner` | `core` | [`compaction-tool-result-pruner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-tool-result-pruner) | - | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 在摘要压缩前,通过可回放的单节点表层替换来改写过大的当前工具结果。 |
|
|
422
|
+
| `ctx.sessions` | `core` | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), `subagent-inprocess`, [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 拥有仅追加的 Session 实例,并发出持久的会话事件流。 |
|
|
423
|
+
| `ctx.invariants` | `core` | [`invariants`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/runtime-diagnostics/invariants) | - | [`session`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/session), [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent), [`scope`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/scope), [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | 配套子路径注册所属包本地的检查;该服务负责选择、唯一性、子 fiber,以及标明所属包的失败。 |
|
|
424
|
+
| `ctx.typert` | `core` | [`typert-registry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/registry) | - | [`typert-loader`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/typert/loader), [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | 插件直接或通过 dsh-typert-loader 注册实时 zod 贡献;API 网关消费调用描述符和提供方,其他运行时消费方则在各自边界查询 schema 与反射元数据。 |
|
|
425
|
+
| `ctx.typertGateway` | `core` | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | - | - | 将生成的 Remote 描述符与实时 Cordis 服务关联,解析已注册的身份,并通过共享的 Connection RPC 载体提供一元调用。 |
|
|
426
|
+
| `ctx.sessionPersistence` | `seam` | [`session-persistence`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence) | [`session-persistence-jsonl`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-jsonl), [`session-persistence-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-persistence-sqlite) | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 各后端持久化同一套 SessionEvent 词汇;应用在组合时选择后端。 |
|
|
427
|
+
| `ctx.settings` | `seam` | [`settings`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings) | [`settings-file`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/settings/settings-file) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | 插件注册命名空间 schema 并解析分层值;提供方存储原始文档。LLM(大语言模型)适配器在用户分区下将其入口配置注册为组合基础;Web 网关提供经过脱敏的分层描述符,并写入用户层。 |
|
|
428
|
+
| `ctx.credentials` | `seam` | [`credentials`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials) | [`credentials-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/credentials-local) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), `apiproxy` | - | 配置携带对机密信息的引用;提供方拥有实际值。消费方按操作解析,因此轮换后的凭据会在紧接着的下一次请求中生效;Web 网关提供不含实际值的视图和只写存储。 |
|
|
429
|
+
| `ctx.sessionTelemetry` | `seam` | [`session-telemetry`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry) | [`session-telemetry-otel`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-telemetry-otel) | - | - | 该 seam 捕获会话记录、进行脱敏并交给一个后端;没有其他组件消费该服务,其输出会离开当前进程。 |
|
|
430
|
+
| `ctx.storage` | `seam` | [`storage`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage) | [`storage-json`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-json), [`storage-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-sqlite) | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | 各后端以不同名称并列注册;数据形态(领域优先)挂载到枢纽上,并将类型化操作转换为不透明的 KV 单元原语。 |
|
|
431
|
+
| `ctx.storageDomain` | `core` | [`storage-domain`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/storage/storage-domain) | - | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace), [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | 等待所有已配置后端就绪,然后将领域形态发布为一个受生命周期约束的服务,用于类型化持久状态。 |
|
|
432
|
+
| `ctx.messageFeedback` | `core` | [`message-feedback`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/feedback/message-feedback) | - | - | - | 拥有本地逐 assistant 消息反馈、生命周期与目标校验、逐条目 compare-and-set 及 Host 一元 Remote 契约,且不进入 Session 历史或遥测。 |
|
|
433
|
+
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | `apiproxy` | - | 通过领域设施拥有带 WorkspaceId 品牌类型的记录;稳定的 sessionIds 账户驱动 Host RPC 与 GUI 投影。 |
|
|
434
|
+
| `ctx.sessionQuery` | `seam` | [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query) | [`session-query-sqlite`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query-sqlite) | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`tool-session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/tool-session-query) | - | 该接口提供精确读取、过滤和追踪;具体后端还提供全文协调、排序、摘要片段和游标世代,而模型消费方负责工作区权限与不含游标的渲染。 |
|
|
435
|
+
| `ctx.sessionReferenceResolver` | `core` | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference) | - | - | - | 将当前表层中有界的对话快照投影为持久但不可信的消息上下文;Host 适配器负责提及语法。 |
|
|
436
|
+
| `ctx.sessionTitle` | `seam` | [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title) | [`session-title-first-prompt-llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title-first-prompt-llm), [`session-title-all-prompts-llm`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title-all-prompts-llm) | - | - | 负责确定性回退、最新标题折叠区,以及唯一的可选异步提供方注册。 |
|
|
437
|
+
| `ctx.systemPrompt` | `core` | [`system-prompt`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/system-prompt) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | 为每个步骤收集提示词各部分和面向模型的工具 schema。 |
|
|
438
|
+
| `ctx.tools` | `core` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | 注册能力,负责 Code Mode 传输,并让调用依次经过策略前处理、单调守卫、环绕分派、策略后处理和最终结果观测。 |
|
|
439
|
+
| `ctx.userQuestions` | `seam` | [`user-questions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-questions) | - | [`tool-ask-user`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/tool-ask-user) | - | UI 前端提供当前生效的人工回答提供方;tool-ask-user 在提供方无关的 ask() promise 上暂停工具调用。 |
|
|
440
|
+
| `ctx.planMode` | `core` | [`plan-mode`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/plan/plan-mode) | - | - | - | 折叠已记录的计划/模式状态,在轮次边界刷新用户选择,渲染由部署方拥有的指导信息,注册 /plan,并在状态转换期间保持计划退出 schema 稳定。 |
|
|
441
|
+
| `ctx.agentPresets` | `core` | [`agent-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-presets) | - | - | - | 在受信任根目录与用户创作根目录上发现 preset 目录,并在创建期把一份 preset cordis.yml 挂载到 agent 作用域之下,拒绝始终未激活或向根服务 realm 发布服务的行。 |
|
|
442
|
+
| `ctx.commands` | `core` | [`commands`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/commands) | - | - | - | 插件注册直接面向人的命令,而不会把调用发送给模型。 |
|
|
443
|
+
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`tool-todo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/todo/tool-todo), [`session-title`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-title), [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | 各领域注册由状态驱动的折叠单元;主动驱动过程维护每个会话的水位状态,api-proxy 提供基线并推送发生变化的值。 |
|
|
444
|
+
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | 按会话持久保存投影单元状态的检查点(节流检查点,以及轮次/结束/分离时的必选检查点),并提供冷读取阶梯:缓存行加持久化尾部回放,因此列表读取永远不需要加载完整日志。 |
|
|
445
|
+
| `ctx.skills` | `seam` | [`skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill) | [`skill-badge`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-badge), [`skill-filesystem`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/skill-filesystem) | [`tool-skill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/skill/tool-skill) | - | 合并提供方的 skill(技能)目录;tool-skill 渲染会话前缀目录,并加载完整的 skill 正文。 |
|
|
446
|
+
| `ctx.agents` | `core` | [`agent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent) | - | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp), `subagent-inprocess` | - | 拥有实时 Agent 句柄、创建/恢复工厂 seam,以及进程本地的发起方传播。 |
|
|
447
|
+
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless), [`host-apiproxy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/apiproxy) | - | 通过 settings 分层默认 `ModelSelection`,让直接入口与 Host 支撑的 Agent 入口共享同一个状态所有者。 |
|
|
448
|
+
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`agent-spine-demo`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/examples/agent-spine-demo) | - | 唯一的具体循环插件;扩展包依赖 dsh-agent 的事件和服务,而不依赖此包。 |
|
|
449
|
+
| `ctx.goals` | `core` | [`goal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/goal/goal) | - | - | - | 从会话日志折叠带修订版本的目标状态,并将实时延续激活保留在进程本地。 |
|
|
450
|
+
| `ctx.e2b` | `core` | [`e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/e2b) | - | [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | - | 拥有一个共享的 E2B SDK 句柄、远程工作目录和最终沙箱处置,使两个基础 E2B 提供方处于同一个 Linux 运行时中。 |
|
|
451
|
+
| `ctx.subprocess` | `seam` | [`subprocess`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess) | [`subprocess-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subprocess/subprocess-local), [`subprocess-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/subprocess-e2b) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash), [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code) | - | Bash 执行器、PTY shell 后端、LSP Host,以及进程外 ACP、Codex 和 Claude Code subagent 后端都通过 ctx.subprocess 执行 spawn;该服务负责进程坐标、进程树/会话生命周期、stdio 处置、终端机制和 kill 升级。 |
|
|
452
|
+
| `ctx.shell` | `seam` | [`shell`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell) | [`bash-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-local), [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`pwsh-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/pwsh-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh), [`hooks-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-claude-code), [`hooks-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/hooks/hooks-codex) | - | 面向模型的 shell 工具和钩子桥接消费此 seam;沙箱、远程或 PowerShell 执行器可以替换 bash-local,而无需改动这些消费方。 |
|
|
453
|
+
| `ctx.shellEnv` | `core` | [`shell-env`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/shell-env) | - | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-pwsh`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-pwsh) | - | 插件声明限定于 effect 作用域的 DSH_* 事实;每个 shell 工具在每次执行时收集一份可信快照,其执行器据此重建命名空间。 |
|
|
454
|
+
| `ctx.terminals` | `seam` | [`terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal) | [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal) | - | 注册表负责精确到 Agent 的会话身份和清理;后端负责终端机制,tool-terminal 则提供限定于所有者作用域的模型接口。 |
|
|
455
|
+
| `ctx.sandbox` | `seam` | [`sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox) | [`sandbox-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-local) | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | 消费方交出即将执行 spawn 的确切 argv;与宿主共享文件系统和内核的后端按每次调用的策略包装该 argv,并报告强制执行情况。 |
|
|
456
|
+
| `ctx.sandboxPolicy` | `core` | [`sandbox-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/sandbox/sandbox-policy) | - | [`bash-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/bash-sandbox), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`terminal-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/terminal-bash) | - | 统一保存部署默认模式和工作区根目录;只有沙箱执行器和提供方读取该服务(工具层使用它同时导出的纯 `sandbox/mode` 折叠区)。两类强制执行组件都读取该服务,因此 bash 与 fs 不会限制到不同的根目录。 |
|
|
457
|
+
| `ctx.approval` | `seam` | `approval` | [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools), [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash) | - | 一次性权限决策通过 `approval/request` waterfall(瀑布式事件)分派;回答方是监听器(即 ACP 为自身 agent 提供的桥接),没有回答方时以 `unavailable` 关闭失败。 |
|
|
458
|
+
| `ctx.permissionPresets` | `core` | [`permission-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/permission-presets) | - | - | - | 面向用户的预设表(`workspace-write`/`danger-full-access`),将沙箱模式与审批策略选项组合在一起;一次切换会写入一个 `permission/preset` 事件,并贯通到两个选项事件。 |
|
|
459
|
+
| `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | `code-runtime-worker` | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | 使用 Host 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在 Code Mode 下消费该服务)。 |
|
|
460
|
+
| `ctx.fs` | `seam` | [`fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs) | [`fs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-local), [`fs-sandbox`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-sandbox), [`fs-e2b`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/e2b/fs-e2b) | [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs) | [`fs-observation-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/fs-observation-policy) | tool-fs 通过 ctx.fs 执行读取/写入/编辑;fs-sandbox 按共享沙箱模式限制变更;fs-observation-policy 通过 fs/* 事件门禁贡献基于观测状态的检查。 |
|
|
461
|
+
| `ctx.compaction` | `seam` | [`compaction`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | [`compaction-basic`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/compaction/compaction-basic) | - | 基础后端消费步骤后的压力事件和请求错误恢复事件;不存在面向模型的压缩工具。 |
|
|
462
|
+
| `ctx.subagents` | `seam` | [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | [`subagent-spawn-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-spawn-in-process), [`subagent-fork-in-process`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-fork-in-process), [`subagent-acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-acp), [`subagent-codex`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-codex), [`subagent-claude-code`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-claude-code), [`subagent-dsh-sdk`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-dsh-sdk) | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-subagent-control`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent-control), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | 提供方实现传输;该服务还负责可选的、基于 Activation 的延续编排,tool-subagent 选择一次性或可延续委派,tool-subagent-control 传递后续消息,而 tool-ralph 要求一条全新的结构化输出路由。 |
|
|
463
|
+
| `ctx.jobs` | `seam` | [`jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs) | [`jobs-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/jobs-local) | [`tool-bash`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/shell/tool-bash), [`tool-terminal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/terminal/tool-terminal), [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent), [`tool-jobs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/jobs/tool-jobs) | - | 生产方(后台 bash、PTY 发送和 subagent 委派)登记正在运行的工作;tool-jobs 是面向模型的控制器,用于读取、列出和终止这些工作;jobs-local 是进程本地注册表。 |
|
|
464
|
+
| `ctx.web` | `seam` | [`web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web) | [`web-search-exa`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-exa), [`web-search-perplexity`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-perplexity), [`web-search-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-search-deepseek), [`web-fetch-http`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/web-fetch-http) | [`tool-web`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/web/tool-web) | - | 搜索和抓取提供方注册到同一个 ctx.web seam;tool-web 负责稳定的面向模型名称。 |
|
|
465
|
+
| `ctx.spillStore` | `seam` | [`spill`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill) | [`spill-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-local) | [`spill-policy`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/spill/spill-policy) | - | 后端保存过大的工具文本,并返回面向模型的定位信息和取回提示;spill-policy 是 tools/post-execute 消费方,负责决定何时 spill。 |
|
|
466
|
+
| `ctx.directoryPicker` | `seam` | `directory-picker` | `directory-picker-native`, `directory-picker-browse` | `apiproxy` | - | 带判别标记的交互能力:原生后端在 Host 显示设备上打开一个操作系统选择器,浏览后端为应用内浏览器提供列表与创建原语;双端后端通过其浏览器侧填充 ui-workspace 目录流程的 slot(不通过协议发布)。 |
|
|
467
|
+
| `ctx.webServer` | `core` | `webserver` | - | `connection`, `modules`, `hmr` | - | 普通的 node:http 载体:具名路由注册表、索引转换 tap,以及静态 dist 回退;Web 传输插件注册自己的路由。 |
|
|
468
|
+
| `ctx.clientModules` | `core` | `modules` | - | `hmr` | - | 通过增量 `dsh.client` 扫描组合 __DSH_BOOT__ 入口图,提供插件组合包,并通知重建/图变更订阅方。 |
|
|
469
|
+
| `ctx.workflowEngine` | `seam` | [`workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow) | [`workflow-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/workflow-worker-thread) | [`tool-workflow`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-workflow), [`tool-ralph`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workflow/tool-ralph) | - | 每个上下文使用一个引擎,与 bash 相同,且没有具名提供方注册表;通用工作流与固定 Ralph 消费方启动运行,其中的 agent() 调用通过 ctx.subagents 扇出。 |
|
|
470
|
+
| `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | `lsp-local` | [`tool-lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/tool-lsp) | - | 提供方注册与选择,加上恰好四种操作的标准化查询执行;该 seam 不提供协议逃生口,后端必须转换为标准化请求和结果。 |
|
|
471
|
+
| `ctx.apiProxy` | `core` | `apiproxy` | - | `connection` | - | 与传输无关的 Host 网关接口:它分派浏览器 API 调用,每条打开的 Host 流自行订阅转发事件,而不是由广播方法向其推送。 |
|
|
472
|
+
| `ctx.dynamicCordisRunner` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | 拥有内存定义注册表、Host 半的 vm 沙箱和 request-run 往返流程;浏览器页面通过其 Remote 命名空间在线访问同一服务。 |
|
|
473
|
+
| `ctx.cordisInspect` | `core` | [`cordis-host-runner`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/cordis-host-runner) | - | [`tool-cordis`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/extensions/tool-cordis) | - | 注册 Host inspect 提供方、镜像 Client 提供方 manifest,并通过动态 Cordis 传输路由 Client 查询。 |
|
|
474
|
+
|
|
475
|
+
维护模式:混合模式。服务从 Cordis 声明中发现;接口、实现和消费方角色在 `scripts/gen-doc-graphs.ts` 中分类,并设有完整性守卫。
|