dsh-plugin-guide 0.3.1 → 0.3.2
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/README.es.md +1 -1
- package/README.hi.md +1 -1
- package/README.md +1 -1
- package/README.pt.md +1 -1
- package/README.zh.md +1 -1
- package/SKILL.md +1 -1
- package/dist/dsh-plugin-dev.js +5 -5
- package/guide/links.md +1 -1
- package/guide/plugin-dev-guide.md +1 -1
- package/guide/quick-reference.es.md +2 -2
- package/guide/quick-reference.hi.md +1 -1
- package/guide/quick-reference.md +2 -2
- package/guide/quick-reference.pt.md +2 -2
- package/guide/quick-reference.zh-CN.md +2 -2
- package/package.json +3 -3
- package/references/cordis-paper-and-community.md +1 -1
- package/references/official-docs/AGENTS.md +27 -22
- package/references/official-docs/README.i18n.yaml +2 -2
- package/references/official-docs/README.md +1 -1
- package/references/official-docs/README.zh.md +19 -9
- package/references/official-docs/SNAPSHOT.md +5 -5
- package/references/official-docs/THIRD_PARTY_NOTICES.md +36 -13
- package/references/official-docs/docs/AGENTS.md +4 -4
- package/references/official-docs/docs/agent-lifecycle.i18n.yaml +2 -2
- package/references/official-docs/docs/agent-lifecycle.md +1 -1
- package/references/official-docs/docs/agent-lifecycle.zh.md +2 -2
- package/references/official-docs/docs/api-gateway.i18n.yaml +2 -2
- package/references/official-docs/docs/api-gateway.md +8 -8
- package/references/official-docs/docs/api-gateway.zh.md +8 -8
- package/references/official-docs/docs/architecture.i18n.yaml +2 -2
- package/references/official-docs/docs/architecture.md +23 -7
- package/references/official-docs/docs/architecture.zh.md +36 -20
- package/references/official-docs/docs/capability-seams.i18n.yaml +2 -2
- package/references/official-docs/docs/capability-seams.md +132 -67
- package/references/official-docs/docs/capability-seams.zh.md +132 -67
- package/references/official-docs/docs/config-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/config-catalog.md +659 -373
- package/references/official-docs/docs/config-catalog.zh.md +677 -391
- package/references/official-docs/docs/cookbook/adding-a-package.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-package.md +2 -3
- package/references/official-docs/docs/cookbook/adding-a-package.zh.md +8 -7
- package/references/official-docs/docs/cookbook/{adding-a-conversation-node.i18n.yaml → adding-a-remote-api.i18n.yaml} +3 -3
- package/references/official-docs/docs/cookbook/adding-a-remote-api.md +197 -0
- package/references/official-docs/docs/cookbook/adding-a-remote-api.zh.md +197 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.i18n.yaml +6 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.md +102 -0
- package/references/official-docs/docs/cookbook/adding-a-settings-card.zh.md +102 -0
- package/references/official-docs/docs/cookbook/adding-a-tool.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-tool.md +11 -4
- package/references/official-docs/docs/cookbook/adding-a-tool.zh.md +16 -9
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.md +2 -2
- package/references/official-docs/docs/cookbook/adding-a-vendored-package.zh.md +4 -4
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.md +1 -1
- package/references/official-docs/docs/cookbook/adding-an-llm-adapter.zh.md +3 -3
- package/references/official-docs/docs/cookbook/extension-cookbook.i18n.yaml +2 -2
- package/references/official-docs/docs/cookbook/extension-cookbook.md +9 -8
- package/references/official-docs/docs/cookbook/extension-cookbook.zh.md +17 -14
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.i18n.yaml +1 -1
- package/references/official-docs/docs/cookbook/maintaining-dsh-code-review.zh.md +1 -1
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.i18n.yaml +1 -1
- package/references/official-docs/docs/cookbook/responding-to-pr-review-on-a-stack.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/context.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-api/context.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/events.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-api/events.zh.md +1 -1
- package/references/official-docs/docs/cordis-api/inherited.md +1 -1
- package/references/official-docs/docs/cordis-primer.i18n.yaml +2 -2
- package/references/official-docs/docs/cordis-primer.md +2 -1
- package/references/official-docs/docs/cordis-primer.zh.md +3 -2
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/01-first-plugin.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/02-lifecycle-and-effects.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/03-services.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/03-services.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/04-events.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/04-events.zh.md +4 -4
- package/references/official-docs/docs/cordis-tutorial/05-config.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/05-config.zh.md +2 -2
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/06-composition-and-hmr.zh.md +3 -3
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.i18n.yaml +2 -2
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.md +5 -4
- package/references/official-docs/docs/cordis-tutorial/07-into-the-harness.zh.md +11 -10
- package/references/official-docs/docs/cordis-tutorial/index.i18n.yaml +1 -1
- package/references/official-docs/docs/cordis-tutorial/index.zh.md +10 -10
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.i18n.yaml +6 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.md +159 -0
- package/references/official-docs/docs/deepseek-llm-api-wire-extensions.zh.md +159 -0
- package/references/official-docs/docs/defensive-patterns.i18n.yaml +1 -1
- package/references/official-docs/docs/defensive-patterns.zh.md +3 -1
- package/references/official-docs/docs/development.i18n.yaml +2 -2
- package/references/official-docs/docs/development.md +9 -13
- package/references/official-docs/docs/development.zh.md +23 -21
- package/references/official-docs/docs/event-producer-consumer.i18n.yaml +2 -2
- package/references/official-docs/docs/event-producer-consumer.md +55 -46
- package/references/official-docs/docs/event-producer-consumer.zh.md +55 -46
- package/references/official-docs/docs/glossary.i18n.yaml +2 -2
- package/references/official-docs/docs/glossary.md +1 -1
- package/references/official-docs/docs/glossary.zh.md +1 -1
- package/references/official-docs/docs/graph-atlas.i18n.yaml +2 -2
- package/references/official-docs/docs/graph-atlas.md +0 -2
- package/references/official-docs/docs/graph-atlas.zh.md +7 -9
- package/references/official-docs/docs/i18n/README.i18n.yaml +2 -2
- package/references/official-docs/docs/i18n/README.md +7 -7
- package/references/official-docs/docs/i18n/README.zh.md +11 -9
- package/references/official-docs/docs/i18n/style-samples.md +3 -3
- package/references/official-docs/docs/i18n/translation-prompt.md +3 -3
- package/references/official-docs/docs/i18n/translation-rules.i18n.yaml +2 -2
- package/references/official-docs/docs/i18n/translation-rules.md +2 -2
- package/references/official-docs/docs/i18n/translation-rules.zh.md +3 -3
- package/references/official-docs/docs/module-graph.i18n.yaml +2 -2
- package/references/official-docs/docs/module-graph.md +666 -747
- package/references/official-docs/docs/module-graph.zh.md +668 -749
- package/references/official-docs/docs/persistence-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/persistence-catalog.md +172 -40
- package/references/official-docs/docs/persistence-catalog.zh.md +180 -48
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.md +2 -2
- package/references/official-docs/docs/postmortem/0001-acp-default-export-drops-inject.zh.md +3 -3
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.md +2 -2
- package/references/official-docs/docs/postmortem/0002-js-expression-disabled-filesystem-tools.zh.md +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.md +2 -2
- package/references/official-docs/docs/postmortem/0003-web-agent-gui-feedback-loop.zh.md +2 -2
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.i18n.yaml +2 -2
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.md +1 -1
- package/references/official-docs/docs/postmortem/0004-landlock-partial-notice-misclassified-child-failures.zh.md +2 -2
- package/references/official-docs/docs/postmortem/README.i18n.yaml +1 -1
- package/references/official-docs/docs/postmortem/README.zh.md +5 -5
- package/references/official-docs/docs/rescope.i18n.yaml +2 -2
- package/references/official-docs/docs/rescope.md +2 -2
- package/references/official-docs/docs/rescope.zh.md +3 -3
- package/references/official-docs/docs/subsystems/README.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/README.md +8 -2
- package/references/official-docs/docs/subsystems/README.zh.md +53 -47
- package/references/official-docs/docs/subsystems/agent-team.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/agent-team.md +206 -0
- package/references/official-docs/docs/subsystems/agent-team.zh.md +206 -0
- package/references/official-docs/docs/subsystems/approval.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/approval.md +12 -12
- package/references/official-docs/docs/subsystems/approval.zh.md +13 -13
- package/references/official-docs/docs/subsystems/attachment.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/attachment.md +90 -7
- package/references/official-docs/docs/subsystems/attachment.zh.md +90 -7
- package/references/official-docs/docs/subsystems/client-modules.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/client-modules.md +69 -19
- package/references/official-docs/docs/subsystems/client-modules.zh.md +69 -19
- package/references/official-docs/docs/subsystems/code-runtime.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/code-runtime.md +5 -5
- package/references/official-docs/docs/subsystems/code-runtime.zh.md +6 -6
- package/references/official-docs/docs/subsystems/commands.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/commands.md +29 -6
- package/references/official-docs/docs/subsystems/commands.zh.md +30 -7
- package/references/official-docs/docs/subsystems/compaction.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/compaction.md +5 -5
- package/references/official-docs/docs/subsystems/compaction.zh.md +11 -11
- package/references/official-docs/docs/subsystems/conversation.i18n.yaml +6 -0
- package/references/official-docs/docs/{cookbook/adding-a-conversation-node.md → subsystems/conversation.md} +49 -24
- package/references/official-docs/docs/{cookbook/adding-a-conversation-node.zh.md → subsystems/conversation.zh.md} +49 -24
- package/references/official-docs/docs/subsystems/core.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/core.md +110 -33
- package/references/official-docs/docs/subsystems/core.zh.md +141 -62
- package/references/official-docs/docs/subsystems/credentials.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/credentials.md +207 -11
- package/references/official-docs/docs/subsystems/credentials.zh.md +207 -11
- package/references/official-docs/docs/subsystems/extensions.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/extensions.md +27 -9
- package/references/official-docs/docs/subsystems/extensions.zh.md +30 -12
- package/references/official-docs/docs/subsystems/feedback.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/feedback.md +4 -4
- package/references/official-docs/docs/subsystems/feedback.zh.md +4 -4
- package/references/official-docs/docs/subsystems/filesystem.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/filesystem.md +17 -7
- package/references/official-docs/docs/subsystems/filesystem.zh.md +19 -9
- package/references/official-docs/docs/subsystems/goal.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/goal.md +4 -4
- package/references/official-docs/docs/subsystems/goal.zh.md +8 -8
- package/references/official-docs/docs/subsystems/invariants.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/invariants.md +2 -2
- package/references/official-docs/docs/subsystems/invariants.zh.md +5 -5
- package/references/official-docs/docs/subsystems/jobs.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/jobs.md +3 -3
- package/references/official-docs/docs/subsystems/jobs.zh.md +6 -6
- package/references/official-docs/docs/subsystems/llm-streaming.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/llm-streaming.md +193 -22
- package/references/official-docs/docs/subsystems/llm-streaming.zh.md +199 -28
- package/references/official-docs/docs/subsystems/lsp.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/lsp.md +2 -2
- package/references/official-docs/docs/subsystems/lsp.zh.md +3 -3
- package/references/official-docs/docs/subsystems/permission-presets.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/permission-presets.md +8 -8
- package/references/official-docs/docs/subsystems/permission-presets.zh.md +8 -8
- package/references/official-docs/docs/subsystems/persistence.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/persistence.md +35 -17
- package/references/official-docs/docs/subsystems/persistence.zh.md +38 -20
- package/references/official-docs/docs/subsystems/plan.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/plan.md +4 -4
- package/references/official-docs/docs/subsystems/plan.zh.md +10 -10
- package/references/official-docs/docs/subsystems/sandbox.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/sandbox.md +5 -3
- package/references/official-docs/docs/subsystems/sandbox.zh.md +8 -6
- package/references/official-docs/docs/subsystems/schedule.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/schedule.md +9 -3
- package/references/official-docs/docs/subsystems/schedule.zh.md +11 -5
- package/references/official-docs/docs/subsystems/scope.i18n.yaml +1 -1
- package/references/official-docs/docs/subsystems/scope.zh.md +1 -1
- package/references/official-docs/docs/subsystems/session-projection.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-projection.md +136 -67
- package/references/official-docs/docs/subsystems/session-projection.zh.md +136 -67
- package/references/official-docs/docs/subsystems/session-query.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-query.md +11 -3
- package/references/official-docs/docs/subsystems/session-query.zh.md +12 -4
- package/references/official-docs/docs/subsystems/session-reference.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-reference.md +94 -7
- package/references/official-docs/docs/subsystems/session-reference.zh.md +95 -8
- package/references/official-docs/docs/subsystems/session-telemetry.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-telemetry.md +5 -6
- package/references/official-docs/docs/subsystems/session-telemetry.zh.md +9 -10
- package/references/official-docs/docs/subsystems/session-title.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session-title.md +3 -3
- package/references/official-docs/docs/subsystems/session-title.zh.md +5 -5
- package/references/official-docs/docs/subsystems/session.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/session.md +284 -39
- package/references/official-docs/docs/subsystems/session.zh.md +301 -54
- package/references/official-docs/docs/subsystems/settings.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/settings.md +105 -10
- package/references/official-docs/docs/subsystems/settings.zh.md +105 -10
- package/references/official-docs/docs/subsystems/shell.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/shell.md +3 -3
- package/references/official-docs/docs/subsystems/shell.zh.md +11 -11
- package/references/official-docs/docs/subsystems/skills.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/skills.md +26 -3
- package/references/official-docs/docs/subsystems/skills.zh.md +29 -6
- package/references/official-docs/docs/subsystems/slots.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/slots.md +174 -0
- package/references/official-docs/docs/subsystems/slots.zh.md +174 -0
- package/references/official-docs/docs/subsystems/spill.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/spill.md +4 -4
- package/references/official-docs/docs/subsystems/spill.zh.md +6 -6
- package/references/official-docs/docs/subsystems/storage.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/storage.md +13 -5
- package/references/official-docs/docs/subsystems/storage.zh.md +16 -8
- package/references/official-docs/docs/subsystems/subagent.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/subagent.md +120 -32
- package/references/official-docs/docs/subsystems/subagent.zh.md +131 -41
- package/references/official-docs/docs/subsystems/subprocess.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/subprocess.md +3 -3
- package/references/official-docs/docs/subsystems/subprocess.zh.md +5 -5
- package/references/official-docs/docs/subsystems/system-prompt.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/system-prompt.md +21 -8
- package/references/official-docs/docs/subsystems/system-prompt.zh.md +23 -10
- package/references/official-docs/docs/subsystems/terminal.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/terminal.md +2 -2
- package/references/official-docs/docs/subsystems/terminal.zh.md +4 -4
- package/references/official-docs/docs/subsystems/todo.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/todo.md +32 -0
- package/references/official-docs/docs/subsystems/todo.zh.md +32 -0
- package/references/official-docs/docs/subsystems/token-meter.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/token-meter.md +27 -12
- package/references/official-docs/docs/subsystems/token-meter.zh.md +28 -13
- package/references/official-docs/docs/subsystems/tools.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/tools.md +46 -46
- package/references/official-docs/docs/subsystems/tools.zh.md +54 -54
- package/references/official-docs/docs/subsystems/typert.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/typert.md +65 -58
- package/references/official-docs/docs/subsystems/typert.zh.md +67 -60
- package/references/official-docs/docs/subsystems/user-questions.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/user-questions.md +35 -35
- package/references/official-docs/docs/subsystems/user-questions.zh.md +35 -35
- package/references/official-docs/docs/subsystems/web-client.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/web-client.md +95 -0
- package/references/official-docs/docs/subsystems/web-client.zh.md +95 -0
- package/references/official-docs/docs/subsystems/web-server.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/web-server.md +55 -9
- package/references/official-docs/docs/subsystems/web-server.zh.md +56 -10
- package/references/official-docs/docs/subsystems/web.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/web.md +14 -7
- package/references/official-docs/docs/subsystems/web.zh.md +16 -9
- package/references/official-docs/docs/subsystems/webhook.i18n.yaml +6 -0
- package/references/official-docs/docs/subsystems/webhook.md +70 -0
- package/references/official-docs/docs/subsystems/webhook.zh.md +70 -0
- package/references/official-docs/docs/subsystems/workflow.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/workflow.md +8 -8
- package/references/official-docs/docs/subsystems/workflow.zh.md +13 -13
- package/references/official-docs/docs/subsystems/workspace.i18n.yaml +2 -2
- package/references/official-docs/docs/subsystems/workspace.md +98 -5
- package/references/official-docs/docs/subsystems/workspace.zh.md +102 -9
- package/references/official-docs/docs/testing.i18n.yaml +2 -2
- package/references/official-docs/docs/testing.md +15 -10
- package/references/official-docs/docs/testing.zh.md +15 -10
- package/references/official-docs/docs/tool-catalog.i18n.yaml +2 -2
- package/references/official-docs/docs/tool-catalog.md +433 -27
- package/references/official-docs/docs/tool-catalog.zh.md +438 -29
- package/references/official-docs/docs/tool-execution-pipeline.i18n.yaml +2 -2
- package/references/official-docs/docs/tool-execution-pipeline.md +1 -1
- package/references/official-docs/docs/tool-execution-pipeline.zh.md +1 -1
- package/references/official-docs/docs/user/develop/basic/config.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/config.md +1 -1
- package/references/official-docs/docs/user/develop/basic/config.zh.md +4 -4
- package/references/official-docs/docs/user/develop/basic/index.i18n.yaml +1 -1
- package/references/official-docs/docs/user/develop/basic/index.zh.md +5 -5
- package/references/official-docs/docs/user/develop/basic/publish.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/publish.md +3 -3
- package/references/official-docs/docs/user/develop/basic/publish.zh.md +7 -7
- package/references/official-docs/docs/user/develop/basic/tool.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/basic/tool.md +3 -3
- package/references/official-docs/docs/user/develop/basic/tool.zh.md +4 -4
- package/references/official-docs/docs/user/develop/framework/events.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/framework/events.md +2 -2
- package/references/official-docs/docs/user/develop/framework/events.zh.md +3 -3
- package/references/official-docs/docs/user/develop/framework/index.i18n.yaml +1 -1
- package/references/official-docs/docs/user/develop/framework/index.zh.md +3 -3
- package/references/official-docs/docs/user/develop/framework/service.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/framework/service.md +1 -1
- package/references/official-docs/docs/user/develop/framework/service.zh.md +3 -3
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.i18n.yaml +6 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.md +15 -0
- package/references/official-docs/docs/user/develop/practice/dynamic-cordis.zh.md +15 -0
- package/references/official-docs/docs/user/develop/practice/index.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/practice/index.md +1 -1
- package/references/official-docs/docs/user/develop/practice/index.zh.md +3 -3
- package/references/official-docs/docs/user/develop/practice/llm-adapter.i18n.yaml +2 -2
- package/references/official-docs/docs/user/develop/practice/llm-adapter.md +4 -3
- package/references/official-docs/docs/user/develop/practice/llm-adapter.zh.md +4 -3
- package/references/official-docs/docs/user/guide/github-review.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/github-review.md +102 -0
- package/references/official-docs/docs/user/guide/github-review.zh.md +102 -0
- package/references/official-docs/docs/user/guide/index.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/index.md +2 -2
- package/references/official-docs/docs/user/guide/index.zh.md +8 -8
- package/references/official-docs/docs/user/guide/mcp-memory.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/mcp-memory.md +101 -0
- package/references/official-docs/docs/user/guide/mcp-memory.zh.md +101 -0
- package/references/official-docs/docs/user/guide/providers.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/providers.md +40 -1
- package/references/official-docs/docs/user/guide/providers.zh.md +41 -2
- package/references/official-docs/docs/user/guide/python-sdk.i18n.yaml +2 -2
- package/references/official-docs/docs/user/guide/python-sdk.md +80 -34
- package/references/official-docs/docs/user/guide/python-sdk.zh.md +87 -41
- package/references/official-docs/docs/user/guide/schedule.i18n.yaml +6 -0
- package/references/official-docs/docs/user/guide/schedule.md +21 -0
- package/references/official-docs/docs/user/guide/schedule.zh.md +21 -0
- package/references/official-docs/docs/web-styling.i18n.yaml +1 -1
- package/references/official-docs/docs/web-styling.zh.md +2 -2
- package/references/official-docs/packages/AGENTS.md +3 -2
- package/references/official-docs/packages/README.md +104 -59
- package/references/official-docs/vendor/README.md +1 -0
- package/references/official-docs/website-docs.ts +52 -11
- package/references/sources.md +2 -2
- package/references/website-pages.md +3 -3
- package/scripts/download-sources.ps1 +1 -1
- package/scripts/sync-official-docs.ps1 +19 -11
- package/scripts/verify-kit.ps1 +0 -4
- package/templates/js/README.es.md +1 -1
- package/templates/js/README.hi.md +1 -1
- package/templates/js/README.md +1 -1
- package/templates/js/README.pt.md +1 -1
- package/templates/js/README.zh.md +1 -1
- package/templates/js/package.json +4 -4
- package/templates/ts/README.es.md +1 -1
- package/templates/ts/README.hi.md +1 -1
- package/templates/ts/README.md +1 -1
- package/templates/ts/README.pt.md +1 -1
- package/templates/ts/README.zh.md +1 -1
- package/templates/ts/package.json +4 -4
- package/references/official-docs/examples/AGENTS.md +0 -20
package/README.es.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
| Surface | Status |
|
|
27
27
|
|---|---|
|
|
28
|
-
| Harness | DeepSeek Harness `0.1.
|
|
28
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.3` (adaptado el 2026-09-01): el sobre de sesión conserva su campo ignorable solo para compatibilidad de lectura de logs almacenados - Session.append aún no puede estamparlo, por lo que el comportamiento de la puerta no cambia. |
|
|
29
29
|
| Node | `^22.19.0 || >=24.0.0` (runtime de DeepSeek Harness) |
|
|
30
30
|
| Platforms | Todas (bundle ESM plano; sin código nativo, sin red) |
|
|
31
31
|
| Model | Cualquiera (sin interacción con el modelo) |
|
package/README.hi.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
| Surface | Status |
|
|
27
27
|
|---|---|
|
|
28
|
-
| Harness | DeepSeek Harness `0.1.
|
|
28
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.3` (2026-09-01 को अनुकूलित): सत्र लिफ़ाफ़ा अपना ignorable फ़ील्ड केवल संग्रहीत-लॉग पठन संगतता के लिए रखता है - Session.append अभी भी इसे स्टैम्प नहीं कर सकता, इसलिए गेट व्यवहार अपरिवर्तित है। |
|
|
29
29
|
| Node | `^22.19.0 || >=24.0.0` (DeepSeek Harness रनटाइम) |
|
|
30
30
|
| Platforms | सभी (सादा ESM बंडल; कोई नेटिव कोड नहीं, कोई नेटवर्क नहीं) |
|
|
31
31
|
| Model | कोई भी (कोई मॉडल अंतःक्रिया नहीं) |
|
package/README.md
CHANGED
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
|
|
29
29
|
| Surface | Status |
|
|
30
30
|
|---|---|
|
|
31
|
-
| Harness | DeepSeek Harness `0.1.
|
|
31
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.3` (adapted 2026-09-01): the session envelope keeps its ignorable field for stored-log read compatibility only - Session.append still cannot stamp it, so audit-gate behavior is unchanged. |
|
|
32
32
|
| Node | `^22.19.0 || >=24.0.0` (DeepSeek Harness runtime) |
|
|
33
33
|
| Platforms | All (plain ESM bundle; no native code, no network) |
|
|
34
34
|
| Model | Any (no model interaction) |
|
package/README.pt.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
| Surface | Status |
|
|
27
27
|
|---|---|
|
|
28
|
-
| Harness | DeepSeek Harness `0.1.
|
|
28
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.3` (adaptado em 2026-09-01): o envelope de sessão mantém seu campo ignorable apenas para compatibilidade de leitura de logs armazenados - o Session.append ainda não consegue estampá-lo, então o comportamento da porta não muda. |
|
|
29
29
|
| Node | `^22.19.0 || >=24.0.0` (runtime do DeepSeek Harness) |
|
|
30
30
|
| Platforms | Todas (bundle ESM puro; sem código nativo, sem rede) |
|
|
31
31
|
| Model | Qualquer (sem interação com o modelo) |
|
package/README.zh.md
CHANGED
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
|
|
28
28
|
| Surface | Status |
|
|
29
29
|
|---|---|
|
|
30
|
-
| Harness | DeepSeek Harness `0.1.
|
|
30
|
+
| Harness | DeepSeek Harness `0.1.2-alpha.3`(2026-09-01 已适配):会话信封保留 ignorable 字段但仅用于存量日志读取兼容——Session.append 仍无法盖章,门控行为不变。 |
|
|
31
31
|
| Node | `^22.19.0 || >=24.0.0`(DeepSeek Harness 运行时) |
|
|
32
32
|
| Platforms | 全部(纯 ESM bundle;无原生代码、无网络) |
|
|
33
33
|
| Model | 任意(无模型交互) |
|
package/SKILL.md
CHANGED
|
@@ -43,7 +43,7 @@ description: Use when developing, reviewing, packaging, debugging, or answering
|
|
|
43
43
|
- **新服务/能力**:`docs/user/develop/framework/service.md` + `docs/user/develop/practice/`(三层拆分完整代码)。
|
|
44
44
|
- **拦截/策略/hook**:`docs/cookbook/extension-cookbook.md`(permission-gate 范例)+ `docs/event-producer-consumer.md`(全事件矩阵)。
|
|
45
45
|
- **新 LLM 提供商**:`docs/user/develop/practice/llm-adapter.md`(StreamChunk 协议)。
|
|
46
|
-
- **UI/会话节点**:`docs/cookbook/adding-a-conversation-node.md`
|
|
46
|
+
- **UI/会话节点**:`docs/subsystems/session.md`、`client-modules.md`(`docs/cookbook/adding-a-conversation-node.md` 已在 alpha.3 上游移除)。
|
|
47
47
|
- **打包/发布**:`docs/user/develop/basic/publish.md`(bundle/profile、层顺序、git 安装坑)。
|
|
48
48
|
- **查服务/事件精确签名**:`docs/subsystems/*.md` 生成式 Cordis API 区 + `docs/cordis-api/*`;**不要自造第二份静态清单**。站点 URL ↔ 本地副本对照见 `guide/links.md`,社区链接完整清单见 `references/community-ecosystem.md`。
|
|
49
49
|
- **参考社区实现与实测坑**:`references/community-ecosystem.md`、`references/community-repo-deep-dive.md`(首批 15 个开发仓库深读)、`downloads/community-repos/`(**114 个仓库完整源码副本**,需先跑 `scripts/download-community-repos.ps1` 生成;含 08-14 晚扫描的 26 个文档型仓库——15 语言指南/s01–s23 课程/深度手册/TS·Rust SDK 等,及 08-15 第七批 14 个(桌面端/桥接/安全 PoC)与第八批 3 个(主题/WhaleHub/dsh-market 市场)仓库)。社区已确认的机制变化(如 repository-plugin 0811 移除、bundle vs 纯 cordis 双通道)与 20 个实测坑(cordis 双副本/tsconfig 三件套/多帧 zstd/Windows junction 等)在 `guide/plugin-dev-guide.md` §7。官方 Discussions 全量归档(**1654 条,2026-08-15 刷新**,含 #1629 官方插件脚手架 RFC)与 npm 全家桶元数据分别在 `downloads/github/harness/discussions/` 与 `downloads/npm/`;中英文社区文章 HTML 快照(100+ 篇)在 `downloads/web/community-articles/`。
|
package/dist/dsh-plugin-dev.js
CHANGED
|
@@ -773,8 +773,8 @@ function checkManifestPeers(root, pkg) {
|
|
|
773
773
|
skillRef: ref
|
|
774
774
|
};
|
|
775
775
|
const expected = {};
|
|
776
|
-
for (const imp of harnessImports) if (imp === "@deepseek-ai/cordis") expected[imp] = "^4.0.
|
|
777
|
-
else if (imp === "@deepseek-ai/schemastery") expected[imp] = "^3.18.
|
|
776
|
+
for (const imp of harnessImports) if (imp === "@deepseek-ai/cordis") expected[imp] = "^4.0.2";
|
|
777
|
+
else if (imp === "@deepseek-ai/schemastery") expected[imp] = "^3.18.2";
|
|
778
778
|
else if (imp.startsWith("@deepseek-ai/dsh-")) expected[imp] = ">=0.1.0-rc.8 <0.2.0";
|
|
779
779
|
const problems = [];
|
|
780
780
|
for (const [pkgName, range] of Object.entries(expected)) {
|
|
@@ -1466,7 +1466,7 @@ function suggestionsFor(step, result) {
|
|
|
1466
1466
|
const base = [`tail of "${step}":\n${tailOf(result)}`];
|
|
1467
1467
|
if (result.timedOut) base.push(`command timed out; raise --timeout or --smoke-timeout`);
|
|
1468
1468
|
if (step === "install") {
|
|
1469
|
-
base.push("ensure the dsh CLI is @deepseek-ai/dsh@0.1.
|
|
1469
|
+
base.push("ensure the dsh CLI is @deepseek-ai/dsh@0.1.2-alpha.3 (older rc.6 PATH builds do not satisfy the compat pin)");
|
|
1470
1470
|
base.push("confirm the profile allowlist matches the repo compat workflow (native builds allowlisted)");
|
|
1471
1471
|
}
|
|
1472
1472
|
if (step === "headless") base.push("a hang usually means an injected service stayed pending; the smoke timeout surfaces exactly that");
|
|
@@ -1587,8 +1587,8 @@ async function main(argv, cwd = process.cwd()) {
|
|
|
1587
1587
|
dshBin: resolveDsh(flagString(flags, "dsh")),
|
|
1588
1588
|
pnpmBin: resolvePnpm(flagString(flags, "pnpm")),
|
|
1589
1589
|
profile: flagString(flags, "profile", "compat") ?? "compat",
|
|
1590
|
-
base: flagString(flags, "base", "@deepseek-ai/dsh-base@0.1.
|
|
1591
|
-
headless: flagString(flags, "headless", "@deepseek-ai/dsh-headless@0.1.
|
|
1590
|
+
base: flagString(flags, "base", "@deepseek-ai/dsh-base@0.1.2-alpha.3") ?? "@deepseek-ai/dsh-base@0.1.2-alpha.3",
|
|
1591
|
+
headless: flagString(flags, "headless", "@deepseek-ai/dsh-headless@0.1.2-alpha.3") ?? "@deepseek-ai/dsh-headless@0.1.2-alpha.3",
|
|
1592
1592
|
timeoutMs: timeoutMs(flags, "timeout", "DSH_PLUGIN_DEV_TIMEOUT", DEFAULT_TIMEOUT_MS),
|
|
1593
1593
|
smokeTimeoutMs: timeoutMs(flags, "smoke-timeout", "DSH_PLUGIN_DEV_SMOKE_TIMEOUT", DEFAULT_SMOKE_TIMEOUT_MS)
|
|
1594
1594
|
});
|
package/guide/links.md
CHANGED
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
| Tool 执行管线 | [reference/tool-execution-pipeline](https://deepseek-harness.github.io/deepseek-harness/reference/tool-execution-pipeline) | tool-execution-pipeline.md |
|
|
34
34
|
| 生成式参考(配置/Tool/持久化) | [reference/config-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/config-catalog) · [tool-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/tool-catalog) · [persistence-catalog](https://deepseek-harness.github.io/deepseek-harness/reference/persistence-catalog) | config-catalog.md / tool-catalog.md / persistence-catalog.md |
|
|
35
35
|
| Cordis 核心 API | [reference/cordis-api/context](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/context) · [events](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/events) · [fiber](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/fiber) · [registry](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/registry) · [service](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/service) · [inherited](https://deepseek-harness.github.io/deepseek-harness/reference/cordis-api/inherited) | cordis-api/ |
|
|
36
|
-
| 开发手册(Cookbook) | [adding-a-package](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package) · [adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) · [adding-an-llm-adapter](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-an-llm-adapter) · [extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook)
|
|
36
|
+
| 开发手册(Cookbook) | [adding-a-package](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-package) · [adding-a-tool](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-a-tool) · [adding-an-llm-adapter](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/adding-an-llm-adapter) · [extension-cookbook](https://deepseek-harness.github.io/deepseek-harness/reference/cookbook/extension-cookbook)(`adding-a-conversation-node` 已在 alpha.3 上游移除) | cookbook/ |
|
|
37
37
|
| 子系统生成式服务/事件 API | [reference/subsystems/](https://deepseek-harness.github.io/deepseek-harness/reference/subsystems/)(每个子系统一页:tools、shell、session、web、skills、subagent……) | subsystems/ |
|
|
38
38
|
|
|
39
39
|
## 3. 官方仓库与直链(GitHub,master 分支)
|
|
@@ -185,7 +185,7 @@ export function apply(ctx: Context, config: Config) { /* config 已校验+补默
|
|
|
185
185
|
2. **waterfall 监听器必须调 `next()`**。
|
|
186
186
|
3. **模型可见 ⟺ 已记录**(Model-visible ⟺ logged):任何进入模型请求的内容必须能从会话日志重建;新增模型可见输入必须新增会话事件。运行时不变式会断言这一点。
|
|
187
187
|
4. **跨边界 opaque id 用 branded**:`Branded<B>`(`dsh-brand`,纯类型、零运行时依赖),从不裸 `string`;构造走 per-type factory(`SessionId` / `CallId` / `JobId` / `GoalId` 等),防止不同 id 在类型层互换。
|
|
188
|
-
5. **会话事件版本规则**:`SessionEventMap` 成员默认 required-on-read,无信封豁免——`0.1.2-alpha.1` 已移除 `ignorable` 信封、读路径 fail-closed,不认识该事件类型的 build 一律拒绝日志;只有结构格式变更才 bump `SESSION_FORMAT_VERSION
|
|
188
|
+
5. **会话事件版本规则**:`SessionEventMap` 成员默认 required-on-read,无信封豁免——`0.1.2-alpha.1` 已移除 `ignorable` 信封、读路径 fail-closed,不认识该事件类型的 build 一律拒绝日志;只有结构格式变更才 bump `SESSION_FORMAT_VERSION`。`0.1.2-alpha.3` 恢复信封 `ignorable?: true` 字段但仅用于存量日志读取兼容——其 `Session.append` 第三参为仅 surface 事件的 `SurfaceIntent`,仍无法盖章标记,故自适应门在该线上继续停写(行为不变)。插件新增会话事件时按此契约设计:下游插件事件目前无注册面,写自定义事件的插件用自适应门在无信封宿主上停写(新增模型可见输入见红线 3)。
|
|
189
189
|
|
|
190
190
|
---
|
|
191
191
|
|
|
@@ -138,7 +138,7 @@ Protocolo de chunks: `block-start` → `text-delta*` → `block-end` (bloque com
|
|
|
138
138
|
5. Paquetes de plugin independientes: cordis es peerDependency con la misma identidad del host (mezclar scoped `@deepseek-ai/cordis` y unscoped divide identidades); ESM; manifiesto `dsh.bundle`; instalaciones git necesitan `prepare` + `allowBuilds`; publica `lib/` o un tarball.
|
|
139
139
|
6. Documentación bilingüe en pares; descripciones/prompts son comportamiento; cambios no triviales llevan Agent Note; ejecuta el conjunto mínimo de checks antes de empujar (dsh-pre-push-checks).
|
|
140
140
|
7. Los ids opacos entre límites son branded (`Branded<B>` de `dsh-brand`), nunca `string` pelado.
|
|
141
|
-
8. Los miembros de `SessionEventMap` son required-on-read: el sobre `ignorable` desaparece en 0.1.2-alpha.1 (la lectura falla cerrada — un build que no conoce un tipo de evento rechaza el log), y los appends de eventos propios de plugins cruzan una puerta adaptativa que deja de escribir en hosts sin sobre; solo los cambios de formato estructural bumpan `SESSION_FORMAT_VERSION`. El switch sobre `SessionEvent` cae por un `default` documentado — sin `assertNever` (unión merge-extensible).
|
|
141
|
+
8. Los miembros de `SessionEventMap` son required-on-read: el sobre `ignorable` desaparece en 0.1.2-alpha.1 (la lectura falla cerrada — un build que no conoce un tipo de evento rechaza el log), y los appends de eventos propios de plugins cruzan una puerta adaptativa que deja de escribir en hosts sin sobre; 0.1.2-alpha.3 conserva el campo ignorable?: true solo para compatibilidad de lectura de logs almacenados (su Session.append sigue sin poder estampar el marcador), por lo que la puerta continúa sin escribir (sin cambio de comportamiento). Solo los cambios de formato estructural bumpan `SESSION_FORMAT_VERSION`. El switch sobre `SessionEvent` cae por un `default` documentado — sin `assertNever` (unión merge-extensible).
|
|
142
142
|
|
|
143
143
|
## Lista rápida de trampas comunitarias (detalles: guía §7.3 / community-repo-deep-dive.md)
|
|
144
144
|
|
|
@@ -166,7 +166,7 @@ Documentación comunitaria de desarrollo — plantillas/tutoriales/errores, list
|
|
|
166
166
|
## Índice de fuentes clave
|
|
167
167
|
|
|
168
168
|
- Documentación oficial textual: `references/official-docs/docs/**` (215 páginas, incluye pares `.zh.md`)
|
|
169
|
-
- Restricciones raíz del repo: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/
|
|
169
|
+
- Restricciones raíz del repo: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/vendor/README.md`; estado de sincronización en `references/official-docs/SNAPSHOT.md`
|
|
170
170
|
- HTML del sitio: `downloads/web/site/**` (sitio completo EN+ZH) + `downloads/manifest.tsv`
|
|
171
171
|
- Cordis upstream: `downloads/github/cordis/**` + investigación `references/upstream-cordis.md`
|
|
172
172
|
- Paper de Cordis: `downloads/github/paper/**` + investigación `references/cordis-paper-and-community.md`
|
|
@@ -166,7 +166,7 @@ Consumer (`dsh-tool-my-cap`): `inject = ['tools','myCap']`, `ctx.tools.register(
|
|
|
166
166
|
## मुख्य स्रोत सूची
|
|
167
167
|
|
|
168
168
|
- आधिकारिक दस्तावेज़ हूबहू: `references/official-docs/docs/**` (215 पृष्ठ, `.zh.md` जोड़े सहित)
|
|
169
|
-
- रिपो-रूट बाधाएँ: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/
|
|
169
|
+
- रिपो-रूट बाधाएँ: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/vendor/README.md`; सिंक स्थिति `references/official-docs/SNAPSHOT.md` में
|
|
170
170
|
- साइट क्रॉल HTML: `downloads/web/site/**` (EN+ZH पूर्ण साइट) + `downloads/manifest.tsv`
|
|
171
171
|
- अपस्ट्रीम Cordis: `downloads/github/cordis/**` + शोध `references/upstream-cordis.md`
|
|
172
172
|
- Cordis पेपर: `downloads/github/paper/**` + शोध `references/cordis-paper-and-community.md`
|
package/guide/quick-reference.md
CHANGED
|
@@ -138,7 +138,7 @@ Chunk protocol: `block-start` → `text-delta*` → `block-end` (complete block)
|
|
|
138
138
|
5. Standalone plugin packages: cordis is a peerDependency matching the host identity (mixing scoped `@deepseek-ai/cordis` and unscoped splits identities); ESM; `dsh.bundle` manifest; git installs need `prepare` + `allowBuilds`; ship `lib/` or a tarball.
|
|
139
139
|
6. Bilingual docs in pairs; tool descriptions/prompts are behavior; non-trivial changes need an Agent Note; run the minimal check set before pushing (dsh-pre-push-checks).
|
|
140
140
|
7. Opaque cross-boundary ids are branded (`Branded<B>` from `dsh-brand`), never bare `string`.
|
|
141
|
-
8. `SessionEventMap` members are required-on-read: the `ignorable` envelope is gone on 0.1.2-alpha.1 (reads fail closed — a build that does not know an event type refuses the log), and plugin appends of custom events ride an adaptive gate that stops writing on envelope-less hosts; only structural format changes bump `SESSION_FORMAT_VERSION`. Switch over `SessionEvent` falls through a documented `default` — no `assertNever` (merge-extensible union).
|
|
141
|
+
8. `SessionEventMap` members are required-on-read: the `ignorable` envelope is gone on 0.1.2-alpha.1 (reads fail closed — a build that does not know an event type refuses the log), and plugin appends of custom events ride an adaptive gate that stops writing on envelope-less hosts; only structural format changes bump `SESSION_FORMAT_VERSION`. 0.1.2-alpha.3 retains the `ignorable?: true` field for stored-log read compatibility only — its `Session.append` third argument is a `SurfaceIntent` for surface events and still cannot stamp the marker, so the gate keeps skipping custom-event appends there (no behavior change). Switch over `SessionEvent` falls through a documented `default` — no `assertNever` (merge-extensible union).
|
|
142
142
|
|
|
143
143
|
## Community pitfalls quick list (details: guide §7.3 / community-repo-deep-dive.md)
|
|
144
144
|
|
|
@@ -166,7 +166,7 @@ Community dev docs — templates/tutorials/pitfalls, full list in [references/co
|
|
|
166
166
|
## Key source index
|
|
167
167
|
|
|
168
168
|
- Official docs verbatim: `references/official-docs/docs/**` (215 pages, all `.zh.md` pairs included)
|
|
169
|
-
- Repo-root constraints: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/
|
|
169
|
+
- Repo-root constraints: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/vendor/README.md`; sync state in `references/official-docs/SNAPSHOT.md`
|
|
170
170
|
- Site crawl HTML: `downloads/web/site/**` (EN+ZH full site) + `downloads/manifest.tsv` (download ledger)
|
|
171
171
|
- Upstream Cordis: `downloads/github/cordis/**` + research `references/upstream-cordis.md`
|
|
172
172
|
- Cordis paper: `downloads/github/paper/**` + research `references/cordis-paper-and-community.md`
|
|
@@ -138,7 +138,7 @@ Protocolo de chunks: `block-start` → `text-delta*` → `block-end` (bloco comp
|
|
|
138
138
|
5. Pacotes de plugin independentes: cordis é peerDependency com a mesma identidade do host (misturar scoped `@deepseek-ai/cordis` e unscoped divide identidades); ESM; manifesto `dsh.bundle`; instalações git precisam de `prepare` + `allowBuilds`; publique `lib/` ou um tarball.
|
|
139
139
|
6. Documentação bilíngue em pares; descrições/prompts são comportamento; mudanças não triviais levam Agent Note; rode o conjunto mínimo de verificações antes de empurrar (dsh-pre-push-checks).
|
|
140
140
|
7. IDs opacos entre limites são branded (`Branded<B>` de `dsh-brand`), nunca `string` crua.
|
|
141
|
-
8. Membros de `SessionEventMap` são required-on-read: o envelope `ignorable` desaparece no 0.1.2-alpha.1 (a leitura falha fechada — um build que não conhece um tipo de evento recusa o log), e appends de eventos próprios de plugins cruzam uma porta adaptativa que para de gravar em hosts sem envelope; apenas mudanças de formato estrutural bumpam `SESSION_FORMAT_VERSION`. O switch sobre `SessionEvent` cai num `default` documentado — sem `assertNever` (união merge-extensible).
|
|
141
|
+
8. Membros de `SessionEventMap` são required-on-read: o envelope `ignorable` desaparece no 0.1.2-alpha.1 (a leitura falha fechada — um build que não conhece um tipo de evento recusa o log), e appends de eventos próprios de plugins cruzam uma porta adaptativa que para de gravar em hosts sem envelope; 0.1.2-alpha.3 mantém o campo ignorable?: true apenas para compatibilidade de leitura de logs armazenados (seu Session.append ainda não consegue estampar o marcador), então a porta continua sem gravar (sem mudança de comportamento). Apenas mudanças de formato estrutural bumpam `SESSION_FORMAT_VERSION`. O switch sobre `SessionEvent` cai num `default` documentado — sem `assertNever` (união merge-extensible).
|
|
142
142
|
|
|
143
143
|
## Lista rápida de armadilhas da comunidade (detalhes: guia §7.3 / community-repo-deep-dive.md)
|
|
144
144
|
|
|
@@ -166,7 +166,7 @@ Documentação comunitária de desenvolvimento — modelos/tutoriais/armadilhas,
|
|
|
166
166
|
## Índice de fontes principais
|
|
167
167
|
|
|
168
168
|
- Documentação oficial textual: `references/official-docs/docs/**` (215 páginas, inclui pares `.zh.md`)
|
|
169
|
-
- Restrições da raiz do repo: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/
|
|
169
|
+
- Restrições da raiz do repo: `references/official-docs/AGENTS.md`, `references/official-docs/packages/AGENTS.md`, `references/official-docs/vendor/README.md`; estado de sincronização em `references/official-docs/SNAPSHOT.md`
|
|
170
170
|
- HTML do site: `downloads/web/site/**` (site completo EN+ZH) + `downloads/manifest.tsv`
|
|
171
171
|
- Cordis upstream: `downloads/github/cordis/**` + pesquisa `references/upstream-cordis.md`
|
|
172
172
|
- Paper do Cordis: `downloads/github/paper/**` + pesquisa `references/cordis-paper-and-community.md`
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# DeepSeek Harness 插件开发速查表
|
|
1
|
+
# DeepSeek Harness 0.1.2-alpha.3 恢复信封 ignorable?: true 字段但仅用于存量日志读取兼容(其 Session.append 仍无法盖章),门控行为不变。 插件开发速查表
|
|
2
2
|
|
|
3
3
|
> 一页式速查。细节回到 [plugin-dev-guide.md](plugin-dev-guide.md) 与 [references](../references/)。
|
|
4
4
|
|
|
@@ -165,7 +165,7 @@ Chunk 协议:`block-start` → `text-delta*` → `block-end`(完整块)→
|
|
|
165
165
|
## 关键源索引
|
|
166
166
|
|
|
167
167
|
- 本地官方文档全文:`references/official-docs/docs/**`(215 篇,含全部 `.zh.md`)
|
|
168
|
-
- 仓库根约束:`references/official-docs/AGENTS.md`、`references/official-docs/packages/AGENTS.md`、`references/official-docs/
|
|
168
|
+
- 仓库根约束:`references/official-docs/AGENTS.md`、`references/official-docs/packages/AGENTS.md`、`references/official-docs/vendor/README.md`;同步状态见 `references/official-docs/SNAPSHOT.md`
|
|
169
169
|
- 站点爬取 HTML:`downloads/web/site/**`(中英双语全站)+ `downloads/manifest.tsv`(下载清单)
|
|
170
170
|
- 上游 Cordis:`downloads/github/cordis/**` + 调研 `references/upstream-cordis.md`
|
|
171
171
|
- Cordis 论文:`downloads/github/paper/**` + 调研 `references/cordis-paper-and-community.md`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-guide",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.2",
|
|
4
4
|
"description": "The dsh-plugin-guide knowledge base plus the dsh-plugin-dev CLI toolchain: official docs, Cordis primer, community deep-dives, and battle-tested pitfalls registered as an on-demand agent skill, with a scaffolder, static checker, and pack verifier for building DSH plugins.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "index.js",
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"tsdown": "^0.22.14",
|
|
63
63
|
"typescript": "^5.9.3"
|
|
64
64
|
},
|
|
65
|
-
"devDependencies": {
|
|
65
|
+
"devDependencies": {"@deepseek-ai/dsh-attachment": "0.1.2-alpha.3",
|
|
66
66
|
"@types/node": "^22.20.1",
|
|
67
67
|
"vitest": "^3.2.7"
|
|
68
68
|
},
|
|
@@ -105,7 +105,7 @@
|
|
|
105
105
|
],
|
|
106
106
|
"compatibility": {
|
|
107
107
|
"dshVersions": [
|
|
108
|
-
"0.1.
|
|
108
|
+
"0.1.2-alpha.3"
|
|
109
109
|
]
|
|
110
110
|
},
|
|
111
111
|
"capability": {
|
|
@@ -135,7 +135,7 @@ vendored `cordis` README 开宗明义:
|
|
|
135
135
|
- 架构总览(中/英):`docs/architecture.md` / `architecture.zh.md` — 插件树、profile/bundle、turn flow、capability seam、事件地图、"新行为往哪挂"速查表。https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/architecture.md
|
|
136
136
|
- Cordis 入门(中/英):`docs/cordis-primer.md` / `.zh.md` — 五个核心概念、分发模式、waterfall 语义、loader 配置。https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/cordis-primer.md
|
|
137
137
|
- Cordis 教程(7 课,中英双语):`01-first-plugin` → `02-lifecycle-and-effects` → `03-services` → `04-events` → `05-config` → `06-composition-and-hmr` → `07-into-the-harness`。https://github.com/deepseek-ai/deepseek-harness/tree/master/docs/cordis-tutorial
|
|
138
|
-
- Cookbook(如何加功能):`adding-a-package` / `adding-a-tool` / `adding-an-llm-adapter` / `adding-a-
|
|
138
|
+
- Cookbook(如何加功能):`adding-a-package` / `adding-a-tool` / `adding-an-llm-adapter` / `adding-a-vendored-package` / `extension-cookbook`(`adding-a-conversation-node` 已在 alpha.3 上游移除)。https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/cookbook/adding-a-package.md 、https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/cookbook/adding-a-tool.md
|
|
139
139
|
- 用户开发指引:`docs/user/develop/basic/index.md`。https://github.com/deepseek-ai/deepseek-harness/blob/master/docs/user/develop/basic/index.md
|
|
140
140
|
|
|
141
141
|
### 2.3 第三方聚合目录(awesome lists)
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
# AGENTS.md
|
|
2
2
|
|
|
3
|
-
DeepSeek Harness is
|
|
3
|
+
DeepSeek Harness is an all-plugin Cordis agent harness. Read [docs/architecture.md](docs/architecture.md) before changing `packages/`; follow [docs/AGENTS.md](docs/AGENTS.md) for documentation.
|
|
4
4
|
|
|
5
5
|
## Pre-release stance: foundation over blast radius
|
|
6
6
|
|
|
7
|
-
**Remove
|
|
7
|
+
**Remove at the first tagged release.** Until then, prefer correct foundations to compatibility shims: rename or repackage freely and update every reference. Backends reject old on-disk formats. SQLite uses monotonic `SCHEMA_VERSION`; `dsh-session` keeps `SESSION_FORMAT_VERSION` at `0` with no compatibility promise.
|
|
8
|
+
|
|
9
|
+
**Application launch.** Only `dsh` profiles launch supported Node apps; package bins, demos, and public SDK argv escapes are forbidden ([rule](docs/architecture.md#application-launch)).
|
|
8
10
|
|
|
9
11
|
## Repository layout
|
|
10
12
|
|
|
@@ -17,7 +19,7 @@ packages/ @deepseek-ai/dsh-<pkg> workspaces at packages/<group>/<pkg>/
|
|
|
17
19
|
llm/ LLM capability: Service Definition/Consumer + DeepSeek providers
|
|
18
20
|
e2b/ E2B POC: sandbox + FS/subprocess adapters
|
|
19
21
|
shell/ bash capability: Service Definition + local/pwsh providers + shell Consumers
|
|
20
|
-
subprocess/ subprocess capability + local process-tree provider
|
|
22
|
+
subprocess/ subprocess capability + local process-tree provider + shared Win32 library
|
|
21
23
|
terminal/ persistent sessions
|
|
22
24
|
fs/ filesystem capability + policy
|
|
23
25
|
lsp/ language-server capability
|
|
@@ -28,6 +30,7 @@ packages/ @deepseek-ai/dsh-<pkg> workspaces at packages/<group>/<pkg>/
|
|
|
28
30
|
subagent/ subagent capability: Service Definition + providers + delegation Consumers
|
|
29
31
|
bundle/ installable dsh --profile patch-layer bundles
|
|
30
32
|
workflow/ workflow capability + worker-thread provider + tool Consumer
|
|
33
|
+
webhook/ webhook ingress
|
|
31
34
|
todo/ todo_write tool
|
|
32
35
|
plan/ plan mode as logged state
|
|
33
36
|
preset/ per-session agent composition from preset cordis.yml files
|
|
@@ -37,17 +40,16 @@ packages/ @deepseek-ai/dsh-<pkg> workspaces at packages/<group>/<pkg>/
|
|
|
37
40
|
session/ durable session data: persistence, projection, titles, telemetry
|
|
38
41
|
identity/ anonymous identity
|
|
39
42
|
settings/ user-settings capability + file provider
|
|
40
|
-
credentials/ credential
|
|
43
|
+
credentials/ credential/authorization capabilities + env/.env provider
|
|
41
44
|
acp/ automation-only Agent Client Protocol server
|
|
42
45
|
interaction/ approval/interaction capabilities, permission, commands, ask-user
|
|
43
|
-
boot/ shared
|
|
44
|
-
sdk/ JSON-RPC protocol
|
|
45
|
-
|
|
46
|
+
boot/ shared profile/application boot glue
|
|
47
|
+
sdk/ JSON-RPC protocol + TypeScript client/server
|
|
48
|
+
experimental/ private prototypes excluded from official releases
|
|
46
49
|
support/ dev/test infrastructure
|
|
47
50
|
util/ zero-dependency utilities
|
|
48
51
|
python/ Python SDK and bundled runtime (see python/README.md)
|
|
49
52
|
native/ @deepseek-ai/node-addon-landlock-run source of record (see native/README.md)
|
|
50
|
-
examples/ Runnable cordis.yml leaves over packages/examples bundles (see examples/AGENTS.md)
|
|
51
53
|
.agents/ Agent workflows and Agent Notes (`notes/`)
|
|
52
54
|
docs/ architecture, generated catalogs, postmortems, cookbook (see docs/AGENTS.md)
|
|
53
55
|
scripts/ repo gates and generators
|
|
@@ -61,33 +63,34 @@ Package groups: [packages/README.md](packages/README.md).
|
|
|
61
63
|
```sh
|
|
62
64
|
pnpm install # pnpm workspaces, node ^22.19 || >=24
|
|
63
65
|
pnpm run clean # remove build outputs and safe residue from deleted packages
|
|
64
|
-
pnpm run test #
|
|
66
|
+
pnpm run test # unit tests
|
|
65
67
|
pnpm run test:coverage # CI coverage gate: per-file 100% on packages/*/*/src
|
|
66
68
|
pnpm run test:e2e # real-API tests; self-skip without DEEPSEEK_API_KEY
|
|
67
|
-
pnpm run test:
|
|
69
|
+
pnpm run test:expected # owner-local process expectations
|
|
70
|
+
pnpm run test:snapshot # keyless recorded-session replay through shipped profiles; filter: -t <name>
|
|
68
71
|
pnpm run test:snapshot:record # re-record expected outputs (needs key)
|
|
69
72
|
pnpm run typecheck
|
|
70
73
|
pnpm run lint
|
|
71
74
|
pnpm run duplication # cross-file TypeScript clone detection
|
|
72
75
|
pnpm run build # tsc emits lib/types, tsdown bundles runtime
|
|
73
|
-
pnpm run hygiene #
|
|
76
|
+
pnpm run hygiene # publint + workspace/package/dependency checks + NodeNext consumer check
|
|
74
77
|
pnpm run check:windows-wine # ONLY when diagnosing a known Windows failure (needs wine); CI owns this signal
|
|
75
78
|
pnpm run doc-sync # all documentation gates; leaf list in scripts/run-gates.ts
|
|
79
|
+
pnpm run test:docs # quick documentation checks (no build; doc-quick aggregate)
|
|
76
80
|
pnpm run website:build # VitePress build (doubles as dead-link check)
|
|
77
81
|
pnpm dsh --profile headless "task" # run one task from source (needs DEEPSEEK_API_KEY)
|
|
78
|
-
pnpm run demo:
|
|
79
|
-
pnpm run demo:acp # ACP automation server (needs DEEPSEEK_API_KEY)
|
|
82
|
+
pnpm run demo:ptc -- "task" # headless PTC mode run (needs key)
|
|
80
83
|
```
|
|
81
84
|
|
|
82
85
|
### Host sandbox failures
|
|
83
86
|
|
|
84
|
-
|
|
87
|
+
If a required `gh`, `pnpm`, build, test, or generator command fails because the sandbox blocks credentials, network, IPC, watching, or nested `sandbox-exec`, retry unchanged with the narrowest host escalation. Require sandbox evidence; never bypass test failures or the product sandbox.
|
|
85
88
|
|
|
86
89
|
### Run relevant checks locally
|
|
87
90
|
|
|
88
91
|
Run checks before pushes via [dsh-pre-push-checks](.agents/skills/dsh-pre-push-checks/SKILL.md); report only commands run. After `gh stack sync`, validate immediately; do not merge before checks pass.
|
|
89
92
|
|
|
90
|
-
- Match evidence to the surface: focused tests
|
|
93
|
+
- Match evidence to the surface: focused behavior tests, model/user-output snapshots, `doc-sync` for docs, built smokes for published paths, and real-API e2e for providers.
|
|
91
94
|
- Never default to the full suite or repeat a passing check for commit or push. CI owns exhaustive coverage and the platform matrix; rehearse all locally only by explicit request, for CI diagnosis, or for an irreducibly repository-wide change.
|
|
92
95
|
- `test:coverage`, not `test`, is the CI coverage gate ([why](docs/testing.md)).
|
|
93
96
|
|
|
@@ -101,7 +104,7 @@ Real-API tests and demos read `DEEPSEEK_API_KEY`, optional `DEEPSEEK_BASE_URL`,
|
|
|
101
104
|
- ESM everywhere (`"type": "module"`). Use package names across packages and `.ts` in local relative imports. Config subprocesses run built `lib/` under plain Node; source regressions use their declared launcher ([testing policy](docs/testing.md#test-subprocess-launch-modes)). The `dsh` CLI source launch runs through tsx's ESM-only hook (`node --import tsx/esm`); modules it reaches must stay ESM (no CJS-only exports) — Node's native TypeScript modes are unavailable across the engines range ([source-launch contract](.agents/notes/implemented/architecture/2026-07-29-dsh-source-launch-tsx-esm.md)). Raw/Web `cordis.yml` bare plugins must appear in their resolver manifest's `dependencies`; `verify-cordis-config` enforces it.
|
|
102
105
|
- **Registrations are effects**: every contribution goes through `ctx.effect()` / `ctx.on()`; a registry's `register()` returns the disposer.
|
|
103
106
|
- **Runtime invariants assert owned relationships.** Check authoritative event streams or mutable data, not service or method presence, plugin metadata or effects, or fixed pure examples. Without a plausible relationship, an explained empty companion is correct ([package invariant rules](packages/AGENTS.md)).
|
|
104
|
-
- **Typed events use declaration merging** and merge-extensible maps. Event JSDoc needs `@mode` and payload `@param`; scoped keys absent from payloads need `@dshScopeScan unsupported`. Public service methods document parameters and non-void returns.
|
|
107
|
+
- **Typed events use declaration merging** and merge-extensible maps. Event JSDoc needs `@mode` and payload `@param`; scoped keys absent from payloads need `@dshScopeScan unsupported`. Public service methods document parameters and non-void returns. `SessionEventMap` members are required-on-read by default — builds that do not know a type refuse the log unless the event carries the envelope's `ignorable: true`; only structural format changes bump `SESSION_FORMAT_VERSION` ([mechanism](.agents/notes/implemented/architecture/2026-08-10-session-log-version-mechanism.md)).
|
|
105
108
|
- **Switch on discriminant tags.** Closed unions end in `assertNever`; merge-extensible unions fall through a documented default.
|
|
106
109
|
- **Waterfall listeners MUST call `next()`** to delegate; returning without it short-circuits the chain ([semantics](docs/cordis-primer.md#cordis-waterfall-semantics)).
|
|
107
110
|
- **Model-visible ⟺ logged**: anything that reaches a model request must be reconstructable from the session log; a new model-visible input requires a session event.
|
|
@@ -114,16 +117,18 @@ Real-API tests and demos read `DEEPSEEK_API_KEY`, optional `DEEPSEEK_BASE_URL`,
|
|
|
114
117
|
- **Opaque cross-boundary ids are branded** (`Branded<B>` from `dsh-brand`), never bare `string`.
|
|
115
118
|
- **Trust TypeScript at typed same-process boundaries.** Do not add runtime validation, fallback behavior, or hostile-input tests solely for values the static interface requires; validate at parser/config, queued, model/tool JSON, durable/file, worker, process, and wire boundaries.
|
|
116
119
|
- **Source plane vs artifact plane, never mixed.** Static gates and tests resolve workspace imports through tsconfig `paths` to `src` and pass on a clean tree; gates consuming built `lib/` declare that dependency ([layout](docs/development.md#typescript-project-layout)).
|
|
117
|
-
- **Keep compiler faces explicit.**
|
|
120
|
+
- **Keep compiler faces explicit.** A package with both Host and Client programs exposes face-specific leaf configs and a solution-only root; repo-wide programs seed a face config, never the root solution ([layout](docs/development.md#typescript-project-layout)).
|
|
118
121
|
- **An empty `catch` names what it swallows** and why nothing else can reach it; keep the `try` to one statement.
|
|
119
|
-
- Do not
|
|
122
|
+
- **Keep comments local.** Do not restate code, explain distant behavior unless locally required, or expand unrelated comments ([rationale](.agents/notes/implemented/process/2026-08-09-concrete-prose-names-actors-and-recorded-facts.md)).
|
|
120
123
|
- **Prefer symmetry for parallel values**; unexplained asymmetry usually signals a missed extraction.
|
|
121
124
|
- **Tests describe behavior, not correctness.** Change obsolete behavior with its tests; explain why in the PR.
|
|
122
125
|
- **Non-trivial changes MUST include an Agent Note in the same PR;** only mechanical/local edits are exempt ([scope](.agents/notes/README.md#when-to-write-one)). Archived notes are frozen: never edit or treat them as current authority ([archive policy](.agents/notes/README.md#archiving-and-deletion)).
|
|
123
|
-
- **
|
|
124
|
-
- **
|
|
126
|
+
- **Client UI copy is locale-owned.** Route product text through typed dictionaries and `t` or localized primitive props; `verify-client-ui-i18n` rejects hardcoded copy ([decision](.agents/notes/implemented/architecture/2026-08-23-locale-owned-client-ui-copy.md)).
|
|
127
|
+
- **Testing policy** — [docs/testing.md](docs/testing.md). Every non-trivial model- or product-user-visible change updates a keyless recorded-session snapshot; [snapshot ownership](snapshots/AGENTS.md) reserves the top-level tree for session-driven cases and keeps other expected output owner-local. Fixtures replay on macOS/Linux; fix fixtures, not normalizers.
|
|
128
|
+
- **Design each tool's UI presentation up front.** Host presenters stay pure; Web cards derive from raw events and persisted result metadata ([cookbook](docs/cookbook/adding-a-tool.md)).
|
|
125
129
|
- **Plan unit, e2e, and snapshot coverage** for capability seams, lifecycle paths, and transcript output; include missing snapshot-harness support in the same change.
|
|
126
|
-
- **
|
|
130
|
+
- **Both SDKs project the loop.** Agent-loop, session-lifecycle, and `SessionEventMap` changes update the TypeScript and Python SDK expected outputs in the same PR; `pnpm run test` covers neither ([surfaces](docs/testing.md#when-a-snapshot-test-is-required)).
|
|
131
|
+
- **Choose PR history deliberately.** Split independent changes and fix the introducing PR before propagation. Standalone/stack branches may merge-forward or rebase. Rewrites use `--force-with-lease`, abort on remote movement, never raw `--force`; preserve an in-progress merge-forward checkpoint before taking a newer base ([rationale](.agents/notes/implemented/process/2026-08-02-native-github-stacks-and-optional-rebases.md)).
|
|
127
132
|
- **Labels:** one PR `kind/*`, all material `area/*`, and native Issue Type ([taxonomy](.agents/notes/implemented/process/2026-08-08-unified-github-label-taxonomy.md)).
|
|
128
133
|
- TODO markers: `FIXME`/`TODO`/`XXX` by urgency ([semantics](docs/development.md)).
|
|
129
134
|
- Files end with exactly one trailing newline; `git diff --cached --check` (pre-commit) gates it.
|
|
@@ -142,7 +147,7 @@ Docs accompany every code change: update affected README and JSDoc contracts tog
|
|
|
142
147
|
|
|
143
148
|
## Editing these instructions
|
|
144
149
|
|
|
145
|
-
`CLAUDE.md` symlinks `AGENTS.md` at root
|
|
150
|
+
`CLAUDE.md` symlinks `AGENTS.md` at root and `packages/`; edit the real file. Keep each rule self-contained while linking high-level docs. Condense when clarity survives; raise a `verify-doc-budgets` ceiling when the required content genuinely needs more space.
|
|
146
151
|
|
|
147
152
|
## Vendoring policy
|
|
148
153
|
|
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 9f89db3d4502dea4a0d181799164f304d4976740
|
|
6
|
+
README.zh.md: aa66ef1d24a5e2165859e9337273d807dff3d070
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
| 三方声明 | [`THIRD_PARTY_NOTICES.md`](THIRD_PARTY_NOTICES.md) | `THIRD_PARTY_NOTICES.md` |
|
|
15
15
|
| 许可证 | [`LICENSE`](LICENSE) | `LICENSE` |
|
|
16
16
|
| packages 组红线 | [`packages/AGENTS.md`](packages/AGENTS.md) | `packages/AGENTS.md` |
|
|
17
|
-
| examples 红线 |
|
|
17
|
+
| examples 红线 | (alpha.3 上游已移除 `examples/AGENTS.md`,本快照不再收录) | 原 `examples/AGENTS.md` |
|
|
18
18
|
| 包分组总览 | [`packages/README.md`](packages/README.md) | `packages/README.md` |
|
|
19
19
|
| Cordis vendoring 清单与同步流程 | [`vendor/README.md`](vendor/README.md) | `vendor/README.md` |
|
|
20
20
|
| 文档站投影清单 | [`website-docs.ts`](website-docs.ts) | `website/docs.ts` |
|
|
@@ -4,11 +4,17 @@
|
|
|
4
4
|
|
|
5
5
|
DeepSeek Harness(`dsh`)是由 [DeepSeek AI](https://deepseek.com) 开发的开源 agent harness(智能体框架)。
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
它构建于**一切皆插件**的架构之上,由 [Cordis](https://github.com/cordiverse/cordis) 驱动,其设计参见论文 [_A Programming Paradigm for Spatiotemporal Composability_](https://arxiv.org/abs/2608.25512)。
|
|
8
|
+
|
|
9
|
+
文档:[https://deepseek-harness.github.io/deepseek-harness/](https://deepseek-harness.github.io/deepseek-harness/)
|
|
8
10
|
|
|
9
11
|
## 开发者预览
|
|
10
12
|
|
|
11
|
-
DeepSeek Harness
|
|
13
|
+
DeepSeek Harness 处于 _开发者预览_ 阶段,正在快速迭代。**未来将出现破坏兼容性的变更。**
|
|
14
|
+
|
|
15
|
+
运行本项目前,请阅读[安全说明](SAFETY.zh.md)。
|
|
16
|
+
|
|
17
|
+
<a id="run"></a>
|
|
12
18
|
|
|
13
19
|
## 运行
|
|
14
20
|
|
|
@@ -20,7 +26,9 @@ DeepSeek Harness 目前处于 _开发者预览_ 阶段,正在快速迭代。**
|
|
|
20
26
|
npx @deepseek-ai/dsh web
|
|
21
27
|
```
|
|
22
28
|
|
|
23
|
-
|
|
29
|
+
该命令默认会在 `http://127.0.0.1:3080` 启动 Web UI,本机启动时还会用默认浏览器打开页面。通过 SSH 启动时只打印宿主机 URL,因为本地转发地址由 SSH 客户端或编辑器持有。传入 `--no-open` 可仅运行服务器而不打开浏览器。详见 [Web UI 指南](docs/user/guide/index.zh.md)。
|
|
30
|
+
|
|
31
|
+
<a id="run-from-source"></a>
|
|
24
32
|
|
|
25
33
|
### 从源码运行
|
|
26
34
|
|
|
@@ -34,9 +42,11 @@ pnpm run build
|
|
|
34
42
|
pnpm dsh web
|
|
35
43
|
```
|
|
36
44
|
|
|
45
|
+
`pnpm run build` 会准备仓库产物。`pnpm dsh web` 会直接使用这些已构建产物,不会重新构建。
|
|
46
|
+
|
|
37
47
|
## 社区与支持
|
|
38
48
|
|
|
39
|
-
-
|
|
49
|
+
- 通过 [GitHub Discussions](https://github.com/deepseek-ai/deepseek-harness/discussions) 提交反馈或 bug 报告。
|
|
40
50
|
- 为你的插件仓库添加 [`dsh-plugin`](https://github.com/topics/dsh-plugin) 话题,便于被发现。
|
|
41
51
|
- 欢迎加入 DeepSeek Harness 企微群:扫码添加企微小助手并填写入群问卷,完成后小助手会邀请你入群。
|
|
42
52
|
|
|
@@ -50,20 +60,20 @@ pnpm dsh web
|
|
|
50
60
|
</thead>
|
|
51
61
|
<tbody>
|
|
52
62
|
<tr>
|
|
53
|
-
<td align="center"><img src="
|
|
54
|
-
<td align="center"><a href="https://trtgsjkv6r.feishu.cn/share/base/form/shrcnIt5twSVdLGD52KJBckGCgg"><img src="
|
|
55
|
-
<td align="center"><img src="
|
|
63
|
+
<td align="center"><img src="https://cdn.deepseek.com/harness/readme/community-wecom-assistant.png" alt="DeepSeek Harness 企微小助手二维码" width="180" height="180"></td>
|
|
64
|
+
<td align="center"><a href="https://trtgsjkv6r.feishu.cn/share/base/form/shrcnIt5twSVdLGD52KJBckGCgg"><img src="https://cdn.deepseek.com/harness/readme/community-wecom-survey.png" alt="DeepSeek Harness 入群问卷二维码" width="180" height="180"></a></td>
|
|
65
|
+
<td align="center"><img src="https://cdn.deepseek.com/harness/readme/community-wechat-official-account.png" alt="DeepSeek Harness 团队微信公众号二维码" width="180" height="180"></td>
|
|
56
66
|
</tr>
|
|
57
67
|
</tbody>
|
|
58
68
|
</table>
|
|
59
69
|
|
|
60
70
|
## 参与贡献
|
|
61
71
|
|
|
62
|
-
参见 [CONTRIBUTING.md](CONTRIBUTING.md)。
|
|
72
|
+
参见 [CONTRIBUTING.md](CONTRIBUTING.zh.md)。
|
|
63
73
|
|
|
64
74
|
## 开发
|
|
65
75
|
|
|
66
|
-
请先阅读[开发指南](docs/development.md)与[架构文档](docs/architecture.md)。
|
|
76
|
+
请先阅读[开发指南](docs/development.zh.md)与[架构文档](docs/architecture.zh.md)。
|
|
67
77
|
|
|
68
78
|
面向 agent:请遵循 [AGENTS.md](AGENTS.md)。
|
|
69
79
|
|
|
@@ -7,10 +7,10 @@
|
|
|
7
7
|
|---|---|
|
|
8
8
|
| Source checkout | `D:\deepseek-harness` |
|
|
9
9
|
| Source ref | `origin/master` |
|
|
10
|
-
| Source commit | `
|
|
11
|
-
| Synced at (UTC) | 2026-
|
|
12
|
-
| Scope | tracked files at the ref: `docs/`, root `AGENTS.md`, `BENCHMARK.md`, `CLAUDE.md`(symlink
|
|
13
|
-
| File counts | docs/:
|
|
14
|
-
| Pruned this run |
|
|
10
|
+
| Source commit | `dd6322d604e00eec1ba5e0c8541159906a21094a` |
|
|
11
|
+
| Synced at (UTC) | 2026-09-01T15:17:06Z |
|
|
12
|
+
| Scope | tracked files at the ref: `docs/`, root `AGENTS.md`, `BENCHMARK.md`, `CLAUDE.md` (symlink target text), `CONTRIBUTING.md`/`.zh.md`/`.i18n.yaml`, `README.zh.md`/`.i18n.yaml` (the upstream English `README.md` is not in this dir; its snapshot lives in `downloads/github/harness/README.md`), `THIRD_PARTY_NOTICES.md`, `LICENSE`, `packages/AGENTS.md`, `packages/README.md`, `vendor/README.md`, `website/docs.ts` |
|
|
13
|
+
| File counts | docs/: 239 md files (117 .zh.md pairs) |
|
|
14
|
+
| Pruned this run | 17 out-of-scope/upstream-deleted entries |
|
|
15
15
|
|
|
16
16
|
Drift check: `pwsh -File scripts/verify-kit.ps1 -Checkout <checkout>` (tracked files only).
|