1.6 KiB
1.6 KiB
Bash (dsh-bash)
Bash 命令执行接口。
接口包: @deepseek-ai/dsh-bash
实现: @deepseek-ai/dsh-bash-local
消费者: @deepseek-ai/dsh-tool-bash(内置于 agent-core)
Bash Service
ctx.bash.execute(request)
- request:
BashRequest - 返回值:
Promise<BashResult>
执行一个 bash 命令。
BashRequest
interface BashRequest {
/** 要执行的命令 */
command: string
/** 工作目录 */
workdir?: string
/** 超时时间 (ms) */
timeoutMs?: number
}
BashResult
interface BashResult {
/** 退出码 */
exitCode: number
/** stdout 输出 */
stdout: string
/** stderr 输出 */
stderr: string
/** 是否超时 */
timedOut: boolean
}
配置 (dsh-bash-local)
interface Config {
/** 命令超时时间,默认 120000 (2 分钟) */
timeoutMs: number
}
在 cordis.yml 中:
- name: '@deepseek-ai/dsh-bash-local'
config:
timeoutMs: 60000
模型可用的 Tools
dsh-tool-bash 向模型暴露以下 tools(由 agent-core 捆绑):
| Tool | 说明 |
|---|---|
bash |
执行命令(同步,等待完成) |
bash_output |
获取后台命令的输出 |
bash_kill |
终止后台命令 |
设计模式
Bash 是 Harness 的"能力三件套"典型案例:
dsh-bash(接口):定义ctx.bash和BashRequest/BashResult类型dsh-bash-local(实现):通过child_process.spawn在本地执行dsh-tool-bash(消费者):将能力包装为模型可调用的 tool
换一个沙箱执行器只需替换 dsh-bash-local,接口和 tool 不变。