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

ThzxxArt/dshctl

DeepSeek Harnessspec-screened扫描:无法判定在 GitHub 查看 ↗
需源码安装

DeepSeek Harness dsh 安装 · 运维 · 清理 一体化脚本

暂不能直接安装(需源码编译或环境不满足):仓库缺少 package.json,无法用 dsh 插件安装命令安装。 · 最近上游提交 2026/9/18 · 已提供中文文档

DeepSeek Harness (dsh) 安装 · 运维 · 清理 一体化脚本

综合分
30.6
GitHub 分
30.6
用户评分
—
★ Stars
1
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add ThzxxArt/dshctl
仓库缺少 package.json,无法用 dsh 插件安装命令安装,改用 GitHub 源安装
信任档位:已验证本站已于 2 天前真实安装成功
是什么
dsh 原生插件 · market
装得上吗
本站已真实安装成功(非静态推断)
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 7 天前

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

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

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

✗npm 包dshctl(未发布到 npm,仅可源码安装)
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✗入口文件缺少入口声明

仓库缺少 package.json,无法用 dsh 插件安装命令安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/21 01:59:09

用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

由 DeepSeek 最新模型翻译生成
dshctl

DeepSeek Harness(dsh)安装 · 运维 · 清理 一体化脚本

CI
Release
License: MIT
Platform

dshctl.sh 是一个零依赖的单文件 Bash 脚本:从官方源码安装
DeepSeek Harness,并覆盖之后的日常运维——
状态体检、服务控制、插件管理、模型配置排障、数据备份、版本回退与彻底卸载。

一条命令完成安装(源码 + 依赖 + 构建 + 启动器)
bash dshctl.sh --install -y --api-key sk-xxxx
之后
dshctl --status / --doctor / --restart / --logs

[!IMPORTANT]
本项目是社区维护的非官方工具,与 DeepSeek 官方无关联。
dsh 本体处于开发者预览阶段,版本间可能存在破坏性变更;
相关上游问题请提交到 deepseek-harness issues。

为什么需要 dshctl

从源码运行 dsh 需要一连串容易出错的步骤:Node.js 版本匹配、Corepack/pnpm 激活、
克隆与更新源码、安装依赖、构建、写 .env、管理服务进程。国内网络下还要处理 GitHub / npm 的连通性。

dshctl 把这些收敛为一条命令,并且刻意做成可反复执行的:
源码未变化时跳过重复 install/build,升级前自动备份运行数据,失败时打印日志定位行号。

特性

- 一条命令安装:环境检查 → Node.js(nvm 优先,官方二进制兜底)→ pnpm(Corepack)→
克隆源码 → 安装依赖(含 lefthook 自愈)→ 构建 → 写 .env → 安装 dsh 启动器。
- 网络友好:代理自动探测(7890/7891/7897/1080 等)、GitHub 镜像、npm/Node 镜像自动回退;
未显式指定代理时不会偷偷写入 git 配置。
- 增量与安全:源码未变化自动跳过 install/build;升级前自动备份 ~/.dsh;
所有破坏性操作需确认,均支持 --dry-run 预览。
- 运维闭环:--status / --doctor / --start|--stop|--restart|--logs,可选 systemd --user 常驻。
- 插件管理:profile 级增删改查,pnpm 11 供应链策略(minimumReleaseAge)的审计、等待时间预估与锁文件重建。
- 模型排障:针对 dsh 0.1.6+ 的 Messages 协议变化,检查/修复非法的 DEEPSEEK_BASE_URL 配置。
- 数据维护:备份、恢复、旧会话归档、可重建缓存清理,全部带自动备份。
- 版本管理:升级检查、一键回退到上一次成功安装的版本、备份清单与保留策略。
- 可脚本化:-y 全自动模式,非交互环境行为明确;退出码与日志(~/.dshctl.log)可被 CI/运维系统消费。

环境要求

| 项目 | 要求 |
| --- | --- |
| 操作系统 | Linux、macOS、WSL(x86_64 / arm64) |
| Shell | Bash 3.2+(macOS 自带版本可用) |
| 必备命令 | bash git(≥2.26)curl tar |
| Node.js | 22.19+ 或 24+;不满足时脚本会自动安装 |
| 磁盘 | 建议 ≥5 GB 可用(源码 + node_modules + 构建产物) |

可选命令:xz(解压 Node 包)、flock(并发锁,缺失时用目录锁兜底)、
ss/lsof/fuser(识别端口占用)、systemctl(systemd --user 服务)。

快速开始

安装

方式一:克隆仓库(推荐,便于后续更新脚本)
git clone https://github.com/ThzxxArt/dshctl.git
cd dshctl
bash dshctl.sh --install -y --api-key sk-xxxx

方式二:只下载脚本
curl -fsSL -o dshctl.sh https://raw.githubusercontent.com/ThzxxArt/dshctl/main/dshctl.sh
bash dshctl.sh --install -y --api-key sk-xxxx

安装完成后注册全局命令,之后可以直接使用 dshctl:

bash dshctl.sh --register
dshctl --status

首次使用

1. 打开启动器输出的地址:http://127.0.0.1:3080(带 token 的完整地址可用 dshctl --url 查看);
2. 「设置 → 模型」填入 DeepSeek API Key 并保存(热生效,无需重启);
3. 点击「选择工作区」,添加并选中一个项目目录;
4. 在会话输入框开始对话。

更新与卸载

bash dshctl.sh --install          # 更新到上游最新(自动跳过无变化的构建)
bash dshctl.sh --upgrade-check    # 只检查上游是否有新版本bash
bash dshctl.sh --rollback         # 回退到上一次成功安装的版本
bash dshctl.sh --uninstall        # 部分卸载(保留源码与运行数据)
bash dshctl.sh --purge -y         # 完全卸载(自动备份 ~/.dsh 后清理)

命令速查

| 类别 | 命令 | 说明 |
| --- | --- | --- |
| 安装 | --install | 安装 / 更新(--dir --ref --shallow --clean --force-update) |
| 状态 | --status --doctor | 安装/服务/端口状态;环境与网络体检(只读) |
| 服务 | --start --stop --restart --logs | 前台/后台服务控制,--logs --last N 看最近日志 |
| 插件 | --plugin-list / --plugin-add / --plugin-remove / --plugin-update | profile 级插件管理(默认 web,可 --profile) |
| 插件策略 | --plugin-repair --plugin-policy --plugin-policy-set N --plugin-policy-reset | pnpm minimumReleaseAge 拦截排障 |
| 模型 | --model-show --model-check --model-fix --model-set-base URL | 0.1.6+ Base URL 规范检查与修复 |
| 数据 | --data-backup --data-restore FILE --data-archive-sessions --data-prune | 备份 / 恢复 / 旧会话归档 / 缓存清理 |
| 版本 | --rollback [REF] --upgrade-check | 回退与升级检查 |
| 访问 | --url --web-lan --trusted-host HOST | 打印带 token 的地址;局域网访问 |
| 备份管理 | --backups-list --backups-prune [N] | 列出 / 清理 dshctl 产生的备份 |
| 网络 | --git-proxy URL --github-mirror URL --npm-mirror URL --node-mirror URL --no-proxy --no-mirror | 代理与镜像控制 |
| 卸载 | --uninstall --purge --register --unregister | 部分/完全卸载;全局命令注册 |
| 通用 | -y --dry-run --log FILE -V -h | 非交互、预览、日志与帮助 |

完整选项以 bash dshctl.sh --help 为准;场景化用法见 docs/usage.md。

环境变量

所有配置项均可通过环境变量提供(命令行参数优先):

| 变量 | 默认值 | 说明 |
| --- | --- | --- |
| DSH_REPO_URL | 官方 GitHub 仓库 | 源码仓库地址 |
| DSH_REF | master | 分支 / tag / commit |
| DSH_DIR | ~/deepseek-harness | 源码目录 |
| DSH_NODE_MAJOR | 24 | 自动安装的 Node.js 主版本 |
| DSH_PNPM_FALLBACK | 11.7.0 | 无法从仓库读取 pnpm 版本时的兜底 |
| DSH_HOME | ~/.dsh | dsh 运行数据目录 |
| DSH_PORT / DSH_HOST | 3080 / 127.0.0.1 | Web UI 监听 |
| DSH_API_KEY / DSH_BASE_URL | 空 | 写入 .env / settings.yaml |
| DSH_GIT_PROXY / GIT_PROXY | 空 | HTTP 代理(也读取 https_proxy) |
| DSH_GITHUB_MIRROR | 空 | GitHub 镜像加速 |
| DSH_NPM_MIRROR / DSH_NODE_MIRROR | 空 | 留空则自动探测 |
| DSH_LOG_FILE / DSH_LOG_MAX_MB | ~/.dshctl.log / 5 | 日志与轮转阈值 |

文件与目录

| 路径 | 内容 |
| --- | --- |
| ~/deepseek-harness | dsh 源码与构建产物(--dir 可改) |
| ~/.local/bin/dsh | dsh 启动器(由 dshctl 生成) |
| ~/.local/bin/dshctl | 全局命令软链(--register 后) |
| ~/.dsh | dsh 运行数据:会话 / 凭据 / 设置 / 插件 profile |
| ~/.local/state/dsh | 服务状态:web.pid web.log port 安装版本记录 |
| ~/.dshctl.log | dshctl 操作日志(轮转保留 .1) |
| ~/.local/share/dsh/web-lan.patch.yml | 局域网访问补丁(--web-lan 时生成) |
| ~/.config/systemd/user/dsh.service | systemd --user 单元(--systemd 时生成) |

安全说明

- 局域网访问:--web-lan 会把可执行命令的 Web UI(无登录鉴权)暴露给同网段设备,仅限可信网络;
且 dsh 的「设置 / 模型 / 凭据 / 插件配置」页面按设计只在本机(loopback)访问时可用。
- 密钥与凭据:.env 写入后权限为 600;备份文件同样为 600;脚本不会向任何第三方上报数据。
- 插件即代码:安装插件等于引入可执行代码(--plugin-add 会显式警告),请确认来源可信。
- 危险操作防护:删除路径有系统级防护(拒绝 /、$HOME、顶层目录),卸载/恢复/归档均需确认。
安全问题请按 SECURITY.md 的流程私下报告。

常见问题

- 安装失败 / GitHub 或 npm 不可达 → docs/troubleshooting.md
- 升级后旧会话发不出消息 → dshctl --data-archive-sessions
- dsh 启动报 .env 中的 DEEPSEEK_BASE_URL 非法 → dshctl --model-fix
- 插件安装被 pnpm 供应链策略拦截 → dshctl --plugin-policy / --plugin-repair
- 端口被占用(WSL 镜像网络下可能是主机/其他发行版)→ dshctl --doctor 或 --port

开发与贡献

欢迎提交 Issue 与 PR,参与前请阅读 CONTRIBUTING.md 与
CODE_OF_CONDUCT.md。本地检查:
bash
make check     # bash -n + shellcheck(--severity=warning)+ 测试套件
make test      # 仅运行 tests/

项目结构与代码地图见 docs/development.md。

许可证与致谢

本项目基于 MIT 许可证 开源。
DeepSeek Harness 为 DeepSeek 官方项目(MIT);
dshctl 与官方无关联,仅是社区维护的安装与运维工具。

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

💬 加入社群

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

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