dshx 是做什么的?
使用 dshx 作为上游 dsh --profile headless 运行时的机器边界。确保任务有界,并显式指定工作区。
就绪检查
运行:
dshx doctor --json
在委托付费/模型工作之前,要求 node_supported、dsh_available 和 api_key_present 必须为 true。绝不要打印凭据值。
如果 dshx 缺失,请解释固定安装命令,并仅在用户授权后运行:
npm install -g @hfshfg/[email protected]
委托一个任务
优先使用标准输入,这样任务文本不依赖于 shell 引号:
dshx run --stdin --cwd ./workspace --timeout 1800000 --json
通过管道或重定向将任务输入到标准输入。对于长度超过 24,000 字符的指令,在授权的工作区中写入源材料,然后发送一个引用该文件的简短任务。
根据任务选择适当的超时时间。对于正常编码工作,保持默认的 30 分钟;对于诊断任务,使用更短的时间限制。除非用户明确要求持久执行,否则不要设置无限制的超时。
解释结果
ok: true,reason: completed:返回或总结text并报告duration_ms。reason: failed:报告上游退出代码和简洁的诊断信息。reason: timeout:说明进程树已在声明的边界处终止;不要声称任务已完成。reason: output_limit:缩小任务范围或要求 DSH 在工作区中写入结果文件。- 退出代码 2 表示本地参数/输入错误;在重试之前修复调用。
将标准输出视为结果通道,标准错误视为诊断信息。不要解析 ANSI 或旋转动画输出;dshx 会从机器结果中移除它们。
边界
- 仅在用户授权的工作区内委托工作。
- 不要在任务文本、argv 或输出摘要中包含 API 密钥或其他机密。
- 不要使用
dsh web进行代理间委托;它是面向人类的浏览器用户界面。 - 在将 DSH 更改和测试证据呈现为完整之前,进行审查。
- 请记住,DeepSeek Harness 是开发者预览版,dshx 0.2.1 固定使用
@deepseek-ai/dsh0.1.0-rc.6。