MICRO-MULTI / DOCSView source ↗

deepseek-harness(dsh)插件指南

Micro-Multi 兼容 dsh Cordis Host 插件体系,使用 @deepseek-ai/cordis@4.0.4、@deepseek-ai/dsh-tools@0.2.0-rc.1 和 @deepseek-ai/dsh-system-prompt@0.2.0-rc.1。插件通过 Context.plugin() 加载,工具通过 dsh ToolRuntime.execute() 校验和执行。插件工具同时供主 Agent 与子 Agent 使用。

加载插件

在“设置 → 扩展”选择已构建的本地插件目录,或让 Agent 使用 plugin_manager 的 install 动作。仓库中的 examples/native-cordis 注册计数服务、工具和事件,可直接用于体验。对同一工作区重复调用可以观察状态累积;不同工作区使用独立实例。

插件包包含 package.json,声明 @deepseek-ai/cordis 或 cordis 依赖,并提供本地 main / exports 入口。先安装插件依赖并构建为 ESM/CJS JavaScript;Node 支持的可擦除 TypeScript 入口也可加载。

多个入口可通过包内配置声明:

{
  "name": "my-dsh-plugin",
  "type": "module",
  "microMulti": {
    "cordis": {
      "plugins": [
        {"entry": "counter.mjs", "config": {"start": 10}},
        {"entry": "tool.mjs"}
      ]
    }
  }
}

单个入口使用 microMulti.cordis.entry 和 config。入口位于包目录内,依赖与构建产物随插件准备好。

宿主接口

宿主提供 tools、systemPrompt 和 microMulti 服务。microMulti.workspace 是工作区路径,microMulti.pluginRoot 是插件源目录。插件可以注册自己的服务,并使用 Cordis 的函数、对象或类插件、配置校验、依赖注入、事件与 effect 清理机制。以这些宿主接口声明插件依赖。

工具参数由 dsh 工具运行时校验,执行结果以结构化内容返回。正常禁用、重装、卸载和后端退出时调用 dispose。状态在包与工作区对应的进程内保留,重新启动后初始化。

运行与权限

每个包和工作区使用独立 Node 进程,工具调用在实例内串行执行,不同实例可以并行。启动和调用有硬超时,超时后终止实例;下一次明确调用创建新宿主。插件日志按工作区保存并限制大小。

插件以当前用户的系统权限运行。加载和调用遵循工作台的命令权限与操作审批;安装前检查插件来源与代码。桌面包使用内置 Electron Node,源码模式使用 Node.js 24+,也可通过 MICRO_MULTI_NODE 指定运行时。

框架源码与接口说明见 deepseek-harness。