gehennawu/dsh-service ↗★ 9

@gehennawu/dsh-service

DSH Web 运维面板:安全重启、健康监控、备份和 Linux 权限维护。 适合需要集中管理会话、备份、自定义渠道及模型配置的运维人员。

パッケージ
@gehennawu/dsh-service
互換性
未検証
バージョン
2.1.1
ライセンス
MIT
最終更新
2026/10/24

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:gehennawu/dsh-service

ドキュメント

README 全文を読む ↗

维护与配置聚合页

维护页

配置页

  • 「维护」集中会话管理、技能、备份维护与重启,并记住最近使用的子页。
  • 「配置」集中功能开关、任务通知与设置栏标签;支持拖拽 / 箭头排序和显隐管理,服务控制入口始终保留。
  • 设置栏标签与额度卡片偏好支持多设备同步,保存在 $DSH_HOME/dsh-service-config.json;各功能配置互不影响。

模型配置

模型配置

  • 「模型配置」包含渠道与模型、子代理路由两个子页,区分内置与自定义渠道。
  • 添加自定义渠道:填写标识、显示名、协议、地址、API Key 与模型 ID;创建不会自动探测接口。
  • 混合协议渠道提示:渠道目录同时含多种协议(如 0.2.1-alpha.3 起 pi-ai 的 azure)时,模板选择与渠道编辑会提示「路由级协议覆盖该路由全部模型」,避免把 Chat Completions 模型钉到 Responses 协议。
  • 渠道编辑:只修改显示名、地址与凭据,自定义渠道可修改协议,内置协议只读。普通用户界面不提供高级渠道参数;未展示的 headers、超时、缓存等字段原样保留,需要时请在 DSH 原生模型设置中修改。
  • 模型获取:可手填 ID,也可点击「在线获取」搜索、勾选并批量添加;支持 OpenAI 兼容与 Anthropic 模型列表。获取失败不影响手动添加,拿到列表不等于调用成功。搜索后「全选」只并集当前可见候选,之前已勾选但不在当前列表的项会单独计数并可一键移除。
  • 模型编辑:修改 ID、显示名、上下文窗口、最大输出、图片输入与思考等级;容量支持 256K、1M。思考档位直接勾选即可;协议值映射收在「协议值映射(高级)」折叠区(勾选档位时同名预填,展开后可改成渠道实际 wire 值),并区分「继承 / 未声明」「明确不支持思考」与「自定义映射」。同渠道 ID 不得重复,已停用模型需启用后改名。
  • 即时启停:停用后主对话与子代理不能发起新调用,配置和密钥保留,已运行请求不强行取消。渠道被默认模型或子代理引用时,停用前先列出受影响引用再确认;无引用时保持一键停用,启用始终一键。该策略随插件卸载撤去。
  • 基础调用测试可能计费:每次测试先展示固定内容、token 上限、超时与计费提示,确认后才发起调用;使用已保存模型,显示耗时和脱敏错误;只验证文本调用,不验证图片、容量或全部思考档位,失败不会回滚配置。
  • 智能填充默认关闭:开启后按模型 ID 查询本机 pi-ai、modelparams.dev 和 OpenRouter 资料;不探测渠道、不发推理、不自动保存。建议按参数展示,「一键填入」确认后只更新草稿,仍需保存。
  • 思考等级需核对:可选档位声明与调用时选择不同;缺少资料不等于不支持,未配置时沿用继承值或接口默认行为。手动填写的档位参数需与实际接口核对。
  • 删除引用检查:先列出主对话默认模型、子代理主模型和回退模型引用,存在引用则阻止删除;自定义渠道不能删到零模型。
  • 恢复与凭据:删除渠道前保存配置快照,删除保留凭据引用;可恢复配置,但不恢复旧密钥值。换密钥默认建立独立引用,替换共享凭据前列出使用者。
  • 草稿与并发保护:保存失败保留草稿,连接中断或宿主重启后按钮会复位并可重试;离开未保存编辑前提醒;配置发生外部变动时拒绝覆盖,重新核对后再保存。草稿不跨刷新保存。
URL 与密钥安全机制
  • 旧宿主缺少可追踪配置 revision 时仅可查看,写操作明确拒绝;配置写入经过 DSH 官方校验与原子保存。
  • 输入或保存地址不会自动出网;在线获取只使用当前 Profile 已保存地址,要求公网 HTTPS、443 端口,拒绝私网、IP 字面量与重定向,并限制超时和响应大小。本地 / HTTP 渠道仍可保存并手填模型。
  • 密钥只经 loopback 保存到 DSH 凭据库,不回显、不写入日志或快照,只发往对应渠道,绝不发往资料站。

🔄 自动重启配置

插件只发送退出信号,不负责拉起进程;没有进程管理器时重启会直接停止 DSH Web。

插件以被动信号(环境变量、/.dockerenv、/proc/1/cgroup、终端 TTY)判断进程管理器:检测到 Docker/systemd/pm2/supervisord/Kubernetes 时照常自动重启;都没有且 stdin/stdout 为交互终端时视为「疑似手动启动」——健康诊断黄色标注、一键升级改为保持运行并提示手动重启。启发式无法覆盖输出重定向、NSSM/WinSW 等场景,可用 DSH_SERVICE_RUNTIME_ENV=managed|manual|desktop 显式声明。

Docker Compose

services:
  dsh:
    restart: unless-stopped

systemd

[Service]
ExecStart=/usr/local/bin/dsh web --host 127.0.0.1
Restart=on-failure
RestartSec=2

pm2

pm2 start "dsh web --host 127.0.0.1" --name dsh-web