前言¶
在 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(兩條輪詢會各答一次)。
準備¶
- 登錄 https://sc3.ft07.com/ ,在 SendKey 頁面記下 uid(即 Bot 的
chat_id)。 - 在 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