DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Player-MINEPIG /

Player-MINEPIG/dsh-message-console

Verified

A message aggregation platform plugin.

★ 1 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@a72631c2

看点什么 · DSH Message Console

面向个人使用的 DSH 消息聚合插件。以“来源”为配置单位,把评论、issue、PR 和 release 的变化集中到一个入口,分别管理阅读状态、后续处理与发布审核。

当前是开发版本。 已支持通过服务器现有 gh 授权读取 GitHub 仓库,以及通过 Chrome Cookie 读取 B 站视频评论。两条采集路径均只读,真实订阅模型与完整自动处理链路仍需验收。

已实现

  • 主面板总览按平台与来源展示卡片,支持独立平台列表、来源展开和来源详情页。来源可保存简介与标签。

  • 来源配置、适用范围明确的全局默认值与来源覆盖。抓取和整理默认分别每 6 小时执行,可手动刷新并整理。

  • 首次抓取作为已读基线;后续变化按内容版本显示未读,个人处理状态独立保存。

  • 评论经 Jev 概率判断分流;人工介入不提前拟稿;模糊判断最多升级一次。

  • B站根评论和楼中楼图片保留链接与尺寸,展示时按需生成缩略图,点击查看原图。私有图片缓存默认合计最多256 MiB,原图7天、缩略图30天未使用后清理;全局配置可调整预算、查看占用和清空缓存。图片与缓存说明。含图评论在决策升级阶段通过内存输入实际图片,不新增会话附件;Jev 初步判断仍只接收文字。升级模型不支持看图或图片装配失败时转人工。

  • 卡片与工作记录展示整理触发原因。楼中楼变化直接展示相关回复及整楼处理建议,根评论作为背景;不再可见的回复保留历史全文,全部变化支持分页查看。旧工作记录可依据已有版本还原变化,缺少证据时明确标注。

  • PR/issue 分析、回复生成与独立监督会话。监督拦截后保留草稿和原因,不自动重试改稿。

  • B站评论按来源授权自动回复:无需回复、可自动回复、需要人工与重要程度分开判断;监督通过的新自动草稿以“由「看点什么」插件自动回复:”开头,发送前复核授权和版本。其他草稿等待人工审核。发送结果不确定时保留 unknown,不自动重发。详见自动回复。

  • 不同工作角色使用独立 DSH 会话;同内容项的生成/审查/核实角色跨轮复用最早有效的原会话,保留真实历史;人工入口准备待用背景,首次用户发言后进入真实历史;Jev 输入输出在插件里可查。

  • GitHub 公开仓库 REST 读取连接器,支持分页、限流退避和 PR head 变化检查。PR 目前只获得 patch 和讨论,不代表完整代码审查或实际执行测试。

  • SQLite 按行事务、旧 JSON 数据迁移、进程锁、中断状态恢复,以及宿主认证保护的分页 API。

  • 工作 Agent 默认使用 DSH PTC 模式与工作区权限,通过查询工具读取原文,通过提交工具保存结果和不可变草稿。

  • 内容列表支持服务端搜索、筛选及每页 10、20、50 条。正文、评论、历史版本和工作记录按需加载。B站详情保留视频标题,简介按内容版本分块读取。

  • 总览与来源页支持“全部已读”,清除当前未读与关注提示,保留草稿、评价和历史。

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

本地开发与预览

维护使用 dev 开发集成基线和 main 正式基线。分支、正常 Linux 测试、AWS 部署与正式验收步骤见开发与维护流程。

Node.js ^22.19.0 || >=24,DSH 0.2.1-rc.2,Cordis 4.0.5。本版本仅声明这一宿主组合的兼容性,不自动升级宿主。首次使用新版存储时会迁移本插件的旧 JSON 数据,见下文。

npm ci
npm run check
npm run demo

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

DSH 开发安装

先在隔离的开发 profile 验证。需要已启用的 DSH Agent/会话持久化/Web 服务、标准 dsh-prompt-assembler 1.1.2(固定提交 21183e1),以及用户 Jev fork 0.3.6(固定提交 2ec0510)。

安装 npm 依赖本身不等于在宿主中启用了对应服务。

Assembler 1.1.2 从“插件 → 已安装插件 → dsh-prompt-assembler → 配置当前会话”打开装配编辑器。控制台使用标准 native 后端,不需要核心扩展。依赖固定到包含 DSH owner 认证修复的源码提交及完整性摘要,不假定 npm 已发布此补丁。远程 Web 还需配置 Assembler 的 security.allowRemoteClients: true 与精确 security.allowedHosts,并使用正常 DSH 登录态;网络开关不替代认证。

已有 Assembler 或 Jev 时更新并复用同一个实例,消息插件只调用共享的 decisionModels.ask,不另存 Jev URL 或密钥。

npm run build
npm pack --pack-destination .local
dsh plugin --profile YOUR_DEV_PROFILE add "dsh-prompt-assembler@https://codeload.github.com/Player-MINEPIG/dsh-prompt-assembler/tar.gz/21183e18c9e8e7f7f01fda04b5af4218ce194539"
dsh plugin --profile YOUR_DEV_PROFILE add "dsh-jev-plugin@https://codeload.github.com/Player-MINEPIG/dsh-jev-plugin/tar.gz/2ec0510ffcdabe790df8c93b0b40aee07b93c342"
dsh plugin --profile YOUR_DEV_PROFILE add /absolute/path/to/dsh-message-console/.local/dsh-message-console-0.1.0.tgz

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

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

从 DSH 左侧插件区域打开“看点什么”,在“全局配置”从宿主目录选择提供商与模型,在“添加来源”绑定已有工作区。dsh-plugin-subscriptions 通过宿主 LLM 提供商接口复用,不单独保存供应商凭据。Jev profile 不配置时使用 Jev 默认 profile;若其输出只有选项而无完整概率,插件会记录失败,不冒充获得置信度。

Jev fork 0.3.6 的 native 普通模型和 custom 路径均已用合成输入验证完整概率、低置信升级、失败记录和人工审核边界。native 的概率是模型自报估计,不是 token 概率或经过校准的置信度;阈值仍需真实样本验证。工作记录保留 Jev 返回的 profile、model、answers 和 usage,不推测服务未提供的概率来源 metadata。未使用真实 Jev 凭据。订阅提供商仍由宿主目录接入,但第三方提供商插件也必须兼容该宿主。dsh-plugin-subscriptions 0.9.9 的 peer 声明尚不包含 0.2.1-rc.2,本轮未验证其真实订阅调用,不应强行跳过依赖检查。

工作模型和监督模型可以使用不同 provider/model;即便使用同一模型,也分别创建独立会话。任务插件不是依赖;Memory Manager 不作为硬依赖。

账号与目前限制

  • 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。
  • GitHub 始终采集全部 Issue 和 PR,包括已关闭及已合并状态。默认手动和自动整理都跳过这些内容,不创建分析运行,也不清除已有关注、评价或草稿。重开后恢复整理资格。全局配置的“GitHub 整理范围”可开启“整理已关闭或已合并内容”,来源可覆盖或恢复继承。Release 照常整理。
  • 从旧 Cookie 采集切换时沿用旧 Release 和 PR 的本地 ID,保留历史版本、会话、评价和草稿引用。API 返回的 Markdown 正文与补全上下文可能产生一轮更新提示,旧草稿会按内容变化规则失效;再次采集相同内容不会重复更新。Release 与 API 数字身份建立关联后,标签改名仍沿用同一内容项。若首次切换前标签已经改名且旧记录没有数字身份,则无法可靠识别为同一 Release。
  • cookieFile 用于 B 站视频评论采集及按来源授权的评论发送。macOS 可显式运行 node scripts/import-chrome-cookies.mjs .local/credentials/chrome-cookies.json。默认 Chrome 的 Default profile,可将 "Profile 1" 作为第三个参数。导入文件权限为 0600,不会自动续期。旧文件中的 GitHub Cookie 不再用于采集。
  • GitHub 仓库读取目前按完整快照扫描,较大仓库会产生较多请求;限流后保留已有数据,未完整获取不会推进基线。尚无增量缓存。
  • PR 文件列表超出 API 上限或未完整取得时,仍采集条目和状态,但标记上下文不完整并停止自动审查。PR 缺失 patch 或代码上下文、issue 缺少复现材料时,只能给出受限分析。Agent 可使用绑定工作区的标准工具核对资料,但不能把可用工具当作已运行测试或已复现的证据。采集链路仍不提供完整仓库检索和自动代码修复流程。
  • unknown 发布结果需要人工去原平台核实;本版没有自动对账和恢复发送的界面。
  • 已验证真实账号只读采集及隔离宿主调用;完整默认profile和实际订阅模型的处理链路尚未端到端验收。

无浏览器的 VPS

GitHub 复用 VPS 上 DSH 运行用户的 gh 登录,无需 Chrome 或复制 Cookie。GH_TOKEN 或 GITHUB_TOKEN 环境变量可能优先于 gh 保存的授权,实际身份以插件显示的 /user 结果为准。

B 站 Cookie 连接器运行时不需要 Chrome。可在自己的 macOS 上显式导出,经安全通道传到 VPS 上 DSH 运行用户的私有目录,设置权限 0600,再将 cookieFile 指向该文件。连接器每次请求重读文件;登录失效后需在本机重新登录、导出并替换。VPS 的出口 IP 是否被平台接受、Cookie 有效期和风控限制需要单独实测。

迁移来源数据时还需处理工作区 ID、目录路径及真实 DSH 会话历史,不能只复制插件状态文件。先使用独立的新宿主数据目录验证,再决定是否迁移旧数据。

验证与扩展

npm test 覆盖状态、并发审核、发送不确定性、失败恢复、GitHub 协议和 HTTP 入口。开发依赖锁定上述 Jev 提交,默认运行 native/custom 共享服务到工作流与持久记录的离线测试;native 使用真实 DSH LLM 服务和合成适配器,custom 拦截 HTTP 并返回合成响应,生成与监督使用合成执行器。可使用本机 DSH 安装执行额外的离线宿主测试(不加载默认 profile 或真实模型凭据):

DMC_DSH_ROOT=/absolute/path/to/dsh-install node --test test/host.test.js

宿主测试使用真实 Agent Loop、标准 Assembler、工作区、JSONL 持久化和冷会话查询,检查标准工具组件、业务工具绑定、输入顺序、尾部 PHI、必需运行上下文及模型目录白名单。宿主测试还覆盖原生工具直接保存 SQLite、独立监督、人工背景重复冷恢复、只读与计划模式拒绝提交,以及存储目录的可写边界检查。模型输出来自离线合成适配器;这些检查不代替 Web 和真实账号验收。未设置该环境变量时,此测试跳过。

使用同一固定 Jev 开发依赖验证指定宿主的服务挂载、profile 目录和经宿主合成模型的调用,不读取凭据或联网:

DMC_DSH_ROOT=/absolute/path/to/dsh-install \
node --test test/host.test.js test/jev-host.test.js

这些测试验证合同与分流,不证明真实模型判断准确。Jev 拒绝缺失概率的响应后,本插件保留实际错误且停止后续生成;native 上游流失败在当前 Jev 中可能仅返回“native 响应不完整”,无法从 ask 恢复原始错误详情。

业务模型、连接器和宿主执行层分离,新增平台需要实现代码适配。详见 架构与连接器合同。本项目采用 MIT。

来源与工作区

“看点什么”位于 DSH 左侧插件区域,点击后在右侧主面板展示。每个来源必须选择一个已有 DSH 工作区。分析、监督和人工处理会话均在该工作区创建,并登记到宿主工作区的会话列表。更换来源工作区仅影响新会话。工作区删除或目录失效时会停止新建工作会话,并提示重新选择;旧数据与会话链接保留。

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

视频上下文与 post-history instruction

B站来源填写视频BV号、av号或完整视频链接。每个来源可添加独立上下文、文字资料、工作区内的显式文件引用,以及可编辑的post-history补充指令。资料只读取所选工作区内的非隐藏md/txt/json/csv文件,拒绝越界符号链接;单文件128KB、总量256KB。多个来源不会因使用同一工作区而自动共享全部资料。

模型请求保留前置system数据边界,Assembler在history/input之后追加固定提醒及用户补充指令。当前native后端以真实user消息投递尾部提醒,不伪称system消息;Jev决策指令另行附加同样的边界。测试证明消息顺序与持久化,不能保证模型绝不受注入影响。平台内容及资料不插入可信指令。工作会话使用宿主标准工具及两个受绑定约束的业务工具,发布由插件独立检查权限,已授权的B站自动评论另需明确决策、身份标识和独立监督。

总览与来源页面

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

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

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

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

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

调整模型背景顺序

在添加或编辑来源时,可以调整“来源信息与关注规则”“上下文”“资料”“当前内容及讨论”四个数据块的顺序,也可以调整资料内部的顺序。“更新真实预览”会解析所选工作区内显式引用的文件,并装入选定的真实内容项。新来源没有实际内容时显示占位;尚未解析的文件只显示路径。

顺序保存后用于 Agent、Jev 与人工会话背景。system 任务、真实历史和尾部 PHI 的位置固定。Jev 使用独立协议,同序数据块进入 state,PHI 放入问题 instructions。预览展示数据块和固定边界,不代表模型提供商的完整请求。

顺序、上下文或资料变更会使旧草稿失效,并为后续人工处理创建新会话,旧会话自身的完整历史仍保留。“整理已有数据”只处理当前来源尚未分析的历史基线,以及有新内容版本的项;重复点击不会强制重跑当前已完成项。来源背景或学习指导变更保留已有分析、评价和处理状态,新指导用于后续处理。自动整理和“刷新并整理”继续跳过首次接入且从未分析的已读基线。

查看整理结果与模型路线

来源页的“整理已有数据”会显示处理中,并在结束后显示候选、完成、失败、跳过的内容项数量。没有候选时显示原因,失败时保留具体错误。最近一轮结果保存于来源,重新打开页面仍可查看。来源按钮只处理当前来源;独立到期的自动调度仍会处理其他来源。新整理记录标明“手动触发”或“定时触发”,旧记录无依据时显示“触发来源未知”。完成数按内容项统计,不代表模型调用次数;上下文不足的内容可能只标记人工介入,未调用模型。

全局配置和来源覆盖按抓取频率、Jev 轻量决策、生成与分析、独立监督、内容偏好分组。DSH 中配置了 API 连接后,还需在本插件下拉框中选择宿主已有的提供商与模型。Jev 使用独立 profile,可以在没有生成路线时完成忽略或人工介入判断。只有实际进入决策升级、拟稿或分析时才要求生成路线;监督未单独配置的字段继承生成路线。

评论先由 Jev 返回选项概率,低置信时最多调用一次生成模型升级判断。需要拟稿时才生成回复及分析摘要;PR、issue、release 分别执行审查、核实、摘要任务。摘要来自该次生成或分析的输出,没有独立的总结模型调用。Jev 的忽略、人工介入结果显示固定的分流提示,不声称生成了内容摘要。

各角色使用共用数据块与属于该角色的专属背景。当前内容数据块保留采集原文、讨论与前版原文。分析轮的真实输入另附当前分析和既有工作记录引用,原会话的真实历史由宿主保留,不复制其他会话事件。角色任务指令和额外的 decision、draft 不同。工作记录按实际发生的 Jev 调用和 DSH 角色会话展示,并保留失败原因与输入输出。

复用宿主模型目录与阶段背景

生成与监督模型从 DSH 的实际提供商和模型目录选择,包含宿主已注册的订阅提供商。模型列表随提供商按需读取,可以显式刷新。Jev 使用单独的 profile 下拉,保留使用 Jev 默认的选项。列表显示名称并辅助显示 ID,不需要手工填写 ID,也不会自动选择第一项。DSH 0.2.1-rc.2 的官方 DeepSeek 适配器在缺少凭据时会返回空模型列表;可先在宿主模型设置中完成配置,再显式刷新目录。插件不自行补写凭据或构造模型列表。旧选择暂不可用时保留原值并提示重新选择;切换提供商会清除相关旧模型,不能跨提供商继承全局模型。

来源配置保留现有上下文、资料、关注规则、PHI 和装配顺序作为共用背景。你可以分别为 Jev 轻量决策、低置信升级、生成与分析、独立监督补充专属上下文和资料。生成与分析按来源能力执行评论拟稿、PR 审查、issue 核实或 release 摘要,没有独立总结调用。

实际请求只装入共用背景与当前阶段的专属背景。来源预览可选择阶段,展示对应数据块;升级的 decision、监督的 draft 在预览中明确占位,实际执行时才附加真实结果。服务端解析所有显式资料以计算来源版本,预览不会触发模型。人工会话使用共用与生成分析背景,原有会话历史完整保留。

模型失败与持久会话

阶段默认限时五分钟,超时记录 TIMEOUT、限时和取消来源;用户取消与插件停止另行保留。计时和结算只针对该轮消息,不取消随后排队的用户会话轮。模型请求失败时,插件展示宿主记录的终止代码、消息、可用的 HTTP 状态与原会话 ID,工作记录保留实际角色会话。TRANSPORT 仅表示宿主报告的传输失败,不能据此断言某个网络或账号问题;插件不会自动换模型路线、改代理或凭据。

同内容项、来源、分析角色、工作区和实际目录再次整理时,优先复用最早有效的持久原会话,可暖态继续或冷恢复。会话忙或有待处理输入时本轮失败并保留原归属,不抢占或另建会话绕过。监督、学习和人工角色保持各自语义。每轮使用当前内容/资料版本和独立收据;历史收据不作为新轮提交。自动工作完成或失败后保留原 Agent,你可以在同一会话继续追问。人工处理会话创建后也保持可用,后台不会提前调用模型。实例由 DSH 的创建者生命周期管理,插件卸载或宿主退出时统一清理;会话在此期间占用宿主内存。真实历史持久保存,重启后由宿主从原 ID 恢复。

插件每五秒按游标读取共享会话目录变化,恢复宿主列表中缺失的已有会话。目录监听在离开插件页面后继续生效,没有变化时不遍历历史身份集合。目录恢复不复制或补写历史。升级前已经显示“会话不可用”的页面可重新载入,以恢复原会话的输入框。

工作工具与存稿

工作、监督和人工会话默认显式挂载宿主已安装的 DSH ptc 模式,新会话固定为 workspace-write 和 ask。PTC 保留宿主工具与 AGENTS 等工作区说明,模型通过 run_code 内的 tools.dmc_read_item(...)、tools.dmc_submit_result(...) 查询和保存业务结果。冷恢复保留用户后来选择的模式和权限;只读或计划模式下,业务提交工具拒绝写入。来源原文、评论和资料仍属于待处理数据,不因此获得发布授权。

创建或恢复业务会话时,插件解析存储目录与工作区的真实路径。存储若位于该工作区、/tmp 或宿主临时目录的可写范围,插件会拒绝启用工作会话,并提示选择更具体的工作区或把存储移到宿主私有目录。符号链接也按实际目标检查。标准文件权限不限制所有读取或网络行为,发布审核仍由插件单独执行。

人工背景先进入宿主待用输入。宿主重启后,打开会话触发恢复时,插件从该轮冻结的来源与内容快照恢复尚未接受的背景。首次用户发言后,宿主依次记录系统消息、背景和用户输入;已经接受的背景不会因再次打开而重复加入。仅查看冷历史时,不把待用背景伪装成已执行消息。

dmc_read_item 查询本来源已采集的内容。先用 section: "items" 按页获取内容 ID,再把返回的 id 作为 itemId,沿用 version 读取正文或评论。评论列表返回摘录和评论 ID,section: "comment" 读取该条完整原文。正文按 Unicode 码点计数的 offset、length 分块读取,沿用同一个内容版本,直到 complete: true。这些 ID 是插件返回的稳定标识,不把远端评论号当作本地内容 ID。

dmc_submit_result 是 Agent 结果的正式保存入口。自动工作角色提交分析、升级判断或监督结论;人工处理角色提交草稿。最终助手文字不作为落稿或监督结论的替代输入。一次提交使用固定 operationKey;精确重试返回原收据,同一个键提交不同内容会失败。

来源绑定的分析工作会话(writer、review、investigate)可以使用 dmc_revise_analysis 更新绑定内容项的最新结论,例如收到稍后完成的验证报告。可先读取 dmc_read_item({section: "analysis"}) 查看当前结论,再提交完整 analysis 和修订 reason,可附报告 ID 或链接 evidenceRefs;引用由 Agent 提供,不代表插件已核验报告。每次更新使用新 operationKey,重试沿用原键和内容。

工具根据真实会话绑定确定目标,采用提交时最新的内容、来源配置和分析版本,不要求配置或内容与原整理轮一致,也不要求该轮已有首次分析收据。version、contextVersion、expectedAnalysisRevision 是可省略的旧参数,传入旧值不会阻止更新。不同操作按提交顺序更新最新结论,并各自保存前一版;相同操作的精确重试只返回原收据,不覆盖之后的结论。

修订会更新面板摘要并追加工作记录,原分析、原收据和真实会话历史保留。它不重新执行整理或派发任务。旧的待监督、待审核或被拦截草稿会标为过期,已发送和发送状态待核实的记录保留。首次自动整理仍用 dmc_submit_result 保存本轮结果;修订工具只更新分析,不生成或发布回复,也不会自动接收任务插件的完成通知。

const current = await tools.dmc_read_item({section: "analysis"});
await tools.dmc_revise_analysis({
  operationKey: "verification-followup-1",
  analysis: {summary: "验证完成,问题已确认", importance: 2, reason: "报告中的证据支持该问题",
    urgent: false, urgencyReason: null, intervention: "review", evidence: "confirmed"},
  reason: "根据已读取的验证报告更新分析",
  evidenceRefs: ["实际报告的 ID 或链接"]
});

从插件内容入口创建的人工会话固定当前内容项和输入版本。读取同来源其他项不会改变存稿目标。需要给另一项存稿时,从那一项新开会话。新稿先显示“等待独立监督”;监督失败或会话失败后,已保存正文仍可查看,并可从草稿启动监督。监督通过后显示“等待你审核”。

在已有 DSH 工作区中直接新建或继续普通会话,也可以使用这两个工具。先调用 dmc_read_item({section: "sources"}) 查找当前工作区绑定的来源,再以 sourceId 查询 section: "items",用返回的 itemId 读取 section: "item"。该返回值包含当前 version 和 contextVersion,后者也计入工作区资料文件的内容。普通会话仅可保存草稿,参数为 {kind: "draft", operationKey, itemId, version, contextVersion, body}。同一会话可为不同内容项分别存稿,来源改绑后权限随之更新。没有绑定来源时来源列表为空。

普通会话的模式、权限、提示词与历史由 DSH 保持原状。插件只向现有会话注册工具,并在内容项的工作记录中保留真实会话入口。保存后的草稿可在插件内容详情中找到,仍需独立监督与人工审核。工作区 AGENTS 索引可以记录工具返回的稳定 ID 和版本,后续通过工具读取原文。

草稿正文保存后不可修改。改稿创建新 ID;替换旧稿需提交旧 ID 与 bodyHash,旧稿显示“已被新稿替换”。新稿需重新监督。发送中、结果待核实和已发送的草稿不能通过改稿覆盖。

SQLite 数据与迁移

插件数据目录包含 console.sqlite,运行时还可能有 WAL 和共享内存文件。目录采用进程锁,数据库使用 WAL、完整同步和外键检查。停用插件并等待关闭后再备份整个数据目录;DSH 会话历史与工作区归属另由宿主保存。

首次发现旧 state.json 时,新版保留原文件并创建 state.pre-sqlite.json 备份,然后导入来源、内容版本、工作记录、草稿、Jev 结果、会话链接和审核记录。迁移逐项核对已有字段,检查实体数量及 SQLite 完整性。数据导入和初始化标记在同一事务提交;失败后保留旧文件,下次启动可重试,成功后以 SQLite 为准。之后启动不会重新用旧 JSON 覆盖数据库。旧版本没有完整快照的历史记录会明确标为不完整,不补造原文。

升级前先停止旧实例并备份数据目录。需要回退时,停止新版,恢复升级前的整个目录与旧插件版本;旧 JSON 不包含升级后新增的工作,不应拿它覆盖仍在使用的 SQLite 数据。不要同时运行两个插件实例操作同一目录。

内容项、评论及工作历史有界读取,搜索在服务端对当前来源的标题和完整正文执行字面子串匹配,沿用 JavaScript 的 Unicode 大小写归一化。总览只读取来源元信息与统计,编辑来源才读取其上下文配置。来源配置数量仍按个人使用规模处理;连接器每轮仍收集完整批次,短词搜索与深页查询也可能随该来源的数据量增加,不承诺任意规模恒定耗时。

0.1.3 存储与后续结果

SQLite schema 6 在事务内新增 run_sessions,从现有非空 run 绑定复制历史关联,包括仅供历史展示的 legacy 链接;原业务行、run/receipt JSON 和宿主事件不重写。sessions 保存当前轮绑定,历史工作记录继续链接同一真实会话。首次提交按会话与轮次查询,内部幂等键按轮隔离,旧键只在其原轮回放。工具跨异步准备后重新校验绑定,原内容/资料/分析版本保护仍生效。

阶段失败后,后来实际保存的分析通过收据和审计记录单独展示时间及“当时已采纳”,原失败状态与终止时间保留。后补草稿仍显示实际监督状态,不代表已通过独立监督。插件不新增任务等待状态或专用回报适配器,也不自动外发。

—/ 5

No ratings yet

Verified DSH bundle

Commit a72631c26d96

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout