前言¶
在 DeepSeek Harness(DSH)裏跑 Agent,常見入口是桌面或 Web 對話。若要把同一套助理接到 LINE 官方賬號,需要自己處理 Messaging API 的 webhook、簽章驗證、公網可達地址,還要決定每條 LINE 消息如何映射到 DSH 的 session 與 Agent 回合。自行搭 nginx 反代、證書與回調腳本,步驟多且容易和 DSH 進程生命週期脫節。
下面介紹社區插件 dsh-line-bot(維護者 Hanson0901,GitHub 倉庫 Hanson0901/dsh-line-bot,SkillHub 分類爲聯網工具)。它在本機起 webhook 服務,可選 Cloudflare Tunnel 暴露 HTTPS,在同一個 DSH 進程內用 Agent 生成回覆,並在「設定 → LINE Bot」提供完整配置面板。
這是什麼¶
dsh-line-bot 是把 LINE 官方賬號(Messaging API)接入 DSH 的 bundle 插件。用戶通過 LINE 發消息,插件驗章、排隊、映射到 per-user(或 per-group)的 DSH session,調用 agents.create / agents.resume 與 followup,再把 assistant 文本通過 LINE reply 或 push 送回。
人設有兩種來源:已安裝大肥魚外掛 dsh-persona-dafeiyu 時可在面板選擇其人設;未安裝時也可僅使用插件內建自訂人設(存於 personas.json),不依賴其他個性外掛。當前 package 版本爲 0.10.5,許可證 MIT。
核心功能¶
Webhook 與隧道¶
- 在本機
127.0.0.1啓動 HTTP server,處理 LINE 的X-Line-Signature驗章、事件去重、每位使用者各自的隊列。 - Cloudflare Tunnel:可一鍵 quick tunnel(
*.trycloudflare.com,無需 Cloudflare 賬號),或粘貼 API Token 建立具名隧道與 DNS,取得固定網址;隧道就緒後會自動把 webhook 端點寫回 LINE 並執行webhook/test。
LINE 憑據¶
在面板填寫 Channel ID 與 Channel Secret 即可自動簽發 access token(/v2/oauth/accessToken,約 30 天,臨近到期自動續簽);也可直接粘貼既有 Channel Access Token。
說明:LINE 自 2024-09 起 Messaging API channel 須在 LINE Official Account Manager 手動建立,插件不代建 bot,但會給出入口鏈接,並在拿到 Channel ID / Secret 之後自動化簽發 token、設置 webhook 與測試。
對話與回覆行爲¶
- 分段回覆:可按空行(段落)或換行拆成多條 LINE 消息,最多 5 則;面板可切換或關閉。
- 合併連續消息:模型仍在處理上一則時,用戶又補發內容會先排隊,本輪結束後合併再回應一次。
- 主動傳訊:內建排程器(不依賴 launchd),每位使用者獨立隨機倒計時;可調最短/最長間隔、每日/每月上限、兩則間距、安靜時段、idle 與連續未回覆上限等;Agent 可回
SKIP跳過不合適的發送。
面板與數據¶
所有設定位於 DSH 設定 → LINE Bot,主要寫入 <DSH_HOME>/line-bot/config.json(默認 DSH_HOME 爲 ~/.dsh,權限 600)。另有 state.json、每日日誌 logs/YYYY-MM-DD.log。面板區塊涵蓋狀態總覽、憑據、隧道、模型與接口來源、回覆人設、貼吧學習同步、玩梗、個人記憶、表情包(需 dsh-meme)、語音、貼圖與圖片理解、DeepSeek 餘額(僅 deepseek-account)、主動傳訊、使用者與羣組、進階設定等。
可選搭配外掛¶
| 外掛 | 用途 |
|---|---|
dsh-persona-dafeiyu |
人設清單、貼吧同步(建議) |
dsh-meme |
回圖片/貼圖(建議) |
dsh-tieba-dive |
貼吧學習來源(可選) |
CLI 安裝時可一併安裝:npx dsh-line-bot install --with-companions。
安裝與啓用¶
環境要求:DeepSeek Harness ≥ 0.2.0-rc.1、Node.js ≥ 22。大肥魚外掛爲選用。
方式一:面板安裝(推薦)¶
DSH → 設定 → 外掛 → 安裝 bundle,輸入 dsh-line-bot 後安裝,刷新頁面。設定左側會出現 LINE Bot。
方式二:npx 一鍵安裝¶
先完全退出 DSH(確認無殘留進程),再執行:
npx dsh-line-bot install
默認安裝到 desktop profile,可用 --profile <名稱> 指定。安裝完成後需重開 DSH。
查看狀態或卸載:
npx dsh-line-bot status
npx dsh-line-bot uninstall
卸載後設定與憑據會保留。
方式三:手動¶
dsh plugin --profile desktop add dsh-line-bot
並將 dsh-line-bot 加入 ~/.dsh/profiles/desktop/package.json 的 dsh.profile.bundles 數組,或改用面板安裝。
尚未發佈到 npm 時,可從 GitHub 安裝:
npx github:Hanson0901/dsh-line-bot install --spec github:Hanson0901/dsh-line-bot
典型用法:第一次上線¶
README 歸納爲五步,可按面板對應區塊操作。
- 建立/取得憑據:在 LINE Official Account Manager 與 LINE Developers Console 建立 Messaging API channel,開啓 Use webhook,複製 Channel ID 與 Channel secret。
- 填入面板:「LINE Bot → LINE 憑據」粘貼 ID 與 Secret,保存後「驗證並讀取 bot 信息」。
- 啓動 webhook:「狀態總覽」按「啓動全部」,或分別啓動 webhook server 與 tunnel(默認可自動啓動)。
- 開隧道:Quick tunnel 按「啓動隧道」;固定網址則在 Cloudflare 區粘貼 API Token 並「建立/更新隧道與 DNS」(Token 需 Account Cloudflare Tunnel Edit、Zone DNS Edit、Zone Read 等權限)。
- Webhook 與好友:隧道就緒後自動 PUT 到 LINE;必要時手動「把隧道網址套到 webhook」並「測試 webhook」。在 LINE 加好友後,首條消息會進入「待審覈」,在面板「使用者」覈准後纔開始回覆(白名單默認爲空)。
羣聊中:被 @ 或被引用一定回覆;其餘消息按「羣組回覆機率」(默認 15%)隨機。一對一與羣組各有獨立 session、工作文件夾與人設。
適用場景與注意¶
適合:已在 DSH 中運行 Agent,希望把同一套能力(含可選人設、記憶、多模態回覆)接到 LINE 官方賬號;本機可跑 Node 22+ 與 DSH ≥ 0.2.0-rc.1,並願意在 LINE Developers 自行建 channel。
注意:
- 插件以當前 DSH 進程權限運行,會讀寫
~/.dsh/line-bot/下的配置、狀態與用戶工作目錄;安裝前請閱讀倉庫源碼與 MIT 許可證,自行評估憑據與 Cloudflare Token 的存放方式(面板不回傳 secret 明文,但進程仍可訪問本地文件)。 - Quick tunnel 每次重啓網址會變,插件會嘗試寫回 LINE webhook;生產環境更宜用具名隧道或自行提供的公開網址。
- 社區目錄 SkillHub 插件頁 與 GitHub 由社區維護,與 DeepSeek / 幻方無官方從屬關係;星標與版本以倉庫爲準(資料抓取時 GitHub 約 5 stars)。
結尾¶
經過上面的步驟,dsh-line-bot 把 LINE webhook、隧道、憑據續簽與 Agent 回合收攏進 DSH 插件與單一配置面板,減少自建回調鏈路的重複工作。細節與故障排除見倉庫 README 與 TROUBLESHOOTING.md;目錄入口:https://www.skillhub.cn/plugins/Hanson0901/dsh-line-bot,源碼:https://github.com/Hanson0901/dsh-line-bot。