DSH Message Console:个人消息聚合与处理平台

前言

DSH(DeepSeek Harness)采用「一切皆插件」的架构,开发者在构建智能体或工作流时,常需要从多个平台(GitHub、B站等)收集消息,并在同一入口统一管理阅读状态、后续处理与发布审核。本文介绍 dsh-message-console,一个面向个人使用的 DSH 消息聚合插件。

是什么

dsh-message-console 是一个 DSH 插件,以「来源」为配置单位,把评论、issue、PR 和 release 的变化集中到一个入口,分别管理阅读状态、后续处理与发布审核。目前为开发版本,支持通过服务器现有 gh 授权读取 GitHub 仓库,以及通过 Chrome Cookie 读取 B 站视频评论。两条采集路径均只读,真实订阅模型与完整自动处理链路仍需验收。

核心功能

1. 主面板总览与来源管理

  • 主面板按平台与来源展示卡片,支持独立平台列表、来源展开和来源详情页。
  • 来源可保存简介与标签。
  • 首次抓取作为已读基线;后续变化按内容版本显示未读,个人处理状态独立保存。
  • 总览与来源页支持“全部已读”,清除当前未读与关注提示,保留草稿、评价和历史。

2. 抓取与整理

  • 来源配置支持全局默认值与来源覆盖。
  • 抓取和整理默认每 6 小时执行一次,可手动刷新并整理。
  • GitHub 始终采集全部 Issue 和 PR,包括已关闭及已合并状态。默认手动和自动整理都跳过这些内容;全局配置的“GitHub 整理范围”可开启“整理已关闭或已合并内容”,来源可覆盖或恢复继承。Release 照常整理。
  • B站根评论和楼中楼图片保留链接与尺寸,展示时按需生成缩略图,点击查看原图。私有图片缓存默认合计最多 256 MiB,原图 7 天、缩略图 30 天未使用后清理;全局配置可调整预算、查看占用和清空缓存。

3. 内容分析与分流

  • 评论经 Jev 概率判断分流;人工介入不提前拟稿;模糊判断最多升级一次。
  • PR/issue 分析、回复生成与独立监督会话。监督拦截后保留草稿和原因,不自动重试改稿。
  • 不同工作角色使用独立 DSH 会话;同内容项的生成/审查/核实角色跨轮复用最早有效的原会话,保留真实历史;人工入口准备待用背景,首次用户发言后进入真实历史;Jev 输入输出在插件里可查。
  • 工作 Agent 默认使用 DSH PTC 模式与工作区权限,通过查询工具读取原文,通过提交工具保存结果和不可变草稿。

4. 评论自动回复与监督

  • B站评论按来源授权自动回复:无需回复、可自动回复、需要人工与重要程度分开判断;监督通过的新自动草稿以“由「看点什么」插件自动回复:”开头,发送前复核授权和版本。其他草稿等待人工审核。发送结果不确定时保留 unknown,不自动重发。
  • 内容列表支持服务端搜索、筛选及每页 10、20、50 条。正文、评论、历史版本和工作记录按需加载。B站详情保留视频标题,简介按内容版本分块读取。

5. 评价与学习

  • 内容详情可保存“我的评价”,按来源整理最多 50 条未学习案例,展示修改前后差异和案例引用,人工确认后才应用。

6. 数据与连接器

  • GitHub 公开仓库 REST 读取连接器,支持分页、限流退避和 PR head 变化检查。PR 目前只获得 patch 和讨论,不代表完整代码审查或实际执行测试。
  • SQLite 按行事务、旧 JSON 数据迁移、进程锁、中断状态恢复,以及宿主认证保护的分页 API。
  • GitHub 默认使用 DSH 运行用户已有的 gh 授权。先在同一用户下确认 gh auth status --hostname github.com,再启动插件。插件调用 gh auth token --hostname github.com,在内存中以该授权读取固定的 api.github.com,并通过 /user 验证登录身份。不会创建或修改授权,不将 token 写入插件配置、数据库、日志或模型输入。每次采集重新读取授权,分页复用该轮内存授权;命令及网络请求均有超时。
  • gh 不存在、授权失效或请求失败时显示错误并保留已有数据,不自动降级匿名访问。需要匿名读取公开仓库时,可在宿主插件配置中明确设置 githubAuth: public;默认值为 gh。无论 gh 授权本身具有什么权限,当前 GitHub 连接器只采集,canPublish 始终为 false。
  • cookieFile 用于 B 站视频评论采集及按来源授权的评论发送。
  • macOS 可显式运行 node scripts/import-chrome-cookies.mjs .local/credentials/chrome-cookies.json。默认 Chrome 的 Default profile,可将 "Profile 1" 作为第三个参数。导入文件权限为 0600,不会自动续期。
  • B站评论按来源授权自动回复:无需回复、可自动回复、需要人工与重要程度分开判断;监督通过的新自动草稿以“由「看点什么」插件自动回复:”开头,发送前复核授权和版本。其他草稿等待人工审核。发送结果不确定时保留 unknown,不自动重发。

安装与启用

安装前请确保 Node.js 版本满足要求,并安装 DSH 0.2.1-rc.2 及 Cordis 4.0.5。

  1. 克隆仓库后进入项目目录:
git clone https://github.com/Player-MINEPIG/dsh-message-console.git
cd dsh-message-console
  1. 安装依赖:
npm ci
  1. 本地开发与预览(可选):
npm run check
npm run demo

预览使用合成数据和模拟模型,不读取真实账号,不发送消息。每次启动创建独立模拟数据目录;数据、构建临时文件都留在被 Git 忽略的 .local/。

  1. 在 DSH 中安装插件(开发版本):
npm run build
npm pack --pack-destination .local
dsh plugin add /absolute/path/to/dsh-message-console/.local/dsh-message-console-0.1.11.tgz

插件携带 cordis.patch.yml,默认将插件数据放入该 profile 的 DSH 数据目录。可在插件配置中指定:

配置 用途
storageDir 本插件的数据目录;单进程独占
cookieFile 显式导入的本机 Cookie 文件路径;不通过状态 API 返回凭据
autoSchedule 是否启动抓取/整理计时,默认 true
timeoutMs 单个生成 Agent 的取消期限,默认 300000

典型用法

1. 配置来源

从 DSH 左侧插件区域打开“看点什么”,在“全局配置”从宿主目录选择提供商与模型,在“添加来源”绑定已有工作区。

添加来源时先输入仓库或视频链接,再选择内容类型。离开链接输入框后,插件读取标题、简介和主题或分类,建议最多 12 个标签。GitHub 支持仓库、issues、pulls 和 releases 列表链接,单条内容链接会被拒绝;B站支持完整视频链接、BV 号和 av 号。关注规则、阶段背景与补充指令来自本地固定模板,元信息读取失败时仍可使用。手改或手动清空的字段会保留,已有来源只在点击“重新识别并填充空白”时填充空白字段。仍需手动选择工作区并保存;元信息读取不抓取内容、不整理,也不调用模型。

2. 查看总览与来源

顶栏提供“总览”“学习记录”“全局配置”和“添加来源”。“学习记录”跨来源展示历史批次及待确认提案;在来源详情点击“整理用户评价”会直接发起该来源的学习批次并打开对应记录。总览首先显示综合优先级最高的最多三个已有平台,再显示来源卡片。点击“全部平台”或“展开来源”可单独浏览对应列表。点击平台查看该平台的来源,点击来源进入独立来源页。编辑来源入口位于来源页,全局配置只管理全局默认值。

未读变化按内容项计数,一条评论对话无论新增多少条回复都只计一个未读内容项。需要处理按内容项去重,包含待处理、稍后处理及尚未确认关注的审核草稿。标记“已处理”会确认当前关注,保留现有草稿与历史,现有草稿不会再次顶起待处理提示;后续新内容、分析或草稿等事件会重新提醒。

总览来源综合排序按当前版本的分析重要性排序,有明确依据的紧急性只作有限修正,再比较需要处理数、未读数与内容变化时间。

来源内容列表始终先显示需要处理的项,再按重要性及有依据的紧急性排序,同级按最后更新时间排列,默认新到旧,可切换旧到新。最后更新时间优先使用平台内容的 updatedAt,缺失时回退到采集到变化的时间;抓取时间单独显示。

GitHub 列表默认隐藏已关闭/已合并内容,勾选“显示全部”可查看,采集仍全量同步,且此开关不改变整理范围。搜索、筛选和显示开关都在服务端分页前应用,改变条件会回到第一页。尚未整理或内容版本已变化的项不显示。

3. 使用评价与学习

内容详情可保存“我的评价”,按来源整理最多 50 条未学习案例,展示修改前后差异和案例引用,人工确认后才应用。

适用场景与注意

适合需要从 GitHub、B 站等平台统一收集与处理消息的个人开发者。插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。

  • 插件当前为开发版本,真实订阅模型与完整自动处理链路尚未端到端验收。
  • GitHub 采集目前按完整快照扫描,较大仓库会产生较多请求;限流后保留已有数据,未完整获取不会推进基线。尚无增量缓存。
  • PR 文件列表超出 API 上限或未完整取得时,仍采集条目和状态,但标记上下文不完整并停止自动审查。PR 缺失 patch 或代码上下文、issue 缺少复现材料时,只能给出受限分析。Agent 可使用绑定工作区的标准工具核对资料,但不能把可用工具当作已运行测试或已复现的证据。采集链路仍不提供完整仓库检索和自动代码修复流程。
  • unknown 发布结果需要人工去原平台核实;本版没有自动对账和恢复发送的界面。
  • 已验证真实账号只读采集及隔离宿主调用;完整默认 profile 和实际订阅模型的处理链路尚未端到端验收。

短结尾

dsh-message-console 为 DSH 用户提供了从多个平台聚合消息并在同一入口管理阅读状态、后续处理与发布审核的能力,适合个人开发者集中管理评论、issue、PR 和 release 的变化。插件目前处于开发阶段,部分链路尚需验收。

  • 插件目录:https://www.skillhub.cn/plugins/Player-MINEPIG/dsh-message-console
  • GitHub:https://github.com/Player-MINEPIG/dsh-message-console
羽毛球分组比赛记分
小程序二维码

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

小夜