🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

SKzrui/DSH-CLI

DeepSeek Harnessspec-screened扫描:中风险在 GitHub 查看 ↗
⚠ 装前注意

DSH-CLI dcli — 一个用于 DeepSeek Harness 的简洁 CLI

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/9/1 · 已提供中文文档

DSH‑CLI:轻量命令行,流式输出、工具调用、按目录恢复会话,密钥与模型灵活配置,一条命令对话 DeepSeek Harness。 | Lightweight CLI for DeepSeek Harness – streaming, tool calling, per‑dir session recovery, flexible config. Start with one command.

综合分
29.3
GitHub 分
29.3
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add SKzrui/DSH-CLI
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
信任档位:已验证本站已于 1 天前真实安装成功
是什么
dsh 原生插件 · ui
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 24 天前

档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →

🟢实装验证通过· 2026/9/25
由本站实装验证器在真实 dsh 环境安装成功,非静态推断。
数据截至 2026/9/23(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✗npm 包@harmattan666/dcli(未发布到 npm,仅可源码安装)
✓Node 引擎要求 >=20 · 基线 Node 22.19 满足
✓dsh CLI 依赖要求 >=0.1.1-rc.2 · 最新 ? 兼容
✓入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/23 08:34:58

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
DSH-CLI (dcli) — 一个用于 DeepSeek Harness 的简洁 CLI

DSH-CLI是一款简洁的命令行工具,可在终端内与 DeepSeek Harness 对话:一条命令即可启动,无需部署服务、无需占用端口。支持流式输出、工具调用、按目录独立恢复会话,同时支持 API Key 与模型参数配置。

dcli 是一款简洁的命令行工具,可在终端内与 DeepSeek Harness 对话:
一条命令即可启动,无需服务器,无需端口,用完即走。
支持流式回复、工具调用、按目录独立恢复会话,以及
API Key / 模型配置。

它是 Harness 自身 profile 系统之上的一层轻量启动器:它在 $DSH_HOME/profiles
下维护一个 cli profile(捆绑 dsh-base + dsh-headless),
并注入一个小型交互式运行器插件(runner/runner.js),驱动
一个 Agent 跨多轮对话,从而使会话状态、工具结果和
模型的请求前缀在消息之间保持热态。

功能特性

- 交互式 REPL — 每个进程一个活动 agent;流式回复,真正的
多轮连续性(工具状态和模型的 KV 缓存保持热态)。
- 流式输出,并实时展示 agent 正在做什么 — 思考过程
(暗色)、工具调用(⚙ write …)、工具结果(✔)、轮次状态。
- Markdown 美化 — 表格渲染为对齐的带边框网格
(支持 CJK),bold / italic /  code  / strike /
links 获得 ANSI 样式,标题加粗,项目符号和任务列表
获得美观的标记,块引用变暗,代码围栏原样
透传。使用 DCLI_FORMAT=0 禁用;在管道输出时使用
DCLI_FORMAT=1 强制开启。
- 蓝色 ASCII 鲸鱼横幅,在 TTY 上带有动画喷水效果。
- 按目录独立恢复会话 — dcli -r / -c / --resume  重新打开
当前目录中的上一次对话并保留完整上下文;dcli
--list 显示最近的会话;全新启动的 dcli 会主动提供恢复选项。
- 一次性脚本 — dcli "task" 回答后退出(退出码反映
轮次结果);dcli -c "task" 继续最近的会话。
- 交互式权限 — 需要批准的工具调用会直接在终端中询问
Allow ? [y/N]。
- 中断处理 — Ctrl+C 取消当前轮次,连按两次强制退出;
在提示符处按 Ctrl+C/D 干净退出;管道 EOF 干净退出。
- 完整的 harness 工具集 — 文件读/写/编辑/搜索、PowerShell、bash、
子 agent、技能、网络搜索、目标、计划模式……与 Web GUI 完全一致。
- 无额外依赖 — 仅使用 Node 内置模块 + 现有的
@deepseek-ai/dsh 安装;无需获取任何 npm 包。

环境要求

- Node.js >= 20
- DeepSeek API key(通过 dcli config set-api-key ,或
DEEPSEEK_API_KEY 环境变量,或 $DSH_HOME/.credentials.yaml)。
- @deepseek-ai/dsh — 作为 dcli 的依赖自动安装;也可以
已经安装(全局或在当前目录的 node_modules 中),
dcli 会找到它。

安装

方式 1:npm(推荐 — 一条命令安装 dcli + dsh 运行时)
npm install -g @harmattan666/dcli

方式 2:从源码安装
git clone https://github.com/SKzrui/DSH-CLI.gitmarkdown
cd DSH-CLI
npm install        # 自动拉取 @deepseek-ai/dsh
npm link           # 将 dcli 命令添加到 PATH

配置你的 API 密钥即可开始
dcli config set-api-key sk-...
dcli

无需其他设置:启动器在每次运行时都会自愈配置文件
(复制运行器、写入缺失的 manifest/patch 文件)。已经安装了 dsh
(全局或本地)的机器也能直接使用 —— 启动器会依次搜索
全局前缀、~/node_modules、当前目录的 node_modules,以及
每一级祖先目录。

用法
powershell
dcli                          # 交互式会话(会询问是否恢复此目录中
最近的对话)
dcli -r, --resume             # 恢复此目录中最近的会话
dcli -r , --resume    # 恢复指定的会话
dcli -c, --continue           # 继续最近的会话,不进行提示
dcli --list                   # 列出此目录中的最近会话
dcli "fix the failing test"   # 一次性:回答后退出(可脚本化)
dcli -c "continue the work"   # 一次性:在最新会话中运行任务

配置 —— dcli config 写入的文件与 Web GUI 的 Models
页面使用的文件相同($DSH_HOME/.credentials.yaml + settings.yaml):
powershell
dcli config                           # 显示 provider/model/api-key/endpoint
dcli config set-api-key          # 存储 DeepSeek API 密钥
dcli config unset-api-key             # 移除已存储的密钥
dcli config set-base-url         # 自定义 API 端点(内网代理等)
dcli config unset-base-url            # 将端点重置为默认值
dcli config set-model  [--provider ] [--reasoning off|high|max]
dcli config list-models               # 可用模型(deepseek-v4-flash/pro)

内网 / 自定义端点:如果机器无法访问
api.deepseek.com(例如处于仅允许内部中继的内网中),
可将 dcli 指向内部代理 —— 要么持久化设置
powershell
dcli config set-base-url http://10.0.0.5:8080/deepseek

要么在 REPL 中使用 /base-url  为每个会话临时设置一次。
端点按请求读取,因此会应用于下一条消息。
DEEPSEEK_BASE_URL 环境变量同样有效(优先级低于
已存储的值)。

会话按目录持久化在 $DSH_HOME/sessions 下,因此在项目中执行
dcli -c / dcli -r 会精确恢复该项目的对话 ——
随时退出,稍后继续,上下文完好无损。

交互式命令:

| 命令                          | 含义                                                      |
| ----------------------------- | --------------------------------------------------------- |
| /help                       | 显示此列表                                                |
| /sessions                   | 列出此目录中的最近会话                                    |
| /resume                 | 切换到另一个会话                                          |
| /new                        | 开始一个新会话                                            |
| /apikey                | 立即保存 DeepSeek API 密钥                                |
| /model                      | 显示可用模型 + 当前选择                                   |
| /model pro                  | 实时切换模型(模糊匹配;无需重启,保留上下文)            |
| /reasoning  | 实时设置推理强度                                          |
| /session                    | 打印会话 id(用于 --resume)                            |
| /clear                      | 清屏                                                      |
| /quit                       | 退出(在空提示符下按 Ctrl+C 也可)                        |

提示符支持 shell 风格的编辑:↑/↓ 浏览命令历史,
←/→ 移动光标,Home/End,Backspace/Delete。历史记录
按会话保存,最多 200 条。

当 agent 轮次正在运行时,Ctrl+C 会中断它;再按一次 Ctrl+C
会强制退出。当工具调用需要权限时,dcli 会直接在终端中询问
Allow ? [y/N]。

工作原理

1. bin/dcli.js 解析 dsh 启动器,并确保 cli profile
存在于 $DSH_HOME/profiles/cli 下(manifest、patch 层、runner 副本)。
2. 它启动 dsh --profile cli 。
3. 该 profile 启动 dsh-base(agent、session、tools、sandbox、approvals、
persistence 等)以及 dsh-headless 编码包(persona、tool mode、
code runtime),并禁用一次性的 headless-runner。
4. runner/runner.js 创建一个 Agent(ctx.agents.create),然后循环:
读取一行 → agent.followup(userMessage) → agent.whenIdle() →
sessions.flush()。实时的 session/event 追加会渲染流式的
assistant/chunk、tool/call 和 tool/result;runner 还会以交互式 y/N 提示
响应 approval/request 瀑布流。

布局

bin/dcli.js       launcher (resolve dsh → self-heal profile → spawn)
runner/runner.js  interactive runner plugin (copied into the profile dir)
install.ps1       convenience installer (npm link)

注意事项 / 限制

- 会话持久化在 $DSH_HOME/sessions 下,按项目目录分组;
dcli -c / -r / --resume  会以完整上下文重新打开它们。
- 一次性模式只打印最终答案(无流式 UI),因此可以干净地通过管道传递:
dcli "list the files" | Out-String。
- ANSI 颜色仅在 TTY 上使用(可通过 NO_COLOR=1 禁用)。
- DSH_HOME 可覆盖 profile 和会话的存放位置。
- 如果你的 PowerShell 阻止 npm 的 .ps1 shim(执行策略),请改为调用
dcli.cmd —— 行为完全相同,无需更改策略。
- 首次运行会自行初始化 $DSH_HOME/profiles/cli(manifest、patch
层、runner 副本)—— 无需其他配置。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群