dsh-serverchan-bot:把 DSH 会话接到 Server酱³ Bot

前言

在 DeepSeek Harness 里跑 Agent,输出多半留在 Web UI 或本地日志。手机不在电脑前时,定时任务结果、子代理 followup、或你在网页里丢进会话的一句话,往往要事后才能看到。反过来,想用手机随手发一句提示词驱动同一套会话,又要自己拼推送和入站逻辑。

下面介绍社区插件 dsh-serverchan-bot(维护者 Forget1672,分类:联网工具)。它在 DSH 与 Server酱³ Bot 之间搭双向通道:Agent 用工具下行推送到 App;插件按 Bot 轮询或 Webhook 收上行,把聊天文字送进对应 DSH 会话,并在该轮结束时把最后一条文字回复发回聊天。多 Bot 时各自 Token、会话和工作目录可分开配置。

这是什么

插件仓库:Forget1672/dsh-serverchan-bot。package.json 显示当前版本 1.3.4,许可证 MIT,要求 DSH 引擎 ^0.2.2-rc.1。目录页:skillhub.cn 插件条目。

一句话:Bridge DSH sessions with a ServerChan³ Bot——下行用 serverchan_bot 工具,上行由插件驱动会话,并支持问题/批准卡片在聊天里作答、Webhook + cloudflared 辅助、图形化设置页。

核心功能

下行与上行

  • 下行:通过 Cordis 工具 serverchan_bot 的 send 把消息推到 Server酱³ App。
  • 上行:每个 Bot 单独 getUpdates(默认轮询),或切到 Webhook 由 Server酱³ POST 回调;App 里发给 Bot 的文字作为提示词进入该 Bot 绑定的 DSH 会话;该轮结束后 Agent 最后一条文字回复自动发回该聊天。处理中可在 App 显示「正在思考」(typing)。

多 Bot 与会话

每个 Bot 可有独立 Token、chatId、允许的聊天列表、sessionId / sessionTitle、workspaceId 或 cwd。单 Bot 会话 id 一般为 session-sc3bot-<chat_id>;多 Bot 未设 sessionId 时为 session-sc3bot-<bot_id>-<chat_id>。

主动推送与卡片

插件监听 bot 会话的 turn/end:任意来源的回合结束都会把该轮最后一条文字推到聊天(定时任务、其他插件 followup、Web UI 输入等),可用 push: false 关闭。会话里出现问题卡片或工具批准卡片时,可转到聊天作答(questions 默认开);超时 questionTimeoutMs 后转回网页卡片。

接入方式

  • 轮询(默认):长轮询秒数可配(0–30,默认 20)。
  • Webhook:设置页可显示回调地址与 Webhook 密钥,并提供「启动/停止 cloudflared 隧道」;隧道起来后把公网回调填进 App Bot 编辑页。需本机安装 cloudflared(资料提及当前环境为 2026.10.7)。

状态与约束

轮询偏移、会话绑定等写在 profile 下 data/serverchan-bot/state.json;每个 Token 单实例锁。未填 Token 时插件「已加载但未连接」:工具可调用但会提示配置,不会轮询。不同 Bot 不能共用同一 Token(两条轮询会各答一次)。

准备

  1. 登录 https://sc3.ft07.com/ ,在 SendKey 页面记下 uid(即 Bot 的 chat_id)。
  2. 在 Server酱³ App(1.1.0+)里新建或编辑 Bot,复制 Bot Token(形如 123456:AA...),只保存在本机配置。

安装与启用

从 GitHub 安装(README 原文):

plugin_manager  action=install_bundle  target=github:Forget1672/dsh-serverchan-bot
# 或 CLI:dsh plugin --profile web add github:Forget1672/dsh-serverchan-bot

安装后补丁条目 id 为 serverchan-bot。从早期本地包升级时,先 plugin_manager action=remove_bundle target=@local/serverchan-bot,再按上式安装;配置 id 与会话 id 可保留。

图形化配置:设置 → Server酱³ Bot。可增删 Bot、填 Token/chatId、轮询或 Webhook、Workspace、会话字段及各类开关;保存写入 profile 的 cordis.patch.yml,保存后插件自动重启。Token 为只写字段,页面不回显全文。

单 Bot 最小配置示例(也可用具名环境变量 SERVERCHAN_BOT_TOKEN、SERVERCHAN_BOT_CHAT_ID):

- id: serverchan-bot
  name: "dsh-serverchan-bot"
  config:
    token: "123456:AA..."
    chatId: "1234567"
    workspaceId: "d85960f4-79d3-43df-8978-b3db212be50b"   # 可选

多 Bot 时在 config.bots 下逐项配置;bots 非空时以它为准,顶层单 Bot 字段会被忽略。

典型用法

工具 serverchan_bot:

发送消息

{ "action": "send", "text": "构建完成", "bot": "work", "chatId": "5755", "silent": false }

单 Bot 可省略 bot;多 Bot 必须指定 bot。

读收件箱

{ "action": "inbox", "bot": "home", "limit": 20, "drain": true }

查看状态

{ "action": "status" }

在 App 聊天里还可直接发命令(不走模型):/stop 取消当前回合,/new 为该聊天开新会话,/status、/help 查看状态与帮助。

workspaceId 为 Workspace 主键 UUID,可查 ~/.dsh/storages/workspace.json 中 tables.workspaces.<id>;填错会导致上行失败(workspace/not-found)。

适用场景与注意

适合谁:需要在手机上收 Agent/定时任务输出、用手机对话驱动固定 Workspace 会话、或多账号(工作/家庭/只推送告警)分开管理的 DSH 用户。

权限与安全:插件以当前 DSH 进程权限运行,可访问你会话与工作区内的文件与工具。安装前请阅读 源码与 MIT 许可证,自行核对 Token 仅存本机、设置页本机路由需一次性 secret 请求头。

生态说明:DSH 采用「一切皆插件」;SkillHub 目录 为社区站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-serverchan-bot 把 Harness 会话与 Server酱³ Bot 接成可配置的双向通道:工具下行、轮询或 Webhook 上行、回合结束自动回聊,并覆盖多 Bot、卡片作答与 cloudflared Webhook 辅助。细节以仓库 README 为准。

  • 目录页:https://www.skillhub.cn/plugins/Forget1672/dsh-serverchan-bot
  • GitHub:https://github.com/Forget1672/dsh-serverchan-bot
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜