dsh-plugin-dev-kb 1.1.0 → 1.3.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 +16 -0
- package/README.en.md +14 -8
- package/README.md +14 -8
- package/docs/banner.svg +25 -0
- package/kb/INDEX.md +6 -2
- package/kb/README.md +4 -4
- package/kb/extra/AGENTS.md +2 -2
- package/kb/extra/cookbook/adding-a-session-format-version.md +109 -0
- package/kb/extra/cookbook/adding-a-session-format-version.zh.md +109 -0
- package/kb/extra/cookbook/adding-a-vendored-package.md +1 -1
- package/kb/extra/cookbook/adding-a-vendored-package.zh.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.md +1 -1
- package/kb/extra/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/kb/extra/deepseek-llm-api-wire-extensions.md +2 -2
- package/kb/extra/deepseek-llm-api-wire-extensions.zh.md +2 -2
- package/kb/extra/development.md +13 -3
- package/kb/extra/development.zh.md +13 -3
- package/kb/extra/event-producer-consumer.md +33 -31
- package/kb/extra/event-producer-consumer.zh.md +34 -32
- package/kb/extra/i18n/README.md +2 -1
- package/kb/extra/i18n/README.zh.md +3 -2
- package/kb/extra/i18n/translation-prompt.md +1 -1
- package/kb/extra/module-graph.md +62 -24
- package/kb/extra/module-graph.zh.md +62 -24
- package/kb/extra/rescope.md +1 -1
- package/kb/extra/rescope.zh.md +1 -1
- package/kb/extra/session-format-status.md +47 -0
- package/kb/extra/session-format-status.zh.md +47 -0
- package/kb/extra/subsystems/agent-team.md +1 -1
- package/kb/extra/subsystems/agent-team.zh.md +1 -1
- package/kb/extra/subsystems/feedback.md +164 -30
- package/kb/extra/subsystems/feedback.zh.md +164 -30
- package/kb/extra/testing.md +4 -3
- package/kb/extra/testing.zh.md +4 -3
- package/kb/extra/web-styling.md +1 -0
- package/kb/extra/web-styling.zh.md +1 -0
- package/kb/meta/search-index.json +151 -103
- package/kb/meta/site-pages.txt +188 -184
- package/kb/meta/source.json +5 -5
- package/kb/meta/topics.md +2 -2
- package/kb/site/develop/basic/publish.md +1 -1
- package/kb/site/en/develop/basic/publish.md +1 -1
- package/kb/site/en/guide/providers.md +1 -1
- package/kb/site/en/guide/python-sdk.md +19 -3
- package/kb/site/en/reference/agent-lifecycle.md +12 -5
- package/kb/site/en/reference/capability-seams.md +10 -3
- package/kb/site/en/reference/config-catalog.md +173 -42
- package/kb/site/en/reference/cookbook/adding-a-tool.md +1 -1
- package/kb/site/en/reference/cookbook/extension-cookbook.md +1 -1
- package/kb/site/en/reference/index.md +18 -8
- package/kb/site/en/reference/persistence-catalog.md +121 -48
- package/kb/site/en/reference/subsystems/approval.md +1 -1
- package/kb/site/en/reference/subsystems/client-modules.md +9 -0
- package/kb/site/en/reference/subsystems/client-resources.md +94 -0
- package/kb/site/en/reference/subsystems/compaction.md +1 -1
- package/kb/site/en/reference/subsystems/core.md +79 -16
- package/kb/site/en/reference/subsystems/filesystem.md +15 -0
- package/kb/site/en/reference/subsystems/goal.md +37 -1
- package/kb/site/en/reference/subsystems/index.md +2 -0
- package/kb/site/en/reference/subsystems/invariants.md +1 -1
- package/kb/site/en/reference/subsystems/llm-streaming.md +20 -10
- package/kb/site/en/reference/subsystems/lsp.md +1 -1
- package/kb/site/en/reference/subsystems/persistence.md +36 -15
- package/kb/site/en/reference/subsystems/schedule.md +1 -1
- package/kb/site/en/reference/subsystems/scope.md +1 -1
- package/kb/site/en/reference/subsystems/session-reference.md +4 -0
- package/kb/site/en/reference/subsystems/session-telemetry.md +22 -6
- package/kb/site/en/reference/subsystems/session.md +64 -42
- package/kb/site/en/reference/subsystems/shell.md +9 -6
- package/kb/site/en/reference/subsystems/sidebar-right.md +151 -0
- package/kb/site/en/reference/subsystems/slots.md +41 -33
- package/kb/site/en/reference/subsystems/spill.md +13 -6
- package/kb/site/en/reference/subsystems/subagent.md +20 -13
- package/kb/site/en/reference/subsystems/subprocess.md +25 -26
- package/kb/site/en/reference/subsystems/system-prompt.md +3 -1
- package/kb/site/en/reference/subsystems/token-meter.md +2 -1
- package/kb/site/en/reference/subsystems/tools.md +5 -5
- package/kb/site/en/reference/subsystems/workspace.md +80 -1
- package/kb/site/en/reference/tool-catalog.md +46 -2
- package/kb/site/en/reference/tool-execution-pipeline.md +2 -2
- package/kb/site/guide/providers.md +1 -1
- package/kb/site/guide/python-sdk.md +19 -3
- package/kb/site/reference/agent-lifecycle.md +12 -5
- package/kb/site/reference/capability-seams.md +10 -3
- package/kb/site/reference/config-catalog.md +173 -42
- package/kb/site/reference/cookbook/adding-a-tool.md +1 -1
- package/kb/site/reference/cookbook/extension-cookbook.md +1 -1
- package/kb/site/reference/index.md +18 -8
- package/kb/site/reference/persistence-catalog.md +127 -54
- package/kb/site/reference/subsystems/approval.md +1 -1
- package/kb/site/reference/subsystems/client-modules.md +9 -0
- package/kb/site/reference/subsystems/client-resources.md +94 -0
- package/kb/site/reference/subsystems/compaction.md +1 -1
- package/kb/site/reference/subsystems/core.md +79 -16
- package/kb/site/reference/subsystems/filesystem.md +15 -0
- package/kb/site/reference/subsystems/goal.md +37 -1
- package/kb/site/reference/subsystems/index.md +14 -12
- package/kb/site/reference/subsystems/invariants.md +1 -1
- package/kb/site/reference/subsystems/llm-streaming.md +20 -10
- package/kb/site/reference/subsystems/lsp.md +1 -1
- package/kb/site/reference/subsystems/persistence.md +36 -15
- package/kb/site/reference/subsystems/schedule.md +1 -1
- package/kb/site/reference/subsystems/scope.md +1 -1
- package/kb/site/reference/subsystems/session-reference.md +4 -0
- package/kb/site/reference/subsystems/session-telemetry.md +22 -6
- package/kb/site/reference/subsystems/session.md +64 -42
- package/kb/site/reference/subsystems/shell.md +9 -6
- package/kb/site/reference/subsystems/sidebar-right.md +151 -0
- package/kb/site/reference/subsystems/slots.md +41 -33
- package/kb/site/reference/subsystems/spill.md +13 -6
- package/kb/site/reference/subsystems/subagent.md +20 -13
- package/kb/site/reference/subsystems/subprocess.md +25 -26
- package/kb/site/reference/subsystems/system-prompt.md +3 -1
- package/kb/site/reference/subsystems/token-meter.md +2 -1
- package/kb/site/reference/subsystems/tools.md +5 -5
- package/kb/site/reference/subsystems/workspace.md +80 -1
- package/kb/site/reference/tool-catalog.md +46 -2
- package/kb/site/reference/tool-execution-pipeline.md +2 -2
- package/lib/index.js +25 -44
- package/package.json +3 -2
- package/skills/dsh-plugin-dev-kb.md +3 -3
|
@@ -233,6 +233,34 @@ export interface Config {
|
|
|
233
233
|
|
|
234
234
|
来源:[`packages/api/settings-controller/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/settings-controller/src/index.ts)
|
|
235
235
|
|
|
236
|
+
<a id="deepseek-aidsh-api-workspace-files"></a>
|
|
237
|
+
|
|
238
|
+
## `@deepseek-ai/dsh-api-workspace-files`
|
|
239
|
+
|
|
240
|
+
Requires: `fs` · `sandboxPolicy` · `sessions` · `typert`
|
|
241
|
+
|
|
242
|
+
```ts config-catalog
|
|
243
|
+
/** Deployment caps on one page or one listing. */
|
|
244
|
+
export interface Config {
|
|
245
|
+
/**
|
|
246
|
+
* Inclusive byte cap on one page's text and on one byte window.
|
|
247
|
+
*
|
|
248
|
+
* A page above this fails; it is not shortened, because a silently cut page
|
|
249
|
+
* reads as the whole page. A byte window asking for more is refused the same
|
|
250
|
+
* way. The file itself has no size cap: a caller pages through it.
|
|
251
|
+
*/
|
|
252
|
+
readonly maxBytes: number
|
|
253
|
+
/** Inclusive byte cap on a complete-file read; larger files are refused, never truncated. */
|
|
254
|
+
readonly maxFileBytes: number
|
|
255
|
+
/** Default and largest page size in lines; a request asking for more is refused. */
|
|
256
|
+
readonly maxLines: number
|
|
257
|
+
/** Cap on returned directory entries; the rest is dropped and reported cut. */
|
|
258
|
+
readonly maxEntries: number
|
|
259
|
+
}
|
|
260
|
+
```
|
|
261
|
+
|
|
262
|
+
来源:[`packages/api/workspace-files/src/index.ts:69`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/api/workspace-files/src/index.ts)
|
|
263
|
+
|
|
236
264
|
<a id="deepseek-aidsh-attachment-local"></a>
|
|
237
265
|
|
|
238
266
|
## `@deepseek-ai/dsh-attachment-local`
|
|
@@ -313,17 +341,19 @@ export type Config = LocalConfig
|
|
|
313
341
|
|
|
314
342
|
依赖:[`LocalConfig`](#deepseek-aidsh-bash-local)
|
|
315
343
|
|
|
316
|
-
来源:[`packages/shell/bash-sandbox/src/index.ts:
|
|
344
|
+
来源:[`packages/shell/bash-sandbox/src/index.ts:36`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/bash-sandbox/src/index.ts)
|
|
317
345
|
|
|
318
346
|
<a id="deepseek-aidsh-client-connection"></a>
|
|
319
347
|
|
|
320
348
|
## `@deepseek-ai/dsh-client-connection`
|
|
321
349
|
|
|
322
|
-
需要:`
|
|
350
|
+
需要:`credentials`
|
|
323
351
|
|
|
324
352
|
```ts config-catalog
|
|
325
|
-
/**
|
|
353
|
+
/** Browser authentication, request limits, and connection recovery configuration. */
|
|
326
354
|
export interface ConnectionConfig {
|
|
355
|
+
/** Browser recovery timing, injected into each served page. */
|
|
356
|
+
recovery?: ConnectionRecoveryConfig
|
|
327
357
|
/**
|
|
328
358
|
* Authorities this deployment serves beyond loopback: exact `host:port`, or
|
|
329
359
|
* port-less `host` matching any port. The /api trust fence refuses any
|
|
@@ -338,9 +368,26 @@ export interface ConnectionConfig {
|
|
|
338
368
|
/** Maximum buffered JSON body for every `/api` request. Default: 300 MiB. */
|
|
339
369
|
maxRequestBodyBytes?: number
|
|
340
370
|
}
|
|
371
|
+
|
|
372
|
+
/** Timing for generation readiness and automatic reconnection. */
|
|
373
|
+
export interface ConnectionRecoveryConfig {
|
|
374
|
+
/** First-retry delay cap in ms; actual delay is 50–100% of the cap. Default: 500. */
|
|
375
|
+
backoffBaseMs?: number
|
|
376
|
+
/** Finite growth factor of at least 1 per failed attempt; 1 keeps a fixed cap. Default: 2. */
|
|
377
|
+
backoffFactor?: number
|
|
378
|
+
/** Maximum retry delay cap in ms; retries continue at this cap. Default: 10000. */
|
|
379
|
+
backoffMaxMs?: number
|
|
380
|
+
/**
|
|
381
|
+
* Delay before reporting a slow handshake, without cancelling it. Default: 3000.
|
|
382
|
+
* Omitted when readiness, failure, cancellation, or the hard deadline occurs first.
|
|
383
|
+
*/
|
|
384
|
+
generationReadyWarnMs?: number
|
|
385
|
+
/** Deadline in ms for readiness, including physical connection setup. Default: 15000. */
|
|
386
|
+
generationReadyTimeoutMs?: number
|
|
387
|
+
}
|
|
341
388
|
```
|
|
342
389
|
|
|
343
|
-
来源:[`packages/client/connection/src/index.ts:
|
|
390
|
+
来源: [`packages/client/connection/src/index.ts:72`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/connection/src/index.ts)
|
|
344
391
|
|
|
345
392
|
<a id="deepseek-aidsh-client-hmr"></a>
|
|
346
393
|
|
|
@@ -537,7 +584,7 @@ export interface Config {
|
|
|
537
584
|
}
|
|
538
585
|
```
|
|
539
586
|
|
|
540
|
-
来源:[`packages/experimental/agent-team/src/types.ts:
|
|
587
|
+
来源:[`packages/experimental/agent-team/src/types.ts:130`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/experimental/agent-team/src/types.ts)
|
|
541
588
|
|
|
542
589
|
<a id="deepseek-aidsh-experimental-code-runtime-python"></a>
|
|
543
590
|
|
|
@@ -729,7 +776,7 @@ export interface Config {
|
|
|
729
776
|
}
|
|
730
777
|
```
|
|
731
778
|
|
|
732
|
-
来源:[`packages/fs/fs-local/src/index.ts:
|
|
779
|
+
来源:[`packages/fs/fs-local/src/index.ts:42`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/fs-local/src/index.ts)
|
|
733
780
|
|
|
734
781
|
<a id="deepseek-aidsh-fs-sandbox"></a>
|
|
735
782
|
|
|
@@ -781,7 +828,7 @@ export interface Config {
|
|
|
781
828
|
}
|
|
782
829
|
```
|
|
783
830
|
|
|
784
|
-
来源:[`packages/bundle/headless/src/index.ts:
|
|
831
|
+
来源:[`packages/bundle/headless/src/index.ts:34`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/headless/src/index.ts)
|
|
785
832
|
|
|
786
833
|
<a id="deepseek-aidsh-hooks-claude-code"></a>
|
|
787
834
|
|
|
@@ -819,7 +866,7 @@ export interface Config {
|
|
|
819
866
|
}
|
|
820
867
|
```
|
|
821
868
|
|
|
822
|
-
来源:[`packages/hooks/hooks-claude-code/src/index.ts:
|
|
869
|
+
来源:[`packages/hooks/hooks-claude-code/src/index.ts:44`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-claude-code/src/index.ts)
|
|
823
870
|
|
|
824
871
|
<a id="deepseek-aidsh-hooks-codex"></a>
|
|
825
872
|
|
|
@@ -846,7 +893,7 @@ export interface Config {
|
|
|
846
893
|
}
|
|
847
894
|
```
|
|
848
895
|
|
|
849
|
-
来源:[`packages/hooks/hooks-codex/src/index.ts:
|
|
896
|
+
来源:[`packages/hooks/hooks-codex/src/index.ts:43`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/hooks/hooks-codex/src/index.ts)
|
|
850
897
|
|
|
851
898
|
<a id="deepseek-aidsh-host-directory-picker-browse"></a>
|
|
852
899
|
|
|
@@ -878,6 +925,37 @@ export interface Config {
|
|
|
878
925
|
|
|
879
926
|
来源:[`packages/host/frontend-static/src/index.ts:30`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/frontend-static/src/index.ts)
|
|
880
927
|
|
|
928
|
+
<a id="deepseek-aidsh-host-open-in-app"></a>
|
|
929
|
+
|
|
930
|
+
## `@deepseek-ai/dsh-host-open-in-app`
|
|
931
|
+
|
|
932
|
+
需要:`webServer` · `connection` · `subprocess`
|
|
933
|
+
|
|
934
|
+
```ts config-catalog
|
|
935
|
+
/** Open-in-app host configuration. */
|
|
936
|
+
export interface Config {
|
|
937
|
+
/**
|
|
938
|
+
* Per-command deadline in milliseconds for catalog-resolution host
|
|
939
|
+
* commands (`xcode-select`, the Windows registry reads).
|
|
940
|
+
*/
|
|
941
|
+
readonly probeTimeoutMs: number
|
|
942
|
+
/**
|
|
943
|
+
* Per-command deadline in milliseconds for icon-extraction host commands
|
|
944
|
+
* (`plutil`/`sips` on macOS, the PowerShell extraction on Windows).
|
|
945
|
+
*/
|
|
946
|
+
readonly iconTimeoutMs: number
|
|
947
|
+
/**
|
|
948
|
+
* Early-failure watch window per launch, in milliseconds: a launcher still
|
|
949
|
+
* running when the window closes counts as launched and keeps running, so
|
|
950
|
+
* this bounds how long the open route holds a successful launch, not how
|
|
951
|
+
* long an application may live.
|
|
952
|
+
*/
|
|
953
|
+
readonly launchWatchMs: number
|
|
954
|
+
}
|
|
955
|
+
```
|
|
956
|
+
|
|
957
|
+
来源:[`packages/host/open-in-app/src/index.ts:50`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/host/open-in-app/src/index.ts)
|
|
958
|
+
|
|
881
959
|
<a id="deepseek-aidsh-host-webserver"></a>
|
|
882
960
|
|
|
883
961
|
## `@deepseek-ai/dsh-host-webserver`
|
|
@@ -963,7 +1041,7 @@ export interface Config {
|
|
|
963
1041
|
maxTokens?: number
|
|
964
1042
|
/** Positive context capacity used when the selected model has no exact value (default 1,000,000). */
|
|
965
1043
|
defaultContextWindow?: number
|
|
966
|
-
/** Advisory models shown by discovery consumers; defaults to V4 Flash, V4 Pro, and V4 Flash Vision Exp. */
|
|
1044
|
+
/** Advisory models shown by discovery consumers; defaults to V41 Flash, V4 Flash, V4 Pro, and V4 Flash Vision Exp. */
|
|
967
1045
|
models?: DeepSeekCatalogModel[]
|
|
968
1046
|
/** Maximum provider idle time while one stream read is outstanding (default five minutes). */
|
|
969
1047
|
streamIdleTimeoutMs?: number
|
|
@@ -1009,12 +1087,18 @@ export interface DeepSeekCatalogModel {
|
|
|
1009
1087
|
imagePixelBudget?: number | 'low'
|
|
1010
1088
|
/** Encoded-byte target for one deterministic request preview; the smallest quality-ladder output is used when no quality fits. */
|
|
1011
1089
|
imageMaxBytes?: number
|
|
1090
|
+
/**
|
|
1091
|
+
* `'in-history'` declares that the endpoint reads the latest `system`
|
|
1092
|
+
* message at any position of the conversation as the complete effective
|
|
1093
|
+
* system prompt; omission means only a leading system message is read.
|
|
1094
|
+
*/
|
|
1095
|
+
systemPromptUpdate?: SystemPromptUpdate
|
|
1012
1096
|
}
|
|
1013
1097
|
```
|
|
1014
1098
|
|
|
1015
|
-
依赖:[`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1099
|
+
依赖:[`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`SystemPromptUpdate`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1016
1100
|
|
|
1017
|
-
来源:[`packages/llm/llm-deepseek/src/index.ts:
|
|
1101
|
+
来源:[`packages/llm/llm-deepseek/src/index.ts:134`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-deepseek/src/index.ts)
|
|
1018
1102
|
|
|
1019
1103
|
<a id="deepseek-aidsh-llm-pi-ai"></a>
|
|
1020
1104
|
|
|
@@ -1233,8 +1317,14 @@ export interface PiAiCompatProfile {
|
|
|
1233
1317
|
chatTemplateKwargs?: NonNullable<OpenAICompletionsCompat['chatTemplateKwargs']>
|
|
1234
1318
|
/** Arguments sent as `chat_template_args` under the `baseten` thinking format; `openai-completions`. */
|
|
1235
1319
|
chatTemplateArgs?: NonNullable<OpenAICompletionsCompat['chatTemplateArgs']>
|
|
1236
|
-
/**
|
|
1320
|
+
/** Alias for `thinkingTokenBudgetField: "thinking_token_budget"`; an explicit field wins. `openai-completions`. */
|
|
1237
1321
|
supportsThinkingTokenBudget?: boolean
|
|
1322
|
+
/** Request field carrying the reasoning budget from `thinkingBudgets`; omitted unless configured. `openai-completions`. */
|
|
1323
|
+
thinkingTokenBudgetField?: PiAiThinkingTokenBudgetField
|
|
1324
|
+
/** vLLM scheduler `priority`; lower runs earlier, and the server must enable priority scheduling. Omitted unless configured. */
|
|
1325
|
+
vllmPriority?: number
|
|
1326
|
+
/** Whether `openai-responses` accepts `max_output_tokens`; `false` omits it. Azure and Codex ignore this shared compat field. */
|
|
1327
|
+
supportsMaxOutputTokens?: boolean
|
|
1238
1328
|
/**
|
|
1239
1329
|
* Whether the endpoint accepts `strict` in tool definitions;
|
|
1240
1330
|
* `openai-completions`, the three Responses protocols, `bedrock-converse-stream`.
|
|
@@ -1276,11 +1366,14 @@ export type PiAiReasoningEfforts = Partial<Record<ModelThinkingLevel, string | n
|
|
|
1276
1366
|
|
|
1277
1367
|
/** One reasoning-dispatch wire format a profile may name. */
|
|
1278
1368
|
export type PiAiThinkingFormat = NonNullable<OpenAICompletionsCompat['thinkingFormat']>
|
|
1369
|
+
|
|
1370
|
+
/** The reasoning-budget field spellings pi-ai accepts. */
|
|
1371
|
+
export type PiAiThinkingTokenBudgetField = NonNullable<OpenAICompletionsCompat['thinkingTokenBudgetField']>
|
|
1279
1372
|
```
|
|
1280
1373
|
|
|
1281
1374
|
依赖:`Api`(`@earendil-works/pi-ai`)· `CacheRetention`(`@earendil-works/pi-ai`)· `Model`(`@earendil-works/pi-ai`)· `ModelThinkingLevel`(`@earendil-works/pi-ai`)· `OpenAICompletionsCompat`(`@earendil-works/pi-ai`)· [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · `ThinkingBudgets`(`@earendil-works/pi-ai`)· `Transport`(`@earendil-works/pi-ai`)
|
|
1282
1375
|
|
|
1283
|
-
来源:[`packages/llm/llm-pi-ai/src/config.ts:
|
|
1376
|
+
来源:[`packages/llm/llm-pi-ai/src/config.ts:221`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm-pi-ai/src/config.ts)
|
|
1284
1377
|
|
|
1285
1378
|
<a id="deepseek-aidsh-llm-replay"></a>
|
|
1286
1379
|
|
|
@@ -1352,12 +1445,14 @@ export interface ReplayModelConfig {
|
|
|
1352
1445
|
* {@link reasoningEfforts} or call resolution rejects the route.
|
|
1353
1446
|
*/
|
|
1354
1447
|
defaultReasoningEffort?: string
|
|
1448
|
+
/** Optional in-history system prompt replacement for a keyless replay route. */
|
|
1449
|
+
systemPromptUpdate?: SystemPromptUpdate
|
|
1355
1450
|
}
|
|
1356
1451
|
```
|
|
1357
1452
|
|
|
1358
|
-
依赖:[`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1453
|
+
依赖:[`ModelModality`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`RetryPolicyConfig`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts) · [`SystemPromptUpdate`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/llm/llm/src/index.ts)
|
|
1359
1454
|
|
|
1360
|
-
来源:[`packages/test-support/llm-replay/src/index.ts:
|
|
1455
|
+
来源:[`packages/test-support/llm-replay/src/index.ts:1123`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/llm-replay/src/index.ts)
|
|
1361
1456
|
|
|
1362
1457
|
<a id="deepseek-aidsh-llm-retry"></a>
|
|
1363
1458
|
|
|
@@ -1491,7 +1586,7 @@ export interface ReconnectConfig {
|
|
|
1491
1586
|
|
|
1492
1587
|
## `@deepseek-ai/dsh-message-feedback`
|
|
1493
1588
|
|
|
1494
|
-
需要:`
|
|
1589
|
+
需要:`sessionPersistence` · `sessions`
|
|
1495
1590
|
|
|
1496
1591
|
```ts config-catalog
|
|
1497
1592
|
/** Required deployment policy for optional notes. */
|
|
@@ -1501,7 +1596,7 @@ export interface Config {
|
|
|
1501
1596
|
}
|
|
1502
1597
|
```
|
|
1503
1598
|
|
|
1504
|
-
来源:[`packages/feedback/message-feedback/src/index.ts:
|
|
1599
|
+
来源:[`packages/feedback/message-feedback/src/index.ts:40`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/feedback/message-feedback/src/index.ts)
|
|
1505
1600
|
|
|
1506
1601
|
<a id="deepseek-aidsh-permission-presets"></a>
|
|
1507
1602
|
|
|
@@ -1552,12 +1647,17 @@ export interface PresetSpec {
|
|
|
1552
1647
|
/** Plugin config: the persona text this composition contributes. */
|
|
1553
1648
|
export interface Config {
|
|
1554
1649
|
/**
|
|
1555
|
-
* Persona prose rendered as the `deployment:persona` section. A template:
|
|
1650
|
+
* Persona prose rendered as the `deployment:persona-prefix` section. A template:
|
|
1556
1651
|
* complete `{{…}}` groups interpolate strictly against registered prompt
|
|
1557
1652
|
* variables. Empty text drops the section at render, matching the registry.
|
|
1558
1653
|
*/
|
|
1559
|
-
|
|
1560
|
-
/**
|
|
1654
|
+
prefix: string
|
|
1655
|
+
/**
|
|
1656
|
+
* Persona suffix template rendered after first-party guidance. Omitted or empty
|
|
1657
|
+
* text shadows the deployment suffix away; interpolation is strict.
|
|
1658
|
+
*/
|
|
1659
|
+
suffix?: string
|
|
1660
|
+
/** Make the prefix the complete system prompt, suppressing the suffix and every other section. */
|
|
1561
1661
|
complete?: boolean
|
|
1562
1662
|
/** Suppress dynamic runtime-context snapshots for this persona's agent scope. */
|
|
1563
1663
|
includeRuntimeContext?: boolean
|
|
@@ -1802,7 +1902,7 @@ export interface Config {
|
|
|
1802
1902
|
}
|
|
1803
1903
|
```
|
|
1804
1904
|
|
|
1805
|
-
来源:[`packages/session/session-log-deepseek/src/index.ts:
|
|
1905
|
+
来源:[`packages/session/session-log-deepseek/src/index.ts:38`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-log-deepseek/src/index.ts)
|
|
1806
1906
|
|
|
1807
1907
|
<a id="deepseek-aidsh-session-log-export"></a>
|
|
1808
1908
|
|
|
@@ -1846,7 +1946,7 @@ export interface Config {
|
|
|
1846
1946
|
export type JsonlCompression = 'zstd' | 'none'
|
|
1847
1947
|
```
|
|
1848
1948
|
|
|
1849
|
-
来源:[`packages/session/session-persistence-jsonl/src/index.ts:
|
|
1949
|
+
来源:[`packages/session/session-persistence-jsonl/src/index.ts:88`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-persistence-jsonl/src/index.ts)
|
|
1850
1950
|
|
|
1851
1951
|
<a id="deepseek-aidsh-session-projection-cache"></a>
|
|
1852
1952
|
|
|
@@ -1933,8 +2033,10 @@ export interface Config {
|
|
|
1933
2033
|
maxReferences?: number
|
|
1934
2034
|
/** Default host candidate-list limit. */
|
|
1935
2035
|
candidateLimit?: number
|
|
1936
|
-
/**
|
|
2036
|
+
/** Explicit maximum rendered UTF-8 bytes per source; absent uses the model-relative budget with a 64 KiB floor. */
|
|
1937
2037
|
maxReferenceBytes?: number
|
|
2038
|
+
/** Fraction of the model context window per source, estimated at four bytes per token; between zero and one. */
|
|
2039
|
+
referenceContextFraction?: number
|
|
1938
2040
|
}
|
|
1939
2041
|
```
|
|
1940
2042
|
|
|
@@ -1953,7 +2055,7 @@ export interface Config {
|
|
|
1953
2055
|
* and shutdown deadline at plugin load; `DISABLED` reads neither.
|
|
1954
2056
|
*/
|
|
1955
2057
|
export interface Config {
|
|
1956
|
-
/**
|
|
2058
|
+
/** Defaults to `FEEDBACK_ONLY`: capture session history only when feedback is explicitly submitted. */
|
|
1957
2059
|
mode?: SessionTelemetryMode
|
|
1958
2060
|
/**
|
|
1959
2061
|
* Passed verbatim to the SDK's OTLP/HTTP log exporter — the complete
|
|
@@ -1976,7 +2078,6 @@ export interface Config {
|
|
|
1976
2078
|
|
|
1977
2079
|
/** Session-sharing policy selected by {@link Config.mode}. */
|
|
1978
2080
|
export enum SessionTelemetryMode {
|
|
1979
|
-
FULL = 'FULL',
|
|
1980
2081
|
FEEDBACK_ONLY = 'FEEDBACK_ONLY',
|
|
1981
2082
|
DISABLED = 'DISABLED',
|
|
1982
2083
|
}
|
|
@@ -1984,7 +2085,7 @@ export enum SessionTelemetryMode {
|
|
|
1984
2085
|
|
|
1985
2086
|
依赖:`BatchLogRecordProcessorOptions`(`@opentelemetry/sdk-logs`)· `OTLPExporterNodeConfigBase`(`@opentelemetry/otlp-exporter-base`)
|
|
1986
2087
|
|
|
1987
|
-
来源:[`packages/session/session-telemetry-otel/src/index.ts:
|
|
2088
|
+
来源:[`packages/session/session-telemetry-otel/src/index.ts:100`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry-otel/src/index.ts)
|
|
1988
2089
|
|
|
1989
2090
|
<a id="deepseek-aidsh-session-title"></a>
|
|
1990
2091
|
|
|
@@ -2169,7 +2270,7 @@ export interface Config {
|
|
|
2169
2270
|
}
|
|
2170
2271
|
```
|
|
2171
2272
|
|
|
2172
|
-
来源:[`packages/spill/spill-policy/src/index.ts:
|
|
2273
|
+
来源:[`packages/spill/spill-policy/src/index.ts:61`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/spill/spill-policy/src/index.ts)
|
|
2173
2274
|
|
|
2174
2275
|
<a id="deepseek-aidsh-storage-domain"></a>
|
|
2175
2276
|
|
|
@@ -2333,7 +2434,7 @@ export interface Config {
|
|
|
2333
2434
|
* `bypassPermissions` explicitly skips permission checks.
|
|
2334
2435
|
*/
|
|
2335
2436
|
permissionMode?: ClaudeCodePermissionMode
|
|
2336
|
-
/** Grace in milliseconds
|
|
2437
|
+
/** Grace in milliseconds between Claude Code managed-range termination tiers. */
|
|
2337
2438
|
disposeGraceMs?: number
|
|
2338
2439
|
}
|
|
2339
2440
|
|
|
@@ -2363,7 +2464,7 @@ export interface Config {
|
|
|
2363
2464
|
env?: Record<string, string>
|
|
2364
2465
|
/** Native non-interactive permission mode fixed for this Provider instance. */
|
|
2365
2466
|
permissionMode?: CodexPermissionMode
|
|
2366
|
-
/** Grace in milliseconds
|
|
2467
|
+
/** Grace in milliseconds between app-server managed-range termination tiers. */
|
|
2367
2468
|
disposeGraceMs?: number
|
|
2368
2469
|
}
|
|
2369
2470
|
|
|
@@ -2478,24 +2579,29 @@ export interface Config {
|
|
|
2478
2579
|
}
|
|
2479
2580
|
```
|
|
2480
2581
|
|
|
2481
|
-
来源:[`packages/e2b/subprocess-e2b/src/index.ts:
|
|
2582
|
+
来源:[`packages/e2b/subprocess-e2b/src/index.ts:26`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/e2b/subprocess-e2b/src/index.ts)
|
|
2482
2583
|
|
|
2483
2584
|
<a id="deepseek-aidsh-system-prompt"></a>
|
|
2484
2585
|
|
|
2485
2586
|
## `@deepseek-ai/dsh-system-prompt`
|
|
2486
2587
|
|
|
2487
2588
|
```ts config-catalog
|
|
2488
|
-
/** Plugin config: the deployment-authored fragment of the system prompt (see {@link Config.
|
|
2589
|
+
/** Plugin config: the deployment-authored fragment of the system prompt (see {@link Config.personaPrefix} for its contract). */
|
|
2489
2590
|
export interface Config {
|
|
2490
2591
|
/** Include the fixed DeepSeek Harness identity before the deployment persona (default true). */
|
|
2491
2592
|
includeHarnessIdentity?: boolean
|
|
2492
2593
|
/** Include dynamic runtime-context snapshots in model history (default true). */
|
|
2493
2594
|
includeRuntimeContext?: boolean
|
|
2494
2595
|
/**
|
|
2495
|
-
* Deployment-wide
|
|
2496
|
-
* `deployment:persona` shadows it; `{{variable}}` references are strict.
|
|
2596
|
+
* Deployment-wide persona prefix template before first-party guidance. A scoped section named
|
|
2597
|
+
* `deployment:persona-prefix` shadows it; `{{variable}}` references are strict.
|
|
2497
2598
|
*/
|
|
2498
|
-
|
|
2599
|
+
personaPrefix?: string
|
|
2600
|
+
/**
|
|
2601
|
+
* Persona suffix template after first-party guidance. A scoped `deployment:persona-suffix`
|
|
2602
|
+
* section shadows it; `{{variable}}` references are strict. Defaults to empty.
|
|
2603
|
+
*/
|
|
2604
|
+
personaSuffix?: string
|
|
2499
2605
|
/**
|
|
2500
2606
|
* Model-facing tool names in order, with {@link TOOL_ORDER_REST} exactly once.
|
|
2501
2607
|
* Invalid fields fail at load and unknown names fail at assembly; known names
|
|
@@ -2505,7 +2611,7 @@ export interface Config {
|
|
|
2505
2611
|
}
|
|
2506
2612
|
```
|
|
2507
2613
|
|
|
2508
|
-
来源:[`packages/core/system-prompt/src/index.ts:
|
|
2614
|
+
来源:[`packages/core/system-prompt/src/index.ts:242`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/system-prompt/src/index.ts)
|
|
2509
2615
|
|
|
2510
2616
|
<a id="deepseek-aidsh-terminal-bash"></a>
|
|
2511
2617
|
|
|
@@ -2640,7 +2746,7 @@ export interface Config {
|
|
|
2640
2746
|
}
|
|
2641
2747
|
```
|
|
2642
2748
|
|
|
2643
|
-
来源:[`packages/shell/tool-bash-persistent/src/index.ts:
|
|
2749
|
+
来源:[`packages/shell/tool-bash-persistent/src/index.ts:435`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/shell/tool-bash-persistent/src/index.ts)
|
|
2644
2750
|
|
|
2645
2751
|
<a id="deepseek-aidsh-tool-fs"></a>
|
|
2646
2752
|
|
|
@@ -2769,6 +2875,22 @@ export interface Config {
|
|
|
2769
2875
|
|
|
2770
2876
|
来源:[`packages/lsp/tool-lsp/src/index.ts:57`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/lsp/tool-lsp/src/index.ts)
|
|
2771
2877
|
|
|
2878
|
+
<a id="deepseek-aidsh-tool-present"></a>
|
|
2879
|
+
|
|
2880
|
+
## `@deepseek-ai/dsh-tool-present`
|
|
2881
|
+
|
|
2882
|
+
依赖: `tools` · `fs` · `sessionProjections`
|
|
2883
|
+
|
|
2884
|
+
```ts config-catalog
|
|
2885
|
+
/** Per-call delivery limit. */
|
|
2886
|
+
export interface Config {
|
|
2887
|
+
/** Maximum number of files in one call. */
|
|
2888
|
+
maxFiles: number
|
|
2889
|
+
}
|
|
2890
|
+
```
|
|
2891
|
+
|
|
2892
|
+
来源: [`packages/fs/tool-present/src/index.ts:15`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/fs/tool-present/src/index.ts)
|
|
2893
|
+
|
|
2772
2894
|
<a id="deepseek-aidsh-tool-pwsh"></a>
|
|
2773
2895
|
|
|
2774
2896
|
## `@deepseek-ai/dsh-tool-pwsh`
|
|
@@ -2898,8 +3020,8 @@ export interface Config {
|
|
|
2898
3020
|
*/
|
|
2899
3021
|
toolName?: string
|
|
2900
3022
|
/**
|
|
2901
|
-
* Sample the Host `subagent-model-selection`
|
|
2902
|
-
*
|
|
3023
|
+
* Sample the Host `subagent-model-selection` setting for each new top-level
|
|
3024
|
+
* Session and inherit that decision in its child Sessions.
|
|
2903
3025
|
*/
|
|
2904
3026
|
modelSelectionSettings?: boolean
|
|
2905
3027
|
/**
|
|
@@ -2919,7 +3041,7 @@ export interface Config {
|
|
|
2919
3041
|
*/
|
|
2920
3042
|
agentOptions?: AgentOptions
|
|
2921
3043
|
/**
|
|
2922
|
-
* Per-child persona that shadows `deployment:persona`. Requires the
|
|
3044
|
+
* Per-child persona that shadows `deployment:persona-prefix`. Requires the
|
|
2923
3045
|
* provider's `persona` capability; omission preserves the deployment persona.
|
|
2924
3046
|
*/
|
|
2925
3047
|
persona?: string
|
|
@@ -3331,7 +3453,8 @@ export interface Config {
|
|
|
3331
3453
|
- `@deepseek-ai/dsh-authorization` — 需要 `credentials`([`packages/credentials/authorization/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/credentials/authorization/src/index.ts))
|
|
3332
3454
|
- `@deepseek-ai/dsh-client-file-upload` — 需要 `agents` · `attachments` · `commands` · `connection`([`packages/client/file-upload/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/file-upload/src/index.ts))
|
|
3333
3455
|
- `@deepseek-ai/dsh-client-locale`([`packages/client/locale/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/locale/src/index.ts))
|
|
3334
|
-
- `@deepseek-ai/dsh-client-modules` — 需要 `
|
|
3456
|
+
- `@deepseek-ai/dsh-client-modules` — 需要 `loader`([`packages/client/modules/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/modules/src/index.ts))
|
|
3457
|
+
- `@deepseek-ai/dsh-client-resources`([`packages/client/resources/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/resources/src/index.ts))
|
|
3335
3458
|
- `@deepseek-ai/dsh-client-ui-agent-preset`([`packages/client/ui-agent-preset/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-agent-preset/src/index.ts))
|
|
3336
3459
|
- `@deepseek-ai/dsh-client-ui-approval`([`packages/client/ui-approval/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-approval/src/index.ts))
|
|
3337
3460
|
- `@deepseek-ai/dsh-client-ui-attachment`([`packages/client/ui-attachment/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-attachment/src/index.ts))
|
|
@@ -3340,7 +3463,7 @@ export interface Config {
|
|
|
3340
3463
|
- `@deepseek-ai/dsh-client-ui-commands`([`packages/client/ui-commands/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-commands/src/index.ts))
|
|
3341
3464
|
- `@deepseek-ai/dsh-client-ui-conversation`([`packages/client/ui-conversation/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-conversation/src/index.ts))
|
|
3342
3465
|
- `@deepseek-ai/dsh-client-ui-cordis`([`packages/extensions/ui-cordis/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/extensions/ui-cordis/src/index.ts))
|
|
3343
|
-
- `@deepseek-ai/dsh-client-ui-deliverables` — 需要 `systemPrompt`([`packages/client/ui-deliverables/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-deliverables/src/index.ts))
|
|
3466
|
+
- `@deepseek-ai/dsh-client-ui-deliverables` — 需要 `systemPrompt` · `connection` · `sessionQuery` · `sessionController` · `workspaceFiles` · `fs` · `sandboxPolicy`([`packages/client/ui-deliverables/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-deliverables/src/index.ts))
|
|
3344
3467
|
- `@deepseek-ai/dsh-client-ui-directory-picker-browse`([`packages/client/ui-directory-picker-browse/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-browse/src/index.ts))
|
|
3345
3468
|
- `@deepseek-ai/dsh-client-ui-directory-picker-native`([`packages/client/ui-directory-picker-native/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-directory-picker-native/src/index.ts))
|
|
3346
3469
|
- `@deepseek-ai/dsh-client-ui-goal`([`packages/client/ui-goal/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-goal/src/index.ts))
|
|
@@ -3349,6 +3472,7 @@ export interface Config {
|
|
|
3349
3472
|
- `@deepseek-ai/dsh-client-ui-layout`([`packages/client/ui-layout/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-layout/src/index.ts))
|
|
3350
3473
|
- `@deepseek-ai/dsh-client-ui-message-feedback`([`packages/client/ui-message-feedback/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-message-feedback/src/index.ts))
|
|
3351
3474
|
- `@deepseek-ai/dsh-client-ui-model-selection`([`packages/client/ui-model-selection/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-model-selection/src/index.ts))
|
|
3475
|
+
- `@deepseek-ai/dsh-client-ui-open-in-app`([`packages/client/ui-open-in-app/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-open-in-app/src/index.ts))
|
|
3352
3476
|
- `@deepseek-ai/dsh-client-ui-permission-presets`([`packages/client/ui-permission-presets/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-permission-presets/src/index.ts))
|
|
3353
3477
|
- `@deepseek-ai/dsh-client-ui-plan`([`packages/client/ui-plan/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-plan/src/index.ts))
|
|
3354
3478
|
- `@deepseek-ai/dsh-client-ui-reference`([`packages/client/ui-reference/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-reference/src/index.ts))
|
|
@@ -3361,6 +3485,9 @@ export interface Config {
|
|
|
3361
3485
|
- `@deepseek-ai/dsh-client-ui-settings-plugin-inventory`([`packages/client/ui-settings-plugin-inventory/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugin-inventory/src/index.ts))
|
|
3362
3486
|
- `@deepseek-ai/dsh-client-ui-settings-plugins`([`packages/client/ui-settings-plugins/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-settings-plugins/src/index.ts))
|
|
3363
3487
|
- `@deepseek-ai/dsh-client-ui-sidebar`([`packages/client/ui-sidebar/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar/src/index.ts))
|
|
3488
|
+
- `@deepseek-ai/dsh-client-ui-sidebar-documentpreview`([`packages/client/ui-sidebar-documentpreview/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-documentpreview/src/index.ts))
|
|
3489
|
+
- `@deepseek-ai/dsh-client-ui-sidebar-files`([`packages/client/ui-sidebar-files/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-files/src/index.ts))
|
|
3490
|
+
- `@deepseek-ai/dsh-client-ui-sidebar-right`([`packages/client/ui-sidebar-right/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-sidebar-right/src/index.ts))
|
|
3364
3491
|
- `@deepseek-ai/dsh-client-ui-skill`([`packages/client/ui-skill/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-skill/src/index.ts))
|
|
3365
3492
|
- `@deepseek-ai/dsh-client-ui-subagent`([`packages/client/ui-subagent/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-subagent/src/index.ts))
|
|
3366
3493
|
- `@deepseek-ai/dsh-client-ui-theme`([`packages/client/ui-theme/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-theme/src/index.ts))
|
|
@@ -3433,8 +3560,10 @@ export interface Config {
|
|
|
3433
3560
|
- `@deepseek-ai/dsh-atomic-write`([`packages/util/atomic-write/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/atomic-write/src/index.ts))
|
|
3434
3561
|
- `@deepseek-ai/dsh-base`([`packages/bundle/base/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/bundle/base/src/index.ts))
|
|
3435
3562
|
- `@deepseek-ai/dsh-brand`([`packages/util/brand/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/brand/src/index.ts))
|
|
3563
|
+
- `@deepseek-ai/dsh-chunked-list`([`packages/util/chunked-list/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/chunked-list/src/index.ts))
|
|
3436
3564
|
- `@deepseek-ai/dsh-client-store`([`packages/client/store/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/store/src/index.ts))
|
|
3437
3565
|
- `@deepseek-ai/dsh-client-test-runtime`([`packages/test-support/client-runtime/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/client-runtime/src/index.ts))
|
|
3566
|
+
- `@deepseek-ai/dsh-client-ui-dockkit`([`packages/client/ui-dockkit/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-dockkit/src/index.ts))
|
|
3438
3567
|
- `@deepseek-ai/dsh-client-ui-primitives`([`packages/client/ui-primitives/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-primitives/src/index.ts))
|
|
3439
3568
|
- `@deepseek-ai/dsh-client-ui-slots`([`packages/client/ui-slots/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/ui-slots/src/index.ts))
|
|
3440
3569
|
- `@deepseek-ai/dsh-client-web`([`packages/client/web/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/client/web/src/index.ts))
|
|
@@ -3452,6 +3581,7 @@ export interface Config {
|
|
|
3452
3581
|
- `@deepseek-ai/dsh-loader-smoke`([`packages/test-support/loader-smoke/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/loader-smoke/src/index.ts))
|
|
3453
3582
|
- `@deepseek-ai/dsh-native-command`([`packages/util/native-command/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/native-command/src/index.ts))
|
|
3454
3583
|
- `@deepseek-ai/dsh-output-retention`([`packages/util/output-retention/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/output-retention/src/index.ts))
|
|
3584
|
+
- `@deepseek-ai/dsh-package-manifest` ([`packages/util/package-manifest/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/util/package-manifest/src/index.ts))
|
|
3455
3585
|
- `@deepseek-ai/dsh-sandbox-windows-acl`([`packages/sandbox/sandbox-windows-acl/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sandbox/sandbox-windows-acl/src/index.ts))
|
|
3456
3586
|
- `@deepseek-ai/dsh-scope`([`packages/core/scope/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/core/scope/src/index.ts))
|
|
3457
3587
|
- `@deepseek-ai/dsh-sdk-client`([`packages/sdk/client/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/sdk/client/src/index.ts))
|
|
@@ -3461,6 +3591,7 @@ export interface Config {
|
|
|
3461
3591
|
- `@deepseek-ai/dsh-session-format-catalog`([`packages/session/session-format-catalog/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-catalog/src/index.ts))
|
|
3462
3592
|
- `@deepseek-ai/dsh-session-format-v0-to-v1`([`packages/session/session-format-v0-to-v1/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v0-to-v1/src/index.ts))
|
|
3463
3593
|
- `@deepseek-ai/dsh-session-format-v1-to-v2`([`packages/session/session-format-v1-to-v2/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v1-to-v2/src/index.ts))
|
|
3594
|
+
- `@deepseek-ai/dsh-session-format-v2-to-v3`([`packages/session/session-format-v2-to-v3/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-format-v2-to-v3/src/index.ts))
|
|
3464
3595
|
- `@deepseek-ai/dsh-session-snapshot`([`packages/test-support/session-snapshot/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/test-support/session-snapshot/src/index.ts))
|
|
3465
3596
|
- `@deepseek-ai/dsh-session-telemetry`([`packages/session/session-telemetry/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-telemetry/src/index.ts))
|
|
3466
3597
|
- `@deepseek-ai/dsh-session-title-llm`([`packages/session/session-title-llm/src/index.ts`](https://github.com/deepseek-ai/deepseek-harness/blob/master/packages/session/session-title-llm/src/index.ts))
|
|
@@ -41,7 +41,7 @@ export function apply(ctx: Context) {
|
|
|
41
41
|
|
|
42
42
|
## execute() 约定的规则
|
|
43
43
|
|
|
44
|
-
- **参数已为你校验。** `defineTool` 在 `execute` 运行前,会根据统一的 `ParameterSchemaSpec` 校验模型生成的 `arguments
|
|
44
|
+
- **参数已为你校验。** `defineTool` 在 `execute` 运行前,会根据统一的 `ParameterSchemaSpec` 校验模型生成的 `arguments`(类型、必填键、字面量约束、恰好匹配一个分支的联合以及嵌套值),因此 `execute` 内的 args 会匹配 `InferArgs`。显式对象节点必须声明 `additionalProperties: true | false`;隐式参数根对象保持开放。你仍需手动检查 schema DSL 无法表达的约束,例如非空字符串、正数或跨字段规则。直接注册的原始 JSON Schema 工具自行负责输入校验。
|
|
45
45
|
- **注册借用你的只读定义。** 类型化的同进程贡献不是序列化边界;注册后不要修改其 schema 或替换回调。`schemas()` 只物化显式的模型可见投影。如需热替换工具,请 dispose 其所属副作用并注册替代品;回调闭包内的可变状态仍是普通的插件状态。
|
|
46
46
|
- **执行身份受保护。** 注册表在一次递归遍历中将 `arguments` 物化为分离的无损 JSON,在策略开始前冻结该值,并分配一个不透明的 `exec.token`;`callId`、`name`、`arguments`、`agent`、`token`、必填且由调用方持有的 `signal`,以及可选的外层传输 `parent` token 在整个分发过程中保持不可变。`parent` 仅用于身份标识,不暴露活跃的外层执行。请将 `args` 视为只读输入。只有 around-dispatch 包装器会收到可变视图;它可以替换并恢复必填的 `exec.signal` 以施加截止时间,但不能移除该信号。
|
|
47
47
|
- **声明并返回一个规范 JSON 值。** `output.schema` 使用 `ValueSchemaSpec`,根可以是对象、数组、标量或 null。`execute` 只返回推导出的值;注册表将其快照为无损 JSON,完成校验和冻结后,再传给 `output.render(args, value)`。工具主体不要返回内容块,也不要迫使调用方从自然语言中解析 id 和字段。
|
|
@@ -4,7 +4,7 @@ editSource: "docs/cookbook/extension-cookbook.zh.md"
|
|
|
4
4
|
|
|
5
5
|
# 实操手册:扩展插件形态
|
|
6
6
|
|
|
7
|
-
harness 扩展的参考模式。代码片段省略了 import 和辅助实现,无法直接复制运行。具体编写路径见[包检查清单](./adding-a-package.md)、[第一个工具教程](../../develop/basic/tool.md)、[工具参考](./adding-a-tool.md)
|
|
7
|
+
harness 扩展的参考模式。代码片段省略了 import 和辅助实现,无法直接复制运行。具体编写路径见[包检查清单](./adding-a-package.md)、[第一个工具教程](../../develop/basic/tool.md)、[工具参考](./adding-a-tool.md)、[LLM(大语言模型)适配器指南](./adding-an-llm-adapter.md)和 [Session 格式版本教程](https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/cookbook/adding-a-session-format-version.zh.md);系统与扩展点映射由[架构文档](../index.md)负责。
|
|
8
8
|
|
|
9
9
|
## 工具插件
|
|
10
10
|
|