前言¶
DeepSeek Harness(dsh)里往往同时挂着多个 workspace、多条 session。桌面端要切换窗口才能跟进进度,手机端更难实时介入。常见做法是另写通知脚本或手动复制摘要,但回复仍要回到对应 session,容易串线。
下面介绍社区插件 dsh-feishu-session-manager(维护者 icrefin,分类:客户端):把一条飞书群聊或私聊变成当前 Harness 里所有 session 的统一界面——各 session 的回合结果经模型写成摘要推到飞书,你在飞书里发的文字再由模型路由回正确的 session(或按需开新 session 并带上 distilled 上下文)。
这是什么¶
插件全名 dsh-feishu-session-manager,仓库 icrefin/dsh-feishu-session-manager,在 SkillHub 插件目录 可查到条目。简介与 README 一致:Turn one Feishu chat into the interface of every DeepSeek Harness session: model-written summaries out, model-routed replies back.
数据路径示意(README 原文):
Feishu chat ⇄ Feishu long connection ⇄ bridge ⇄ every session
│ │
summarizing model routing model
插件在宿主 dsh 进程内运行,通过飞书长连接收事件、REST 发消息,无需公网回调 URL、内网穿透或证书。
核心功能¶
Session → 飞书¶
| 方向 | 行为 |
|---|---|
| 正常结束的一轮 | 由模型生成短摘要,并固定带上 Workspace: … \| Session: … |
| 失败的一轮 | 推送失败码及模型给出的分析 |
ask_user_question 与权限请求 |
以编号菜单形式推到飞书,可在聊天里直接作答 |
飞书 → Session¶
自由文本由路由模型决定:投递到已有 session、新建 session,或新建 session 并携带提炼后的上下文。
以下斜杠命令为确定性「逃生口」,不依赖路由模型:
/sessions list recent sessions with numbers
/use <n|id> the NEXT message goes to that session
/new [workspace] create a session now, bypassing the router
/bind make this chat the notification target
/status connection, model, counters, waiting items
/skip <text> route this text even while an answer is waiting
/help the list above
路由模型在 prompt 中明确权衡四项(README 原文):
- Relevance — 消息是否延续该 session 的话题。
- Workspace — 属于哪个项目目录。
- Context length — 对照该 session 自身模型窗口(Harness 报告的
contextPressure或 session 所选模型),而非插件自设预算;接近窗口上限时倾向开新 session 并 distill 要点。 - Inactivity — 长时间 idle 的 session 已失去 KV cache,续聊并不更省。
安全约束:模型给出的 sessionId、workspaceId 必须在下发给模型的 catalog 内校验;缺少 prompt 时回退为你的原文;无法使用的路由结果会变成向你提问,而不是误投回合。
设置页¶
路径:Settings → Feishu(独立导航分组)。主要分组包括 Connection(启用、App ID、App secret 等)、Model(provider / model / reasoning effort,同一路由承担摘要与路由两次辅助调用)、可编辑且可恢复默认的 Prompts、Notifications、Routing policy,以及带 Preview routing(干跑真实路由器、不投递)的 Status 块。
凭证在 schema 中标记为 secret,页面不回显明文;留空字段表示保留已存值。
安装与启用¶
环境要求(package.json):Node >=22.17.0,dsh >=0.2.1-rc.5 <0.2.2-0。当前包版本 0.1.7,许可证 MIT。
官方构建与打包步骤(README Install 节):
pnpm install
pnpm check # typecheck both halves, build, then the full test suite
pnpm pack # dist/dsh-feishu-session-manager-0.1.7.tgz
在 Harness 中打开 Settings → Plugins,安装生成的 tarball,然后重启应用。向运行中的 profile 追加 bundle 不会生效,必须重启宿主进程;同版本重装是无操作,需 bump 版本后再装。
包内自带 cordis.patch.yml 行,写入 dsh.profile.bundles 即完成注册;该行本身无需额外 config,参数均由设置页写入。
飞书侧应用¶
- 在飞书开发者后台创建企业自建应用,开启 机器人 能力。
- 事件订阅:选择长连接模式,订阅
im.message.receive_v1;不要配置请求 URL(bridge 主动连飞书,无需入站端口)。 - 权限:
im:message、im:message:send_as_bot。 - 发布版本后,将机器人拉进群或发起私聊。
- 在插件设置页填入 App ID、App secret,并打开 bridge。
群聊中只有 @ 机器人的消息会被推送;私聊无需 @。第一个与机器人说话的会话会成为通知目标,并写入 profile 设置以跨重启保留。
典型用法¶
在已绑定通知目标的飞书会话中:
- 等待各 session 回合结束,阅读带
Workspace/Session标签的摘要或失败说明。 - 对编号问题回复选项号(如
2)、多选用逗号(如1,3),或任意文字作为自定义答案;权限请求回复1(允许一次)或2(拒绝);多条待答时用#<n>前缀,例如#2 1。 - 需要指定目标时先
/use <n|id>,下一条消息即进入该 session;或/new [workspace]立即建 session;不确定路由原因时用设置页 Preview routing 或/status查看连接与等待项。
适用场景与注意¶
适合:需要在手机或 IM 里统一查看多 workspace、多 session 进展,并用自然语言回复且希望由模型自动选 session 的 dsh 用户。
务必注意:
- 插件以当前 dsh 进程权限运行,可触达该 Harness 能访问的 workspace 与 session;安装前请阅读源码与 MIT 许可证,自行评估飞书凭证与模型路由风险。
- 路由与摘要各消耗一次 LLM 调用,需在设置页配置 provider / model;社区目录 SkillHub 与 DeepSeek / 幻方无官方从属关系,DSH 生态理念是「一切皆插件」,本文事实以仓库 README 为准。
结尾¶
dsh-feishu-session-manager 把「摘要出站、回复入站」收敛到一条飞书会话,并用双模型(摘要 + 路由)与斜杠命令兜底,减少在多 session 间手动切换的成本。