Qidianyan/dshctl

Qidianyan★ 0PythonLast synced: 2026-08-16

Open on GitHub

Command DeepSeek Harness (dsh) from the terminal — sessions, tasks, models, modes, workspaces, approvals over its HTTP API. No web UI needed. Claude Code skill included.

README excerpt

dshctl — 用命令行指挥 DeepSeek Harness(dsh),无需打开网页端 dshctl 是 DeepSeek Harness(dsh)的命令行遥控器:新建会话与工作目录、给 agent 下指令、切换模型与模式(agent preset)、切换权限、查看会话记录、处理审批—— 全部在终端完成,不用打开浏览器 。附带一个 Claude Code Skill,让你在 Claude Code 会话里用一句话直接指挥 dsh。 社区项目,与 DeepSeek 官方无关联。dsh 是 DeepSeek AI 的开源 agent harness(MIT)。 这是什么?具体是怎么工作的? dsh 的 Web UI( dsh web 启动,默认 http://127.0.0.1:3080 )只是一个浏览器壳:Host 进程本身暴露了完整的 HTTP API,网页端的每个按钮背后都是一次 RPC。dshctl 直接调用这套 API,把网页端的全部能力搬进终端: - RPC : POST /api/ ,请求体 {"type":"client-request","rpcId","method","payload"} ,响应 {"result":{"ok":true,"value" "error"}} 。约 50 个方法覆盖会话、工作区、模型、模式、设置、凭证等(见 dsh 源码 packages/host/apiproxy/src/api/rpc-map.ts )。 - 事件流 : ws:// /api/events.mux (下行专用)推送会话事件、工具调用、待审批请求;审批应答走 POST /api/respond 。 - 安全模型 :API 默认只监听 loopback,无 token(浏览器同源信任 + content-type 防线);部分敏感方法(凭证、设置)额外只允许 loopback 调用。dshctl 只在本机使用。 组成(全部零第三方依赖): 文件 说明 dshctl Python 3 单文件 CLI(仅标准库 urllib), 600 行 watch.mjs Node ≥21(全局 WebSocket)实时事件流/待审批探测 SKILL.md Claude Code 用户级 Skill(教 Claude 用 dshctl 指挥 dsh) install.sh 一键安装(拷贝 skill + 建 PATH 链接) 前提要求 - 正在运行的 dsh: npx @deepseek-ai/dsh web (或从源码 pnpm dsh web ),默认地址 http://127.0.0.1:3080 ;自定义地址用环境变量 DSH URL 覆盖 - Python 3.9+(macOS/Linux 自带) - Node.js 21+(仅 watch / …

View full README on GitHub →
Terminal / TUIagent-toolsclaude-skillsclideepseekdeepseek-harnessdshdsh-pluginterminal

Category