← 返回列表
⚠ 装前注意
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 副本)—— 无需其他配置。