前言¶
在 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。