dsh-plugin-dev-kb 1.0.8 → 1.1.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/CHANGELOG.md +21 -0
- package/README.en.md +6 -6
- package/README.md +6 -6
- package/kb/INDEX.md +21 -5
- package/kb/README.md +11 -10
- package/kb/extra/AGENTS.md +4 -4
- package/kb/extra/cookbook/adding-a-remote-api.md +197 -0
- package/kb/extra/cookbook/adding-a-remote-api.zh.md +197 -0
- 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 +163 -0
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +163 -0
- package/kb/extra/development.md +8 -14
- package/kb/extra/development.zh.md +8 -14
- package/kb/extra/event-producer-consumer.md +55 -48
- package/kb/extra/event-producer-consumer.zh.md +58 -51
- 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/i18n/style-samples.md +2 -2
- package/kb/extra/module-graph.md +646 -926
- package/kb/extra/module-graph.zh.md +648 -928
- 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 +28 -4
- package/kb/extra/subsystems/agent-team.zh.md +28 -4
- package/kb/extra/subsystems/attachment.md +168 -7
- package/kb/extra/subsystems/attachment.zh.md +168 -7
- package/kb/extra/subsystems/extensions.md +18 -0
- package/kb/extra/subsystems/extensions.zh.md +18 -0
- package/kb/extra/subsystems/feedback.md +4 -4
- package/kb/extra/subsystems/feedback.zh.md +4 -4
- 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 +15 -10
- package/kb/extra/testing.zh.md +13 -8
- package/kb/extra/web-styling.md +4 -0
- package/kb/extra/web-styling.zh.md +4 -0
- package/kb/meta/search-index.json +309 -177
- package/kb/meta/site-pages.txt +183 -167
- 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 +5 -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 +4 -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 +5 -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 +4 -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/network-proxy.md +87 -0
- package/kb/site/en/guide/providers.md +70 -17
- package/kb/site/en/guide/python-sdk.md +80 -34
- package/kb/site/en/guide/schedule.md +23 -0
- package/kb/site/en/reference/agent-lifecycle.md +6 -4
- package/kb/{extra → site/en/reference}/api-gateway.md +12 -10
- package/kb/site/en/reference/capability-seams.md +128 -73
- package/kb/site/en/reference/config-catalog.md +481 -360
- package/kb/site/en/reference/cookbook/adding-a-package.md +3 -4
- package/kb/site/en/reference/cookbook/adding-a-settings-card.md +12 -10
- 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 +20 -17
- 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 +30 -11
- package/kb/site/en/reference/persistence-catalog.md +148 -80
- 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 +10 -6
- package/kb/site/en/reference/subsystems/commands.md +25 -16
- package/kb/site/en/reference/subsystems/compaction.md +11 -11
- package/kb/site/en/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +50 -24
- package/kb/site/en/reference/subsystems/core.md +156 -17
- package/kb/site/en/reference/subsystems/credentials.md +44 -3
- package/kb/site/en/reference/subsystems/filesystem.md +12 -2
- package/kb/site/en/reference/subsystems/goal.md +1 -1
- package/kb/site/en/reference/subsystems/index.md +7 -2
- package/kb/site/en/reference/subsystems/jobs.md +1 -1
- package/kb/site/en/reference/subsystems/llm-streaming.md +154 -12
- package/kb/site/en/reference/subsystems/permission-presets.md +6 -6
- package/kb/site/en/reference/subsystems/persistence.md +185 -175
- package/kb/site/en/reference/subsystems/plan.md +2 -2
- package/kb/site/en/reference/subsystems/sandbox.md +2 -0
- package/kb/site/en/reference/subsystems/schedule.md +9 -3
- package/kb/site/en/reference/subsystems/session-projection.md +115 -48
- package/kb/site/en/reference/subsystems/session-query.md +28 -14
- package/kb/site/en/reference/subsystems/session-reference.md +53 -8
- package/kb/site/en/reference/subsystems/session-telemetry.md +8 -8
- package/kb/site/en/reference/subsystems/session-title.md +6 -6
- package/kb/site/en/reference/subsystems/session.md +401 -99
- package/kb/site/en/reference/subsystems/settings.md +101 -6
- package/kb/site/en/reference/subsystems/skills.md +23 -0
- package/kb/site/en/reference/subsystems/slots.md +178 -0
- package/kb/site/en/reference/subsystems/spill.md +2 -2
- package/kb/site/en/reference/subsystems/storage.md +34 -3
- package/kb/site/en/reference/subsystems/subagent.md +122 -109
- package/kb/site/en/reference/subsystems/system-prompt.md +17 -4
- package/kb/site/en/reference/subsystems/token-meter.md +27 -12
- package/kb/site/en/reference/subsystems/tools.md +39 -39
- package/kb/site/en/reference/subsystems/typert.md +62 -55
- 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 +102 -9
- package/kb/site/en/reference/tool-catalog.md +86 -82
- 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/network-proxy.md +87 -0
- package/kb/site/guide/providers.md +70 -17
- package/kb/site/guide/python-sdk.md +87 -41
- package/kb/site/guide/schedule.md +23 -0
- package/kb/site/reference/agent-lifecycle.md +6 -4
- package/kb/{extra/api-gateway.zh.md → site/reference/api-gateway.md} +12 -10
- package/kb/site/reference/capability-seams.md +128 -73
- package/kb/site/reference/config-catalog.md +481 -360
- package/kb/site/reference/cookbook/adding-a-package.md +3 -4
- package/kb/site/reference/cookbook/adding-a-settings-card.md +12 -10
- 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 +20 -17
- 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 +30 -11
- package/kb/site/reference/persistence-catalog.md +148 -80
- 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 +10 -6
- package/kb/site/reference/subsystems/commands.md +25 -16
- package/kb/site/reference/subsystems/compaction.md +11 -11
- package/kb/site/reference/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +50 -24
- package/kb/site/reference/subsystems/core.md +156 -17
- package/kb/site/reference/subsystems/credentials.md +44 -3
- package/kb/site/reference/subsystems/filesystem.md +12 -2
- package/kb/site/reference/subsystems/goal.md +1 -1
- package/kb/site/reference/subsystems/index.md +7 -2
- package/kb/site/reference/subsystems/jobs.md +1 -1
- package/kb/site/reference/subsystems/llm-streaming.md +154 -12
- package/kb/site/reference/subsystems/permission-presets.md +5 -5
- package/kb/site/reference/subsystems/persistence.md +184 -174
- package/kb/site/reference/subsystems/plan.md +2 -2
- package/kb/site/reference/subsystems/schedule.md +9 -3
- package/kb/site/reference/subsystems/session-projection.md +115 -48
- package/kb/site/reference/subsystems/session-query.md +28 -14
- package/kb/site/reference/subsystems/session-reference.md +53 -8
- package/kb/site/reference/subsystems/session-telemetry.md +8 -8
- package/kb/site/reference/subsystems/session-title.md +6 -6
- package/kb/site/reference/subsystems/session.md +401 -99
- package/kb/site/reference/subsystems/settings.md +101 -6
- package/kb/site/reference/subsystems/skills.md +23 -0
- package/kb/site/reference/subsystems/slots.md +178 -0
- package/kb/site/reference/subsystems/spill.md +2 -2
- package/kb/site/reference/subsystems/storage.md +34 -3
- package/kb/site/reference/subsystems/subagent.md +122 -109
- package/kb/site/reference/subsystems/system-prompt.md +17 -4
- package/kb/site/reference/subsystems/token-meter.md +27 -12
- package/kb/site/reference/subsystems/tools.md +39 -39
- package/kb/site/reference/subsystems/typert.md +62 -55
- 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 +102 -9
- package/kb/site/reference/tool-catalog.md +85 -81
- package/kb/site/reference/tool-execution-pipeline.md +1 -1
- package/package.json +2 -2
- package/skills/dsh-plugin-dev-kb.md +8 -6
|
@@ -14,14 +14,21 @@ flowchart LR
|
|
|
14
14
|
pkg_attachment["attachment"]
|
|
15
15
|
svc_attachments["ctx.attachments<br/>Durable binary attachment storage"]
|
|
16
16
|
pkg_attachment_local["attachment-local"]
|
|
17
|
-
|
|
17
|
+
pkg_api_session_controller["api-session-controller"]
|
|
18
|
+
pkg_tool_fs["tool-fs"]
|
|
18
19
|
pkg_llm_pi_ai["llm-pi-ai"]
|
|
20
|
+
pkg_llm_deepseek["llm-deepseek"]
|
|
21
|
+
pkg_client_file_upload["client-file-upload"]
|
|
22
|
+
svc_fileUploads["ctx.fileUploads<br/>Agent-scoped staged file uploads"]
|
|
19
23
|
pkg_llm["llm"]
|
|
20
24
|
svc_llm["ctx.llm<br/>LLM adapter registry"]
|
|
21
|
-
pkg_llm_deepseek["llm-deepseek"]
|
|
22
25
|
pkg_llm_replay["llm-replay"]
|
|
23
26
|
pkg_agent_loop["agent-loop"]
|
|
24
27
|
pkg_compaction_basic["compaction-basic"]
|
|
28
|
+
pkg_deepseek_llm_api_extensions["deepseek-llm-api-extensions"]
|
|
29
|
+
svc_deepseekLlmApiExtensions["ctx.deepseekLlmApiExtensions<br/>Official DeepSeek request extensions"]
|
|
30
|
+
pkg_session_log_deepseek["session-log-deepseek"]
|
|
31
|
+
pkg_plugin_package_inventory_deepseek["plugin-package-inventory-deepseek"]
|
|
25
32
|
pkg_token_meter["token-meter"]
|
|
26
33
|
svc_tokenMeter["ctx.tokenMeter<br/>Replay token measurement"]
|
|
27
34
|
pkg_compaction_tool_result_pruner["compaction-tool-result-pruner"]
|
|
@@ -32,9 +39,18 @@ flowchart LR
|
|
|
32
39
|
pkg_session_persistence["session-persistence"]
|
|
33
40
|
pkg_session_query["session-query"]
|
|
34
41
|
pkg_session_query_sqlite["session-query-sqlite"]
|
|
35
|
-
|
|
42
|
+
pkg_subagent_in_process_driver["subagent-in-process-driver"]
|
|
36
43
|
pkg_invariants["invariants"]
|
|
37
44
|
pkg_message_feedback["message-feedback"]
|
|
45
|
+
svc_sessionController["ctx.sessionController<br/>Host Session Remote controller"]
|
|
46
|
+
svc_sessionFileReferences["ctx.sessionFileReferences<br/>Session-addressed file-reference Remote adapter"]
|
|
47
|
+
svc_sessionSkillCatalog["ctx.sessionSkillCatalog<br/>Session-addressed skill Remote adapter"]
|
|
48
|
+
pkg_api_settings_controller["api-settings-controller"]
|
|
49
|
+
svc_credentialsController["ctx.credentialsController<br/>Host credential-surface Remote controller"]
|
|
50
|
+
svc_settingsController["ctx.settingsController<br/>Host settings-surface Remote controller"]
|
|
51
|
+
pkg_api_workspace_controller["api-workspace-controller"]
|
|
52
|
+
svc_workspaceController["ctx.workspaceController<br/>Host Workspace Remote controller"]
|
|
53
|
+
svc_directoryPickerController["ctx.directoryPickerController<br/>Host directory-picking Remote controller"]
|
|
38
54
|
svc_invariants["ctx.invariants<br/>Package-owned invariant registry"]
|
|
39
55
|
pkg_scope["scope"]
|
|
40
56
|
pkg_typert_registry["typert-registry"]
|
|
@@ -44,14 +60,14 @@ flowchart LR
|
|
|
44
60
|
svc_typertGateway["ctx.typertGateway<br/>Typert Host invocation gateway"]
|
|
45
61
|
svc_sessionPersistence["ctx.sessionPersistence<br/>Durable session persistence seam"]
|
|
46
62
|
pkg_session_persistence_jsonl["session-persistence-jsonl"]
|
|
47
|
-
pkg_session_persistence_sqlite["session-persistence-sqlite"]
|
|
48
63
|
pkg_tool_bash["tool-bash"]
|
|
49
64
|
pkg_hooks_claude_code["hooks-claude-code"]
|
|
50
65
|
pkg_hooks_codex["hooks-codex"]
|
|
51
66
|
pkg_settings["settings"]
|
|
52
67
|
svc_settings["ctx.settings<br/>User-settings seam"]
|
|
53
68
|
pkg_settings_file["settings-file"]
|
|
54
|
-
|
|
69
|
+
pkg_tool_subagent["tool-subagent"]
|
|
70
|
+
svc_subagentModelSelection["ctx.subagentModelSelection<br/>Subagent model-selection preference"]
|
|
55
71
|
pkg_credentials["credentials"]
|
|
56
72
|
svc_credentials["ctx.credentials<br/>Credential seam"]
|
|
57
73
|
pkg_credentials_local["credentials-local"]
|
|
@@ -83,14 +99,12 @@ flowchart LR
|
|
|
83
99
|
pkg_system_prompt["system-prompt"]
|
|
84
100
|
svc_systemPrompt["ctx.systemPrompt<br/>System prompt assembly registry"]
|
|
85
101
|
pkg_tools["tools"]
|
|
86
|
-
pkg_tool_fs["tool-fs"]
|
|
87
102
|
pkg_tool_terminal["tool-terminal"]
|
|
88
103
|
pkg_tool_web["tool-web"]
|
|
89
104
|
svc_tools["ctx.tools<br/>Tool registry and guarded execution pipeline"]
|
|
90
105
|
pkg_tool_ask_user["tool-ask-user"]
|
|
91
106
|
pkg_tool_cordis["tool-cordis"]
|
|
92
107
|
pkg_tool_skill["tool-skill"]
|
|
93
|
-
pkg_tool_subagent["tool-subagent"]
|
|
94
108
|
pkg_tool_todo["tool-todo"]
|
|
95
109
|
pkg_user_questions["user-questions"]
|
|
96
110
|
svc_userQuestions["ctx.userQuestions<br/>Human question/answer seam"]
|
|
@@ -102,9 +116,9 @@ flowchart LR
|
|
|
102
116
|
svc_commands["ctx.commands<br/>Human command registry"]
|
|
103
117
|
pkg_session_projection["session-projection"]
|
|
104
118
|
svc_sessionProjections["ctx.sessionProjections<br/>Session projection units"]
|
|
105
|
-
pkg_host_apiproxy["host-apiproxy"]
|
|
106
119
|
pkg_session_projection_cache["session-projection-cache"]
|
|
107
120
|
svc_sessionProjectionCache["ctx.sessionProjectionCache<br/>Persisted projection cache"]
|
|
121
|
+
pkg_subagent["subagent"]
|
|
108
122
|
pkg_skill["skill"]
|
|
109
123
|
svc_skills["ctx.skills<br/>Skill provider registry"]
|
|
110
124
|
pkg_skill_badge["skill-badge"]
|
|
@@ -115,7 +129,8 @@ flowchart LR
|
|
|
115
129
|
svc_agentDefaultModel["ctx.agentDefaultModel<br/>Default Agent model selection"]
|
|
116
130
|
pkg_headless["headless"]
|
|
117
131
|
svc_agentLoop["ctx.agentLoop<br/>Concrete loop driver"]
|
|
118
|
-
|
|
132
|
+
pkg_base["base"]
|
|
133
|
+
pkg_sdk_minimal["sdk-minimal"]
|
|
119
134
|
pkg_goal["goal"]
|
|
120
135
|
svc_goals["ctx.goals<br/>Same-session goal domain"]
|
|
121
136
|
pkg_e2b["e2b"]
|
|
@@ -146,29 +161,32 @@ flowchart LR
|
|
|
146
161
|
pkg_sandbox_policy["sandbox-policy"]
|
|
147
162
|
svc_sandboxPolicy["ctx.sandboxPolicy<br/>Sandbox policy home"]
|
|
148
163
|
pkg_fs_sandbox["fs-sandbox"]
|
|
149
|
-
|
|
164
|
+
pkg_user_approval["user-approval"]
|
|
150
165
|
svc_approval["ctx.approval<br/>Approval seam"]
|
|
151
166
|
pkg_permission_presets["permission-presets"]
|
|
152
167
|
svc_permissionPresets["ctx.permissionPresets<br/>Permission presets"]
|
|
153
168
|
pkg_code_runtime["code-runtime"]
|
|
154
169
|
svc_codeRuntime["ctx.codeRuntime<br/>Code-execution seam"]
|
|
155
|
-
|
|
170
|
+
pkg_code_runtime_worker_thread["code-runtime-worker-thread"]
|
|
171
|
+
pkg_experimental_code_runtime_python["experimental-code-runtime-python"]
|
|
156
172
|
pkg_fs["fs"]
|
|
157
173
|
svc_fs["ctx.fs<br/>Filesystem provider seam"]
|
|
158
174
|
pkg_fs_local["fs-local"]
|
|
159
175
|
pkg_fs_observation_policy["fs-observation-policy"]
|
|
160
176
|
pkg_compaction["compaction"]
|
|
161
177
|
svc_compaction["ctx.compaction<br/>Compaction seam"]
|
|
162
|
-
pkg_subagent["subagent"]
|
|
163
178
|
svc_subagents["ctx.subagents<br/>Subagent provider and continuation service"]
|
|
164
179
|
pkg_subagent_spawn_in_process["subagent-spawn-in-process"]
|
|
165
180
|
pkg_subagent_fork_in_process["subagent-fork-in-process"]
|
|
166
181
|
pkg_subagent_dsh_sdk["subagent-dsh-sdk"]
|
|
167
182
|
pkg_tool_subagent_control["tool-subagent-control"]
|
|
168
183
|
pkg_tool_ralph["tool-ralph"]
|
|
169
|
-
|
|
184
|
+
pkg_experimental_agent_team["experimental-agent-team"]
|
|
170
185
|
svc_agentTeams["ctx.agentTeams<br/>Agent Teams coordination domain"]
|
|
171
|
-
|
|
186
|
+
pkg_experimental_tool_agent_team["experimental-tool-agent-team"]
|
|
187
|
+
pkg_experimental_client_ui_agent_team["experimental-client-ui-agent-team"]
|
|
188
|
+
pkg_inspector["inspector"]
|
|
189
|
+
svc_inspector["ctx.inspector<br/>Cross-realm runtime inspection"]
|
|
172
190
|
pkg_jobs["jobs"]
|
|
173
191
|
svc_jobs["ctx.jobs<br/>Background job registry"]
|
|
174
192
|
pkg_jobs_local["jobs-local"]
|
|
@@ -183,44 +201,50 @@ flowchart LR
|
|
|
183
201
|
svc_spillStore["ctx.spillStore<br/>Spill storage seam"]
|
|
184
202
|
pkg_spill_local["spill-local"]
|
|
185
203
|
pkg_spill_policy["spill-policy"]
|
|
186
|
-
|
|
204
|
+
pkg_host_directory_picker["host-directory-picker"]
|
|
187
205
|
svc_directoryPicker["ctx.directoryPicker<br/>Workspace-directory picking seam"]
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
206
|
+
pkg_host_directory_picker_native["host-directory-picker-native"]
|
|
207
|
+
pkg_host_directory_picker_browse["host-directory-picker-browse"]
|
|
208
|
+
pkg_host_webserver["host-webserver"]
|
|
191
209
|
svc_webServer["ctx.webServer<br/>HTTP route registration"]
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
210
|
+
pkg_client_connection["client-connection"]
|
|
211
|
+
pkg_client_modules["client-modules"]
|
|
212
|
+
pkg_client_hmr["client-hmr"]
|
|
195
213
|
svc_clientModules["ctx.clientModules<br/>Client plugin graph host"]
|
|
196
214
|
pkg_workflow["workflow"]
|
|
197
215
|
svc_workflowEngine["ctx.workflowEngine<br/>Workflow script engine"]
|
|
198
216
|
pkg_workflow_worker_thread["workflow-worker-thread"]
|
|
199
217
|
pkg_tool_workflow["tool-workflow"]
|
|
218
|
+
pkg_webhook["webhook"]
|
|
219
|
+
svc_webhookRuntime["ctx.webhookRuntime<br/>Webhook rule runtime"]
|
|
220
|
+
pkg_webhook_github["webhook-github"]
|
|
200
221
|
pkg_lsp["lsp"]
|
|
201
222
|
svc_lsp["ctx.lsp<br/>Language-server navigation seam"]
|
|
202
|
-
pkg_lsp_local["lsp-local"]
|
|
203
223
|
pkg_tool_lsp["tool-lsp"]
|
|
204
|
-
svc_apiProxy["ctx.apiProxy<br/>Host API dispatch"]
|
|
205
224
|
pkg_cordis_host_runner["cordis-host-runner"]
|
|
206
225
|
svc_dynamicCordisRunner["ctx.dynamicCordisRunner<br/>Dynamic Cordis package host runner"]
|
|
207
226
|
svc_cordisInspect["ctx.cordisInspect<br/>Dynamic Cordis inspect registry"]
|
|
208
|
-
pkg_acp --> svc_approval
|
|
209
227
|
pkg_agent --> svc_agents
|
|
210
228
|
pkg_agent_default_model --> svc_agentDefaultModel
|
|
211
229
|
pkg_agent_loop --> svc_agentLoop
|
|
212
230
|
pkg_agent_presets --> svc_agentPresets
|
|
213
|
-
pkg_agent_team --> svc_agentTeams
|
|
214
231
|
pkg_api_gateway --> svc_typertGateway
|
|
215
|
-
|
|
216
|
-
|
|
232
|
+
pkg_api_session_controller --> svc_sessionController
|
|
233
|
+
pkg_api_session_controller --> svc_sessionFileReferences
|
|
234
|
+
pkg_api_session_controller --> svc_sessionSkillCatalog
|
|
235
|
+
pkg_api_settings_controller --> svc_credentialsController
|
|
236
|
+
pkg_api_settings_controller --> svc_settingsController
|
|
237
|
+
pkg_api_workspace_controller --> svc_directoryPickerController
|
|
238
|
+
pkg_api_workspace_controller --> svc_workspaceController
|
|
217
239
|
pkg_attachment --> svc_attachments
|
|
218
240
|
pkg_attachment_local --> svc_attachments
|
|
219
241
|
pkg_authorization --> svc_authorization
|
|
220
242
|
pkg_bash_local --> svc_shell
|
|
221
243
|
pkg_bash_sandbox --> svc_shell
|
|
244
|
+
pkg_client_file_upload --> svc_fileUploads
|
|
245
|
+
pkg_client_modules --> svc_clientModules
|
|
222
246
|
pkg_code_runtime --> svc_codeRuntime
|
|
223
|
-
|
|
247
|
+
pkg_code_runtime_worker_thread --> svc_codeRuntime
|
|
224
248
|
pkg_commands --> svc_commands
|
|
225
249
|
pkg_compaction --> svc_compaction
|
|
226
250
|
pkg_compaction_basic --> svc_compaction
|
|
@@ -229,10 +253,10 @@ flowchart LR
|
|
|
229
253
|
pkg_cordis_host_runner --> svc_dynamicCordisRunner
|
|
230
254
|
pkg_credentials --> svc_credentials
|
|
231
255
|
pkg_credentials_local --> svc_credentials
|
|
232
|
-
|
|
233
|
-
pkg_directory_picker_browse --> svc_directoryPicker
|
|
234
|
-
pkg_directory_picker_native --> svc_directoryPicker
|
|
256
|
+
pkg_deepseek_llm_api_extensions --> svc_deepseekLlmApiExtensions
|
|
235
257
|
pkg_e2b --> svc_e2b
|
|
258
|
+
pkg_experimental_agent_team --> svc_agentTeams
|
|
259
|
+
pkg_experimental_code_runtime_python --> svc_codeRuntime
|
|
236
260
|
pkg_file_reference --> svc_fileReferences
|
|
237
261
|
pkg_file_reference_local --> svc_fileReferences
|
|
238
262
|
pkg_fs --> svc_fs
|
|
@@ -240,6 +264,11 @@ flowchart LR
|
|
|
240
264
|
pkg_fs_local --> svc_fs
|
|
241
265
|
pkg_fs_sandbox --> svc_fs
|
|
242
266
|
pkg_goal --> svc_goals
|
|
267
|
+
pkg_host_directory_picker --> svc_directoryPicker
|
|
268
|
+
pkg_host_directory_picker_browse --> svc_directoryPicker
|
|
269
|
+
pkg_host_directory_picker_native --> svc_directoryPicker
|
|
270
|
+
pkg_host_webserver --> svc_webServer
|
|
271
|
+
pkg_inspector --> svc_inspector
|
|
243
272
|
pkg_invariants --> svc_invariants
|
|
244
273
|
pkg_jobs --> svc_jobs
|
|
245
274
|
pkg_jobs_local --> svc_jobs
|
|
@@ -248,19 +277,19 @@ flowchart LR
|
|
|
248
277
|
pkg_llm_pi_ai --> svc_llm
|
|
249
278
|
pkg_llm_replay --> svc_llm
|
|
250
279
|
pkg_lsp --> svc_lsp
|
|
251
|
-
|
|
280
|
+
pkg_lsp_stdio --> svc_lsp
|
|
252
281
|
pkg_message_feedback --> svc_messageFeedback
|
|
253
|
-
pkg_modules --> svc_clientModules
|
|
254
282
|
pkg_permission_presets --> svc_permissionPresets
|
|
255
283
|
pkg_plan_mode --> svc_planMode
|
|
284
|
+
pkg_plugin_package_inventory_deepseek --> svc_deepseekLlmApiExtensions
|
|
256
285
|
pkg_pwsh_local --> svc_shell
|
|
257
286
|
pkg_sandbox --> svc_sandbox
|
|
258
287
|
pkg_sandbox_local --> svc_sandbox
|
|
259
288
|
pkg_sandbox_policy --> svc_sandboxPolicy
|
|
260
289
|
pkg_session --> svc_sessions
|
|
290
|
+
pkg_session_log_deepseek --> svc_deepseekLlmApiExtensions
|
|
261
291
|
pkg_session_persistence --> svc_sessionPersistence
|
|
262
292
|
pkg_session_persistence_jsonl --> svc_sessionPersistence
|
|
263
|
-
pkg_session_persistence_sqlite --> svc_sessionPersistence
|
|
264
293
|
pkg_session_projection --> svc_sessionProjections
|
|
265
294
|
pkg_session_projection_cache --> svc_sessionProjectionCache
|
|
266
295
|
pkg_session_query --> svc_sessionQuery
|
|
@@ -298,42 +327,51 @@ flowchart LR
|
|
|
298
327
|
pkg_terminal --> svc_terminals
|
|
299
328
|
pkg_terminal_bash --> svc_terminals
|
|
300
329
|
pkg_token_meter --> svc_tokenMeter
|
|
330
|
+
pkg_tool_subagent --> svc_subagentModelSelection
|
|
301
331
|
pkg_tools --> svc_tools
|
|
302
332
|
pkg_typert_registry --> svc_typert
|
|
333
|
+
pkg_user_approval --> svc_approval
|
|
303
334
|
pkg_user_questions --> svc_userQuestions
|
|
304
335
|
pkg_web --> svc_web
|
|
305
336
|
pkg_web_fetch_http --> svc_web
|
|
306
337
|
pkg_web_search_deepseek --> svc_web
|
|
307
338
|
pkg_web_search_exa --> svc_web
|
|
308
339
|
pkg_web_search_perplexity --> svc_web
|
|
309
|
-
|
|
340
|
+
pkg_webhook --> svc_webhookRuntime
|
|
310
341
|
pkg_workflow --> svc_workflowEngine
|
|
311
342
|
pkg_workflow_worker_thread --> svc_workflowEngine
|
|
312
343
|
pkg_workspace --> svc_workspaceRegistry
|
|
344
|
+
svc_agentDefaultModel --> pkg_api_session_controller
|
|
313
345
|
svc_agentDefaultModel --> pkg_headless
|
|
314
|
-
|
|
315
|
-
svc_agentLoop -->
|
|
316
|
-
svc_agentTeams -->
|
|
346
|
+
svc_agentLoop --> pkg_base
|
|
347
|
+
svc_agentLoop --> pkg_sdk_minimal
|
|
348
|
+
svc_agentTeams --> pkg_experimental_client_ui_agent_team
|
|
349
|
+
svc_agentTeams --> pkg_experimental_tool_agent_team
|
|
317
350
|
svc_agents --> pkg_acp
|
|
318
351
|
svc_agents --> pkg_agent_loop
|
|
319
|
-
svc_agents -->
|
|
320
|
-
|
|
352
|
+
svc_agents --> pkg_subagent_in_process_driver
|
|
353
|
+
svc_approval --> pkg_acp
|
|
321
354
|
svc_approval --> pkg_tool_bash
|
|
322
355
|
svc_approval --> pkg_tools
|
|
323
|
-
svc_attachments -->
|
|
356
|
+
svc_attachments --> pkg_api_session_controller
|
|
357
|
+
svc_attachments --> pkg_llm_deepseek
|
|
324
358
|
svc_attachments --> pkg_llm_pi_ai
|
|
359
|
+
svc_attachments --> pkg_tool_fs
|
|
325
360
|
svc_authorization --> pkg_llm_pi_ai
|
|
326
|
-
svc_clientModules -->
|
|
361
|
+
svc_clientModules --> pkg_client_hmr
|
|
327
362
|
svc_codeRuntime --> pkg_tools
|
|
328
363
|
svc_compaction --> pkg_compaction_basic
|
|
329
364
|
svc_cordisInspect --> pkg_tool_cordis
|
|
330
|
-
svc_credentials -->
|
|
365
|
+
svc_credentials --> pkg_api_settings_controller
|
|
331
366
|
svc_credentials --> pkg_llm_deepseek
|
|
332
367
|
svc_credentials --> pkg_llm_pi_ai
|
|
333
|
-
|
|
368
|
+
svc_deepseekLlmApiExtensions --> pkg_llm_deepseek
|
|
369
|
+
svc_directoryPicker --> pkg_api_workspace_controller
|
|
334
370
|
svc_dynamicCordisRunner --> pkg_tool_cordis
|
|
335
371
|
svc_e2b --> pkg_fs_e2b
|
|
336
372
|
svc_e2b --> pkg_subprocess_e2b
|
|
373
|
+
svc_fileReferences --> pkg_api_session_controller
|
|
374
|
+
svc_fileUploads --> pkg_api_session_controller
|
|
337
375
|
svc_fs --> pkg_tool_fs
|
|
338
376
|
svc_invariants --> pkg_agent
|
|
339
377
|
svc_invariants --> pkg_agent_loop
|
|
@@ -358,8 +396,11 @@ flowchart LR
|
|
|
358
396
|
svc_sessionPersistence --> pkg_session_query
|
|
359
397
|
svc_sessionPersistence --> pkg_session_query_sqlite
|
|
360
398
|
svc_sessionPersistence --> pkg_tool_bash
|
|
361
|
-
svc_sessionProjectionCache -->
|
|
362
|
-
|
|
399
|
+
svc_sessionProjectionCache --> pkg_api_session_controller
|
|
400
|
+
svc_sessionProjectionCache --> pkg_session_query
|
|
401
|
+
svc_sessionProjectionCache --> pkg_session_reference
|
|
402
|
+
svc_sessionProjectionCache --> pkg_subagent
|
|
403
|
+
svc_sessionProjections --> pkg_api_session_controller
|
|
363
404
|
svc_sessionProjections --> pkg_session_title
|
|
364
405
|
svc_sessionProjections --> pkg_tool_todo
|
|
365
406
|
svc_sessionQuery --> pkg_session_reference
|
|
@@ -371,8 +412,8 @@ flowchart LR
|
|
|
371
412
|
svc_sessions --> pkg_session_persistence
|
|
372
413
|
svc_sessions --> pkg_session_query
|
|
373
414
|
svc_sessions --> pkg_session_query_sqlite
|
|
374
|
-
svc_sessions -->
|
|
375
|
-
svc_settings -->
|
|
415
|
+
svc_sessions --> pkg_subagent_in_process_driver
|
|
416
|
+
svc_settings --> pkg_api_settings_controller
|
|
376
417
|
svc_settings --> pkg_llm_deepseek
|
|
377
418
|
svc_settings --> pkg_llm_pi_ai
|
|
378
419
|
svc_shell --> pkg_hooks_claude_code
|
|
@@ -386,6 +427,7 @@ flowchart LR
|
|
|
386
427
|
svc_storage --> pkg_storage_domain
|
|
387
428
|
svc_storageDomain --> pkg_message_feedback
|
|
388
429
|
svc_storageDomain --> pkg_workspace
|
|
430
|
+
svc_subagentModelSelection --> pkg_tool_subagent
|
|
389
431
|
svc_subagents --> pkg_tool_ralph
|
|
390
432
|
svc_subagents --> pkg_tool_subagent
|
|
391
433
|
svc_subagents --> pkg_tool_subagent_control
|
|
@@ -418,50 +460,62 @@ flowchart LR
|
|
|
418
460
|
svc_typert --> pkg_typert_loader
|
|
419
461
|
svc_userQuestions --> pkg_tool_ask_user
|
|
420
462
|
svc_web --> pkg_tool_web
|
|
421
|
-
svc_webServer -->
|
|
422
|
-
svc_webServer -->
|
|
423
|
-
svc_webServer -->
|
|
463
|
+
svc_webServer --> pkg_client_connection
|
|
464
|
+
svc_webServer --> pkg_client_hmr
|
|
465
|
+
svc_webServer --> pkg_client_modules
|
|
466
|
+
svc_webhookRuntime --> pkg_webhook_github
|
|
424
467
|
svc_workflowEngine --> pkg_tool_ralph
|
|
425
468
|
svc_workflowEngine --> pkg_tool_workflow
|
|
426
|
-
svc_workspaceRegistry -->
|
|
469
|
+
svc_workspaceRegistry --> pkg_api_session_controller
|
|
470
|
+
svc_workspaceRegistry --> pkg_api_workspace_controller
|
|
427
471
|
svc_fs -. event gate .-> pkg_fs_observation_policy
|
|
428
472
|
```
|
|
429
473
|
|
|
430
474
|
| ctx 键 | 角色 | 所属包 | 实现 | 直接消费方 | 配套插件 | 说明 |
|
|
431
475
|
| --- | --- | --- | --- | --- | --- | --- |
|
|
432
|
-
| `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) | `
|
|
476
|
+
| `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) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`tool-fs`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/fs/tool-fs), [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai), [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | 宿主会在会话事件之前提交已接受的图片;提供方适配器将已授权的持久引用解析为提供方原生内容。 |
|
|
477
|
+
| `ctx.fileUploads` | `core` | [`client-file-upload`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/file-upload) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 负责流式接收、持久存储和暂存回执生命周期;Session Controller 将回执绑定到已接受的提交。 |
|
|
433
478
|
| `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(智能体循环)与压缩功能调用提供方无关的流服务。 |
|
|
479
|
+
| `ctx.deepseekLlmApiExtensions` | `seam` | [`deepseek-llm-api-extensions`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/deepseek-llm-api-extensions) | [`session-log-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-log-deepseek), [`plugin-package-inventory-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/plugin-package-inventory-deepseek) | [`llm-deepseek`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-deepseek) | - | 插件准备彼此独立的顶层字段;官方适配器会合并这些字段,并在 HTTP 接受后提交其交付状态。 |
|
|
434
480
|
| `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) | - | 拥有按会话隔离的回放折叠区;压力消费方共享不可变且带修订版本的测量结果。 |
|
|
435
481
|
| `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) | - | 在摘要压缩前,通过可回放的单节点表层替换来改写过大的当前工具结果。 |
|
|
436
|
-
| `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-
|
|
482
|
+
| `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-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver), [`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 实例,并发出持久的会话事件流。 |
|
|
483
|
+
| `ctx.sessionController` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 负责 Session 命令、冷读取、持久事件跟随、实时控制状态、模型目录、workspace 打开与 Agent 激活策略。 |
|
|
484
|
+
| `ctx.sessionFileReferences` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 通过 Session Controller 的既有 Agent lookup 策略委托文件引用发现。 |
|
|
485
|
+
| `ctx.sessionSkillCatalog` | `core` | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | - | - | 在不激活冷 Agent 的前提下列出 Session 组合中允许用户调用的 skill。 |
|
|
486
|
+
| `ctx.credentialsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | 把凭据引用 seam 投影到生成的 Remote namespace:批量扇出、视图投影与拒绝映射都在这里,而不在 seam Definition 上。 |
|
|
487
|
+
| `ctx.settingsController` | `core` | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller) | - | - | - | 把用户设置 seam 投影到生成的 Remote namespace:读取一律脱敏,所有拒绝在这里分类,而不在 seam Definition 上。 |
|
|
488
|
+
| `ctx.workspaceController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | 通过生成的 Remote namespace 负责 Workspace 命令和可在重连后收敛的 Workspace 状态投递。 |
|
|
489
|
+
| `ctx.directoryPickerController` | `core` | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | - | - | 把选目录 seam 送上线:能力门禁、取消传播,以及浏览器目录流程用于分支判断的 seam 错误码。 |
|
|
437
490
|
| `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,以及标明所属包的失败。 |
|
|
438
491
|
| `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 与反射元数据。 |
|
|
439
492
|
| `ctx.typertGateway` | `core` | [`api-gateway`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/gateway) | - | - | - | 将生成的 Remote 描述符与实时 Cordis 服务关联,解析已注册的身份,并通过共享的 Connection RPC 载体提供一元调用。 |
|
|
440
|
-
| `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)
|
|
441
|
-
| `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)
|
|
442
|
-
| `ctx.
|
|
493
|
+
| `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) | [`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) | - | JSONL backend 把 SessionEvent 词汇持久化为每个 Session 一份产物。 |
|
|
494
|
+
| `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) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`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) | - | 插件注册命名空间 schema 并解析分层值;提供方存储原始文档。LLM(大语言模型)适配器在用户分区下将其入口配置注册为组合基础;settings controller 提供经过脱敏的分层描述符,并写入用户层。 |
|
|
495
|
+
| `ctx.subagentModelSelection` | `core` | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | [`tool-subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/tool-subagent) | - | 拥有默认关闭的设置命名空间;Agent 作用域的委派工具会在组合新顶层 Session 时读取它。 |
|
|
496
|
+
| `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) | [`api-settings-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/settings-controller), [`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) | - | 配置携带对机密信息的引用;提供方拥有实际值。消费方按操作解析,因此轮换后的凭据会在紧接着的下一次请求中生效;settings controller 提供不含实际值的视图和只写存储。 |
|
|
443
497
|
| `ctx.authorization` | `seam` | [`authorization`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/credentials/authorization) | - | [`llm-pi-ai`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/llm/llm-pi-ai) | - | flow 由知道如何取得某份凭据的插件注册,并以其写入的记录为键;seam 拥有这段对话与"每个键同时只跑一次尝试"的生命周期,而非协议本身。 |
|
|
444
498
|
| `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 捕获会话记录、进行脱敏并交给一个后端;没有其他组件消费该服务,其输出会离开当前进程。 |
|
|
445
499
|
| `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 单元原语。 |
|
|
446
500
|
| `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) | - | 等待所有已配置后端就绪,然后将领域形态发布为一个受生命周期约束的服务,用于类型化持久状态。 |
|
|
447
501
|
| `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 历史或遥测。 |
|
|
448
|
-
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | `
|
|
502
|
+
| `ctx.workspaceRegistry` | `core` | [`workspace`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/workspace/workspace) | - | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller), [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 通过领域设施拥有带 WorkspaceId 品牌类型的记录;稳定的 sessionIds 账户驱动 Host RPC 与 GUI 投影。 |
|
|
449
503
|
| `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) | - | 该接口提供精确读取、过滤和追踪;具体后端还提供全文协调、排序、摘要片段和游标世代,而模型消费方负责工作区权限与不含游标的渲染。 |
|
|
450
|
-
| `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | - | - |
|
|
504
|
+
| `ctx.fileReferences` | `seam` | [`file-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference) | [`file-reference-local`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/file-reference-local) | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller) | - | 该接口返回 Agent cwd 内仅含路径的补全候选;提供方负责命名空间访问与排序,但不读取文件内容。 |
|
|
451
505
|
| `ctx.sessionReferenceResolver` | `core` | [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference) | - | - | - | 将当前表层中有界的对话快照投影为持久但不可信的消息上下文;Host 适配器负责提及语法。 |
|
|
452
506
|
| `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) | - | - | 负责确定性回退、最新标题折叠区,以及唯一的可选异步提供方注册。 |
|
|
453
507
|
| `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。 |
|
|
454
|
-
| `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) | - | 注册能力,负责
|
|
508
|
+
| `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) | - | 注册能力,负责 PTC mode 传输,并让调用依次经过策略前处理、单调守卫、环绕分派、策略后处理和最终结果观测。 |
|
|
455
509
|
| `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 上暂停工具调用。 |
|
|
456
510
|
| `ctx.planMode` | `core` | [`plan-mode`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/plan/plan-mode) | - | - | - | 折叠已记录的计划/模式状态,在轮次边界刷新用户选择,渲染由部署方拥有的指导信息,注册 /plan,并在状态转换期间保持计划退出 schema 稳定。 |
|
|
457
511
|
| `ctx.agentPresets` | `core` | [`agent-presets`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/preset/agent-presets) | - | - | - | 在受信任根目录与用户创作根目录上发现 preset 目录,并在创建期把一份 preset cordis.yml 挂载到 agent 作用域之下,拒绝始终未激活或向根服务 realm 发布服务的行。 |
|
|
458
512
|
| `ctx.commands` | `core` | [`commands`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/commands) | - | - | - | 插件注册直接面向人的命令,而不会把调用发送给模型。 |
|
|
459
|
-
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`
|
|
460
|
-
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`
|
|
513
|
+
| `ctx.sessionProjections` | `core` | [`session-projection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`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) | - | 各领域注册由状态驱动的折叠单元;主动驱动过程维护每个会话的水位状态,Session controller 提供 baseline 并推送发生变化的值。 |
|
|
514
|
+
| `ctx.sessionProjectionCache` | `core` | [`session-projection-cache`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session/session-projection-cache) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`session-query`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/session-query/session-query), [`session-reference`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/context/session-reference), [`subagent`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent) | - | 按会话持久保存投影单元状态的检查点(节流检查点,以及轮次/结束/分离时的必选检查点),并提供冷读取阶梯:缓存行加持久化尾部回放,因此列表读取永远不需要加载完整日志。 |
|
|
461
515
|
| `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 正文。 |
|
|
462
|
-
| `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-
|
|
463
|
-
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`
|
|
464
|
-
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`
|
|
516
|
+
| `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-in-process-driver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/subagent/subagent-in-process-driver) | - | 拥有实时 Agent 句柄、创建/恢复工厂 seam,以及进程本地的发起方传播。 |
|
|
517
|
+
| `ctx.agentDefaultModel` | `core` | [`agent-default-model`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-default-model) | - | [`api-session-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/session-controller), [`headless`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/headless) | - | 通过 settings 分层默认 `ModelSelection`,让直接入口与 Host 支撑的 Agent 入口共享同一个状态所有者。 |
|
|
518
|
+
| `ctx.agentLoop` | `bundle` | [`agent-loop`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/agent-loop) | - | [`base`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/base), [`sdk-minimal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/bundle/sdk-minimal) | - | 唯一的具体循环插件;扩展包依赖 dsh-agent 的事件和服务,而不依赖此包。 |
|
|
465
519
|
| `ctx.goals` | `core` | [`goal`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/goal/goal) | - | - | - | 从会话日志折叠带修订版本的目标状态,并将实时延续激活保留在进程本地。 |
|
|
466
520
|
| `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 运行时中。 |
|
|
467
521
|
| `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 升级。 |
|
|
@@ -470,22 +524,23 @@ flowchart LR
|
|
|
470
524
|
| `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 则提供限定于所有者作用域的模型接口。 |
|
|
471
525
|
| `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,并报告强制执行情况。 |
|
|
472
526
|
| `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 不会限制到不同的根目录。 |
|
|
473
|
-
| `ctx.approval` | `seam` | `approval`
|
|
527
|
+
| `ctx.approval` | `seam` | [`user-approval`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/interaction/user-approval) | - | [`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), [`acp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/acp/acp) | - | 一次性权限决策通过 `approval/request` waterfall(瀑布式事件)分派;回答方是监听器(即 ACP 为自身 agent 提供的桥接),没有回答方时以 `unavailable` 关闭失败。 |
|
|
474
528
|
| `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` 事件,并贯通到两个选项事件。 |
|
|
475
|
-
| `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 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在
|
|
529
|
+
| `ctx.codeRuntime` | `seam` | [`code-runtime`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime) | [`code-runtime-worker-thread`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/code-runtime/code-runtime-worker-thread), [`experimental-code-runtime-python`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/code-runtime-python) | [`tools`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/core/tools) | - | 使用 Host 提供的异步绑定运行一段由模型编写的程序;各后端采用不同的基础环境和语言(工具注册表在 PTC mode 下消费该服务)。 |
|
|
476
530
|
| `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/* 事件门禁贡献基于观测状态的检查。 |
|
|
477
531
|
| `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) | - | 基础后端消费步骤后的压力事件和请求错误恢复事件;不存在面向模型的压缩工具。 |
|
|
478
532
|
| `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 要求一条全新的结构化输出路由。 |
|
|
479
|
-
| `ctx.agentTeams` | `core` | `agent-team` | - | `tool-agent-team` | - | 负责隐式 Root roster、持久 peer mailbox、共享任务 DAG
|
|
533
|
+
| `ctx.agentTeams` | `core` | [`experimental-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/agent-team) | - | [`experimental-tool-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/tool-agent-team), [`experimental-client-ui-agent-team`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/experimental/client-ui-agent-team) | - | 负责隐式 Root roster、持久 peer mailbox、共享任务 DAG、continuable child 生命周期与生成式 Team Remote method;tool-agent-team 提供模型控制工具,client-ui-agent-team 挂载浏览器 contribution。 |
|
|
534
|
+
| `ctx.inspector` | `core` | `inspector` | - | - | - | 负责 Worker 托管的 CDP target,以及独立于传输的 Host 和 Client observation 与 Cordis tree query API。 |
|
|
480
535
|
| `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 是进程本地注册表。 |
|
|
481
536
|
| `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 负责稳定的面向模型名称。 |
|
|
482
537
|
| `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。 |
|
|
483
|
-
| `ctx.directoryPicker` | `seam` | `directory-picker` | `directory-picker-native
|
|
484
|
-
| `ctx.webServer` | `core` | `webserver` | - | `connection
|
|
485
|
-
| `ctx.clientModules` | `core` | `modules` | - | `hmr` | - | 通过增量 `dsh.client` 扫描组合 __DSH_BOOT__ 入口图,提供插件组合包,并通知重建/图变更订阅方。 |
|
|
538
|
+
| `ctx.directoryPicker` | `seam` | [`host-directory-picker`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker) | [`host-directory-picker-native`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-native), [`host-directory-picker-browse`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/directory-picker-browse) | [`api-workspace-controller`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/api/workspace-controller) | - | 带判别标记的交互能力:原生后端在 Host 显示设备上打开一个操作系统选择器,浏览后端为应用内浏览器提供列表与创建原语;双端后端通过其浏览器侧填充 ui-workspace 目录流程的 slot(不通过协议发布)。 |
|
|
539
|
+
| `ctx.webServer` | `core` | [`host-webserver`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/host/webserver) | - | [`client-connection`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/connection), [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules), [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | 普通的 node:http 载体:具名路由注册表、索引转换 tap,以及静态 dist 回退;Web 传输插件注册自己的路由。 |
|
|
540
|
+
| `ctx.clientModules` | `core` | [`client-modules`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/modules) | - | [`client-hmr`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/client/hmr) | - | 通过增量 `dsh.client` 扫描组合 __DSH_BOOT__ 入口图,提供插件组合包,并通知重建/图变更订阅方。 |
|
|
486
541
|
| `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 扇出。 |
|
|
487
|
-
| `ctx.
|
|
488
|
-
| `ctx.
|
|
542
|
+
| `ctx.webhookRuntime` | `core` | [`webhook`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook) | - | [`webhook-github`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/webhook/webhook-github) | - | 提供方适配器分派已认证交付;可信插件注册独立的进程本地规则,runtime 把非 null 结果转换为普通的 Workspace-backed Session,不保留交付或完成状态。 |
|
|
543
|
+
| `ctx.lsp` | `seam` | [`lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp) | [`lsp-stdio`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/lsp-stdio) | [`tool-lsp`](https://github.com/deepseek-ai/deepseek-harness/tree/master/packages/lsp/tool-lsp) | - | 提供方注册与选择,加上恰好四种操作的标准化查询执行;该 seam 不提供协议逃生口,后端必须转换为标准化请求和结果。 |
|
|
489
544
|
| `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 命名空间在线访问同一服务。 |
|
|
490
545
|
| `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 查询。 |
|
|
491
546
|
|