description: "供宿主原生 OS 集成使用的零依赖免 shell execFile 运行器,支持 utf8 标准流捕获、中止传播与 Windows 隐藏控制台窗口。"
English | 中文
dsh-native-command 直接运行宿主可执行文件——绝不拼 shell 字符串——并捕获其 utf8 stdout 与 stderr。调用方的中止信号会终止子进程,在 Windows 上瞬时控制台窗口保持隐藏。失败时调用会以错误拒绝,该错误附带退出码与两路已捕获输出,因此调用方无需重跑即可区分工具缺失、取消与真实失败。宿主侧消费方是原生目录选择器与「用默认应用打开」的交接。它是库而非插件:没有 ctx、无状态、不发事件。
当宿主侧集成需要执行一条原生命令、并需要它的输出或失败信息(或两者兼要)、且绝不能涉及 shell 时,使用本运行器。
import { runNativeCommand } from '@deepseek-ai/dsh-native-command'
declare const script: string
declare const signal: AbortSignal
const { stdout, stderr } = await runNativeCommand('osascript', ['-e', script], signal)
退出码为 0 时,调用解析为捕获到的 stdout 与 stderr。任何失败都会以错误拒绝,错误附带退出 code 与两路已捕获输出,因此调用方无需重跑命令即可区分工具缺失(ENOENT)、取消(ABORT_ERR)与真实的命令失败。
NativeCommandRunner 类型是宿主集成的可注入命令边界:在集成需要一个可测试接缝的位置传入该函数(或其包装层),测试即可替换为假运行器。
当你需要消费方或本工具刻意不属于的通用子进程能力时,阅读以下页面。
无:宿主侧子进程运行器不注册任何面向模型的内容。
此处没有任何内容进入请求前缀;本包既不组装也不发送提供方请求。
这些限制说明本运行器何时不是合适的工具。它们是当前包约束,不是任务积压。
dsh-output-retention 限量。