Files
deepseek-harness/packages/sdk/scripts/README.zh.md
2026-07-26 05:06:39 +08:00

3.3 KiB
Raw Blame History

@deepseek-ai/dsh-scripts

English | 中文

dsh-sdk 启动器负责 SDK 项目启动与配置。

命令 行为
dsh-sdk start [target] [-- args…] 导入模块目标并调用 main(bootContext);省略目标时启动 cordis.yml-- 后的参数原样转发
dsh-sdk dev [target] [-- args…] 注册 TypeScript 与本地工作区源代码解析,然后进入 start 路径
dsh-sdk build [args…] 使用项目参数调用项目已安装的 tsdown
dsh-sdk config 打开一个交互式编辑会话审阅累计变更统一提交一次NPM 依赖变化时只安装一次
dsh-sdk create <source> 从原生包管理器来源(pkg@versiongithub:owner/repo#ref)添加外部 Cordis 插件:确认后执行 <pm> add <source>,再将解析出的依赖挂载到 cordis.yml。不使用 gigetpacote由包管理器解析并固定来源GitHub 依赖会在管理器策略下通过自身 prepare 构建)

ProjectBuild(tsdownConfig)PluginBuild(tsdownConfig) 只从 @deepseek-ai/dsh-scripts/dev/tsdown-config 导出。开发环境与生产环境读取同一个 cordis.yml

生成项目的脚本通过 dsh-sdk 执行 dev、build、start 和 config类型检查直接运行 tsc -b。HMR 始终是显式的 cordis.yml 功能,并由 dev 与 start 同时加载。

运行时库导出 startSDK(source),用于加载 .envcordis.yml 并返回活跃上下文;还导出 runSDK(target),用于导入项目模块并调用其 main(bootContext)(不带目标的 runSDK() 会委派给 startSDK('./cordis.yml'))。SdkBootContext 携带原样转发的 argv、通用 args、启动器的绝对 cwd,以及 startdev 模式。启动器不声明项目选项Node parseArgs() 使用空 schema 运行,因此带值的标志写作 --key=value,裸标志变为布尔值,--no-cache 变为 args.cache = false,选项名称保留 Node 的拼写(--max-depth=3args['max-depth'])。

start 绝不构建。dev 注册项目已安装的 tsx 转换,并建立从 plugins/*/package.json 中的精确包名到各自 src/index.ts 的映射,然后沿用相同的 start 路径。build 调用项目已安装的 tsdown 并转发其参数;缺少 tsdown 配置时视为成功且不执行操作。

config 要求 TTY。一个功能树用于选择期望的启用集合变更行会高亮Right 用于修改有限功能选项,必填行无法取消选择,不一致行会显示诊断,自定义/手动 Cordis 配置项支持启用禁用。工作流会将该目标协调到一个编辑会话中。Review & Apply 只提交一次;之后,如果 NPM 依赖有变更,则触发一次包管理器安装。安装失败不会撤销已提交文件。

根库导出 startSDKrunSDK 以及 SdkBootArgsSdkBootContext 类型;命令组合仍由 bin 私有持有。不导出 src/*、bin 或 package-manifest 子路径。

模型体验

通过项目 cordis.yml 树间接提供;该树由 startdev 加载。

KV Cache 影响

不会直接失效;由具名消费方负责请求前缀变更。

已知限制与暂缓工作

  • 启动器参数没有 schemastartdev 会保留 Node parseArgs() 输出,而不会验证项目专用标志。