dsh-chat-digest:用常驻 Agent 把群聊整理成待办与信息面板

前言

在 DSH 里跑智能体时,很多真正要办的事并不在代码仓库或任务系统里,而是散落在微信、QQ 群聊的转发、接龙和附件里。人工翻聊天记录成本高,也容易漏掉截止日和报名链接。常见做法是定期导出聊天记录再自己整理,但缺少一个和 Harness 工作区绑定的、可定时刷新且能回链原文的结构化面板。

下面介绍社区插件 dsh-chat-digest(维护者 OverDustD7,目录分类为「记忆」):它在 DSH Web UI 中提供一块面板,并托管一条常驻主 Agent 会话;按日程或手动 Fetch 时,由该会话读取你提供的聊天数据源,提炼「必须做」「可申请」「值得知道」三类条目,写回面板,且每条可链接到原始文件或图片。插件本身不解析聊天内容,也不替你选模型,解析与提炼逻辑由你配置的 pipeline 与路由决定。

这是什么

dsh-chat-digest 是发布在 npm 的 DSH profile bundle(当前 package 版本 1.5.1,许可证 MIT)。一句话定位:把聊天日志经 Agent 回合蒸馏成可维护的面板列表;核心零 npm 依赖,可选附带微信/QQ 采集管线。

GitHub 仓库:OverDustD7/dsh-chat-digest。社区目录页:skillhub.cn/plugins/OverDustD7/dsh-chat-digest。DSH 社区插件目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态理念是「一切皆插件」,安装与运行均在本地 Harness 进程内完成。

核心功能

面板与三类条目

面板按示例结构渲染条目,例如待办(含说明、步骤、注意事项与附件链接)、机会与招募、有用信息。条目可带 file: / img: 链接;在 Windows 上可通过系统默认应用打开附件路径(非 Windows 时面板与 API 仍可用,file: 链接会退化为下载)。

常驻会话与采集回合

插件拥有面板、每条配置路由对应的一条常驻主 Agent 会话,以及面板与会话之间的 HTTP 契约。流程概要:

  1. 定时(每日固定时刻)或点击 Fetch;
  2. 选择一条 route,先探测其 gateway(无响应则不触发回合,采集游标不前进);
  3. 唤醒或复用该 route 的常驻会话,运行你提供的 pipeline 并读取聊天数据;
  4. 会话通过 POST 写回 /chat-feed/api/items,重建面板;
  5. 回合结束时更新 busy 记账、游标;异常结束时会自动重试一次;可按 route 阈值做上下文轮换。

插件负责:面板、常驻会话、回合 bookkeeping、文件端点;不自行解析聊天,不在已配置路由之外选择模型。

默认数据契约(无需先搭管线)

全新安装可用三步起步:把聊天导出放进 Agent 工作区下的 inbox(纯文本、Markdown 或 JSON),常驻会话读取 inbox 并写入面板。默认 inbox 路径为 %USERPROFILE%\.dsh\dsh-chat-digest\inbox\(精确路径以 GET /chat-feed/api/state 返回的 state.inbox 为准)。仓库内 examples/inbox/sample.txt 可作样例复制。

也可把导出放到私有 inbox,或通过 HTTP 喂数据;若要自定义措辞或采集器,可将 examples/local/ 复制到自有目录,设置 config.localDir 并编辑「数据来源」相关段落。

可选微信/QQ 管线

包内可选附带 WeChat/QQ ingestion pipeline;核心不依赖采集器。配置 wxRoot 后,可解析 inbox 与 <agentCwd>\output 之外的微信附件根目录,供 fileRoots 允许的字节服务与「用默认应用打开」。

自检 API

  • GET /chat-feed/api/state:返回 items、面板来源、route 槽位、采集游标、上下文窗口与限制、最近错误等 JSON 字段。
  • POST /chat-feed/api/collect,body {"dry": true}:只生成回合 prompt 不执行,便于核对 Agent 将收到的指令。
  • 磁盘上私有 profile 内有 state.json、panel.json。

安装与启用

环境要求(来自 README):

依赖 说明
DSH >= 0.1.5-rc.1 宿主
Node >= 22.5 loader 与浏览器端
已配置的 model route 无路由时面板与手动写回仍可用,但无法跑采集回合
Windows(可选) 附件「用默认应用打开」;非 Windows 见上文 fallback

安装并重启 Web UI(profile 名 web 为 DSH Web UI 默认 profile,若已改名请替换):

dsh plugin --profile web add dsh-chat-digest

安装会自动写入 profile 的 dsh.profile.bundles,不要再手工重复添加同一 loader id,否则会报 duplicate loader entry id。完成后重启 dsh web(宿主半区在 mount 时求值一次)。

本地开发目录可用 link 安装:

dsh plugin --profile web add link:/path/to/dsh-chat-digest

UI 脚本由包内 HTTP 提供(Cache-Control: no-store),改 UI 后刷新页面即可;改宿主逻辑仍需重启 dsh web。

插件以当前 dsh 进程权限运行,安装前请自行审阅 源码 与 MIT 许可证,确认 inbox、私有 profile 与聊天导出路径的可接受范围。

典型用法

1. 仅用 inbox 验证

  1. 执行上述安装命令并重启 dsh web。
  2. 将聊天导出放入 inbox(或复制 examples/inbox/sample.txt)。
  3. 在 Web UI 点击 Fetch 一次:按钮会经历「探测中…」「采集中…」,成功后面板展开并出现带来源链接的条目。
  4. 若 gateway 无响应,按钮会闪红,游标与采集时间不变。

2. 配置私有目录与多路由

在 profile 的 cordis.patch.yml(推荐 $DSH_HOME/profiles/<name>/cordis.patch.yml,优先级高于包内 patch)中配置,例如:

- id: dsh-chat-digest
  config:
    localDir: 'C:\path\to\your\private-profile'
    wxRoot: 'C:\path\to\wechat\attachments'
    routes:
      - id: 'free'
        label: 'Free'
        provider: 'your-provider'
        model: 'your-model'
        probeUrl: 'https://your-gateway/v1/models'
        ctxRatio: 0.75
      - id: 'paid'
        label: 'Paid'
        provider: 'your-other-provider'
        model: 'your-other-model'
        default: true

localDir 默认为 <DSH_HOME>/dsh-chat-digest,存放 pipeline 配置、output、knowledge、archive 及面板状态等本地数据,更新插件包时通常保留。inboxDir 默认为 <agentCwd>\inbox。未设置 wxRoot 时,仅 <agentCwd>\output 在默认 fileRoots 内可用于附件解析。

3. 干跑回合 prompt

POST /chat-feed/api/collect
Content-Type: application/json

{"dry": true}

返回内容为即将发给常驻 Agent 的 prompt,便于调试 pipeline 与 prompt 覆盖。

新装后面板为空是预期行为:在你喂入条目或成功跑完一轮采集之前,不会自动出现内容。

适用场景与注意

适合:已在 DSH Web UI 中使用多路由模型;愿意维护聊天导出或可选微信/QQ 管线;希望把群聊里的待办、招募与公告收敛到 Harness 侧边面板,并保留回链原文/附件。

注意:

  • 必须自行提供「读聊天并蒸馏」的 ingestion pipeline(或使用 inbox + 内置 prompt 的默认契约);插件只提供面板、会话与 HTTP 契约。
  • wxRoot、群名、数据库路径等敏感配置写在私有 profile(如 pipeline.yaml),不应上传到公共仓库。
  • README 标明 Windows 为附件打开的最佳体验;Linux/macOS 用户仍可使用面板与 API。
  • 社区目录显示该仓库 GitHub 星标为 1(截至资料抓取时),成熟度需自行评估。

结尾

dsh-chat-digest 把「群聊里 buried 的待办」变成 DSH 内可定时刷新的结构化面板:宿主管面板与常驻 Agent 回合,模型与解析管线由你的 route 与私有 profile 决定。若你要在 Harness 里长期记住聊天-derived 的行动项,可按官方命令安装,从 inbox 或自有 pipeline 起步。

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

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

小夜