dsh-guardian 守护程序面板:在 dsh WebUI 中启动、停止并查看两个 macOS LaunchAgent 的状态、日志尾行与明确的失败提示。
安装
# Release 预构建包
dsh plugin --profile web add "https://github.com/bill277048-hash/DSH-guardian/releases/download/v1.0.0/botton-dsh-guardian-1.0.0.tgz"
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:bill277048-hash/DSH-guardian#path:/packages/dsh-guardian
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
在 dsh WebUI 里一键管理 macOS launchd 守护程序:启动、停止、查看运行状态,不用再开终端敲 launchctl。
这是什么
dsh-guardian 是一组守护 DeepSeek Harness(dsh)的 LaunchAgent 巡检脚本(定时健康扫描 + 配置变更侦测)。以前启停它必须在终端手动执行 launchctl bootstrap / bootout,本插件把这套既有逻辑原样封装进 dsh WebUI——不改任何启停逻辑,只加面板。
功能
- 状态总览:双 LaunchAgent(定时巡检 + 变更侦测)的加载状态、运行次数、最近退出码、整体健康度(active / partial / stopped)
- 守护日志尾行:最近扫描记录、失败计数、备份数量,面板上直接看
- 一键启动 / 停止:调用与终端完全相同的
launchctl bootstrap / bootout,先探测再动作再复验 - 明确的异常反馈(12 种状态码全中文提示):
- 重复启动 →「守护程序已在运行中,无需重复启动」
- 停止未运行的守护 →「守护程序当前未在运行,无需停止」
- 启动失败 / 启动后未加载 / 停止失败 / 停止后未卸载 → 各自独立的错误提示与排查建议
- 并发操作 → 409「操作进行中,请稍候」
- 安全围栏:API 仅监听回环地址,校验 Host / Origin / sec-fetch-site,防 DNS rebinding 与跨站调用
设计原则
- 零第三方运行时依赖:纯 Node.js 标准库 + dsh 宿主 API,无需 build 步骤
- 只封装,不改造:启停走系统
launchctl,与手动终端操作完全等价,两者可随时混用 - 幂等防呆:先
print探测、只对需要的 job 动作、完成后print复验;EIO5 竞态容忍(重复 bootstrap / bootout 竞态不误报失败) - 只读状态聚合:读取 guardian 状态目录与日志,绝不写入
安装
从 dsh-market 安装后重载 dsh 即可:
launchctl kickstart -k gui/$(id -u)/com.deepseek.dsh
手动安装(tarball):解包到 profile 的 node_modules/@botton/dsh-guardian/,向 profile cordis.patch.yml 追加:
- insert:
- id: web-ui-guardian
name: '@botton/dsh-guardian'
然后执行上面的 kickstart 重载。
前提
- macOS(launchd 用户域),Node ≥ 22.19,dsh ≥ 0.1.1-rc.1
- 已安装 dsh-guardian 守护脚本(本插件是它的管理面板,不包含守护脚本本身)
卸载
移除 patch 中的 web-ui-guardian 条目并删除 node_modules/@botton/dsh-guardian/,重载 dsh。守护程序本身不受影响。
作者
botton指北 —— 抠门爱折腾的免费党技术博主,公众号「botton指北」。MIT License。
链接
同类插件
Tencent/WeKnora#dsh-weknora★ 34752
把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己带引用的 RAG 或 ReAct agent 回答(含可续聊的 session id)。
superdesigndev/treg★ 5849
给 Agent 的工具目录:按「要做的事」检索约 2,600 个外部接口(SEO 与 SERP、外链、社交、人物与公司信息补全、广告库、抓取),查看参数与单次调用价格后直接调用,凭据由服务端注入。附带技能,MCP 行在未设置 TREG_TOKEN 前保持禁用。
T-Auto/dsh-ops★ 3308
为 Windows 的 DSH 提供 bash、PowerShell 7 及 Rust 高性能工具,减少 token 消耗。
TencentCloudBase/CloudBase-AI-Toolkit#dsh-plugin★ 1140
把腾讯云 CloudBase 后端接入 DeepSeek Harness——在对话里搭好并部署全栈应用,查询结果渲染为表格卡片(分页、排序、导出 CSV),部署后可预览真实域名,并提供 CloudBase MCP 工具集(`mcp__cloudbase__*`),登录走 device-code 流程。
sixtysevenlf/dsh-blender-plugin★ 844
让 DSH agent 通过直连 TCP 通道驱动本地 Blender,提供 16 个工具:视口帧、自定义视角渲染、Python 执行、无头与作业卸载、事务回滚,以及 28 个 family / 186 个 op 的规划层。
anysearch-team/anysearch-dsh★ 570
基于 AnySearch 的实时网页与垂直搜索插件,为 DeepSeek Harness 提供搜索工具。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。