Back to marketplace

dsh-companion

Agent & Workflow

beijingwahw/dsh-companion

Official companion plugin for DeepSeek Harness providing conversation export, handoff summaries, cost optimization, global search, execution trace analysis, prompt engineering workbench, multi-model arena, task orchestration, and security auditing across nine modules.

  • ai-agents
  • cordis
  • deepseek-harness
  • dsh
  • dsh-plugin
GitHub Stars
4GitHub
Views
3DSH Plugin Hub
Forks
0GitHub
Open issues
1GitHub Issues
Manifest version
0.1.0dsh-companion
Latest push
Sep 19, 2026GitHub
License
MITTypeScript
Plugin type
Host + ClientRuns in both Host and Web Client

Verification and compatibility

This section shows evidence collected by the catalog. Undeclared information is labeled as unknown.

Static checked
01Exact source: github · dsh-companion@0.1.002Validated: Aug 24, 202603Verified Harness: 0.1.0-rc.7
Current-version compatibility
Verified on the catalog Harness version
Declared Harness range
Not declared
Declared platforms
Not declared
Profiles
web
Build approval
Unknown
Permissions
Not declared
External services
Not declared
Telemetry
Unknown
No known risk flags found

This is not a security endorsement. Review source, permissions, and configuration before installing.

View evidence and scope

Verification covers only the named source, version, and Harness environment. It does not guarantee future compatibility.

  • github:beijingwahw/dsh-companion#7838ffcd251dc8c0e591829e5009bc305f8940bf
  • The manifest and static structure passed checks; a runtime load check has not completed.

README

View source

DeepSeek Companion(精简版)

License: MIT dsh-plugin DeepSeek Harness

English | 中文

版本说明:本仓库为精简版,包含 A–G 七大模块(对话导出 / 交接摘要 / 成本优化 / 全局检索 / 本地语义检索 / 对话知识资产 / 跨会话知识合成)。 开发者版(A–J 九大模块,含执行轨迹分析、Prompt 工作台、多模型竞技场、任务编排、安全审计)请见 beijingwahw/dsh-companion-dev。

DeepSeek Harness 官方伴侣插件 —— 基于 Cordis 框架与 Harness Plugin SDK 构建,为 DeepSeek Harness 平台提供对话智能导出、上下文交接摘要、API 成本优化、全局对话检索、本地语义检索、对话知识资产与跨会话知识合成七大能力。

  • 开发语言:TypeScript(strict: true,ESM)
  • 运行框架:DeepSeek Harness(Cordis ≥ 4.0,一切皆插件)
  • API 直连:DeepSeek 官方 API(https://api.deepseek.com)
  • 数据安全:所有用户数据仅存于 Harness 插件沙箱本地,API Key 以 AES-256-GCM 加密落盘

功能总览

模块能力独立开关
A · 对话智能导出Markdown / PDF / JSON / PNG 长图导出、回合级勾选导出(角色徽章 + 内容预览 + 全选/全不选,仅导出选中回合)、时间戳开关、隐私脱敏(手机号/邮箱/身份证/银行卡/IP 地址/API 密钥/JWT 自动打码)、批量可视化多选(筛选 + 全选 + 已选计数)、多会话批量 ZIP 打包、导出进度实时显示与一键中止;含中文的 PDF 由客户端 canvas 光栅化为免打印多页 PDF(无 window.print() 对话框冻结)enableExport
B · 上下文交接摘要(上下文工程 2.0)会话选择面板(当前会话徽章 / 筛选 / 选中任意历史会话)、一键生成 ≤500 字四段式交接摘要、map-reduce 分层摘要(超长对话分块压缩,突破单次字符预算,段级缓存复用)、查询聚焦(输入主题定向保留相关内容)、上下文血缘图谱(追踪摘要跨会话传播链路:来源/后代 + 深度)、上下文压力监测(token 估算 + 耗尽预测 + 四级健康建议,交接前一眼看清"还能聊多久")、可编辑、复制到剪贴板、保存为模板、导入摘要作为新对话的 system 首条消息实现上下文继承、摘要质量体检(纯本地评分:词元覆盖 / 四段式结构 / 长度纪律 / 压缩比 + 漏词清单——摘要丢了什么一眼可见)enableHandoff
C · API 成本优化(开发者模式 + 预测性成本智能)API Key 加密托管、官方动态计价引擎(每小时抓取 DeepSeek 与国产厂商官方定价页,新模型/调价自动导入,抓取失败静默降级内置快照)、峰谷分时计价(高峰时段按高峰价计费)、峰谷自动调度(高峰窗口实时解析自官方定价页)、模型智能路由、日/月双档预算 80%/100% 预警并自动暂停非必要调用、缓存命中折扣计费、每日/每周 Token 消耗与费用报表;预测性成本智能:支出预测(OLS 线性回归外推 + 月末投影)、异常检测(中位数 + MAD 鲁棒 z 分数)、what-if 模拟(调用量倍数 / 缓存命中率 / 模型迁移场景沙盘)、变化归因(按模型分解费用变化,定位"这个月多花的钱去哪了");节能顾问(GET /cost/advice:把用量数据翻译成按优先级排序的行动建议——预算刹车摊平日预算、峰谷迁移节省估算、缓存命中率提升潜力、模型迁移候选,每条附月度节省估算)enableCost
D · 全局对话检索 + 对话内搜索关键词模糊搜索、时间范围筛选、自定义标签增删与按标签过滤、结果点击直达对话、自然语言时间过滤(range=近7天 / 上周 / 本月 等中文与英文表达直接翻成时间窗,未识别静默降级);对话内搜索(Ctrl+F 浮动查找栏,CSS Custom Highlight API 无侵入高亮,大小写/全词开关、查询历史、流式输出期间自动重同步)enableSearch
E · 本地语义检索(自适应检索系统)纯本地混合检索引擎:BM25 词法 + 字符 trigram 哈希向量语义近似 + RRF 倒数排名融合 + 时序感知加成,检索质量显著超越关键词匹配且零外部依赖;查询智能(拼写纠错 + 从你的语料学到术语关联的共现扩展,响应携带溯源注记)、质量诊断(相关度强度 + 双通道覆盖率 + 可执行建议)、相关性反馈学习(点击即反馈:查询词并入会话点击画像,后续检索温和上浮你最终打开过的会话——饱和计数 + 90 天半衰 + 35% 封顶三重防漂移,越用越懂你)、MMR 多样性重排(λ=0.7 贪心选择,头部结果从"最优的重复"变成"最优且互补的组合")、知识地图(全部会话质心贪心聚类为主题簇,发现"重复解决过哪些问题",点击簇标签直达深入检索)、查询建议(输入框自动补全:语料前缀补全 + 共现续写 + 点击画像加权,"你的语料告诉你该搜什么")、命中解释(每条命中携带透明账本:词法命中词 × 频次、语义形状相似度、新近/反馈加成分解 + 一句话人话摘要——"为什么是这个会话"一目了然)、零命中救援(检索失败自动放宽查询:宽阈值纠错 0.35 + 噪声词剔除后重试,救援过程全溯源可回退)、检索盲区分析(零命中查询自动入日志,词元级聚合挖掘"反复搜索但历史无覆盖"的主题——次数 × 停留跨度 × 新近度评分,告诉你该补什么知识)、主动脉搏(主动洞察引擎:盲区缺口 + 反馈学习画像 + 索引健康三类信号源即时聚合为洞察卡片,按严重度排序、封顶 6 条,推送克制)、在线学习排序(轴线 28,FTRL-Proximal:点击即训练——skip-above 正负例配对 + 逐坐标自适应学习率 + L1/L2 正则,学到的乘数温和上浮你更可能点开的会话(±30% 封顶、warmup 渐进),模型持久化重启不丢);语义/关键词模式一键切换、语义排名徽章(词法/语义名次)、命中摘要片段;惰性增量索引(updatedAt 漂移检测 + 5 秒节流),语料统计与倒排表增量维护(无过滤查询免全语料扫描,实测提速 37 倍);负向词排除(-词 修饰符:docker 网络 -k8s 把含排除词的会话整体出局——排除是硬约束不是降权,判定与索引同源分词,响应附 negations 溯源);命令面板 find <词> / map [minSize] / blindspots / pulseenableRetrieval
F · 对话知识资产把对话升级为可积累的知识资产:实体抽取(纯本地规则抽取命令 / 路径 / 技术专名 / 代码标识符 / 中文术语 / 版本号六类实体,零 LLM 调用)、自动标签建议(freq × 类型权重 × IDF 打分推荐标签,一键应用,尊重用户判断)、关联会话推荐(实体重叠 + IDF 加权 + 余弦式归一,回答"还有哪些对话在谈同一件事")、全局实体图谱(点击实体直接发起检索,知识变检索入口)、主题趋势演化(实体动量:近窗口 vs 上一窗口频次变化率,rising / falling / stable 三向判定 + 最近 8 周逐周覆盖时间线,一眼看出"最近在火什么、什么在退烧")、认知引擎(前瞻记忆 / 间隔重复 / 类比检索 / 遗忘预测 / 节律自适应 / 认知负荷调度,轴线 20–25)、图认知引擎(知识大陆:实体共现图上的 Louvain 社区发现,知识域自然聚块 + 骨架实体,轴线 26;星图导航:个性化 PageRank 从查询实体多跳浮现隐性关联,轴线 27;主题漂移:BOCPD 贝叶斯变点检测定位"注意力何时从 A 切到 B",轴线 30;记忆固化:MinHash-LSH 近重复聚类——同一问题的多次出现折叠为强化度,重复从污染变资产,轴线 31);知识考古(轴线 32):会话流时间切片 + 逐纪元 Louvain 社区发现——相邻纪元社区血脉匹配产出板块事件(新生 / 延续 / 分裂 / 合并 / 消亡),回放知识版图的地质史;回声雷达(轴线 33):会话级 MinHash 复发检测——回声簇 + 平均复发周期("你每 12 天重新问一次 docker 网络")+ 近窗回声率,复发 ≥3 次的主题建议固化为交接模板;知识暗物质(轴线 34):实体共现图上的链路预测——CN / Adamic-Adar / Resource Allocation 三指数给"从未同场出现但共享强邻居结构"的实体对打分,检测该连而未连的知识对(你的历史暗示相关、却没有任何一场对话同时谈到的暗区)enableKnowledge
G · 跨会话知识合成(Deep Research)面向全部历史对话的深度研究引擎:块级检索(会话按回合分块,词法命中率 + trigram 余弦双通道打分)、证据选择(次模组合优化:设施选址目标 = 块相关分 + 问题方面覆盖,惰性贪婪逼近 (1−1/e) 最优——互补证据优先、冗余证据边际增益自动归零,防单一会话垄断证据)、契约式合成(只用证据作答 + [编号] 引用标注 + 证据不足时明确声明,结论先行、矛盾明示)、知识演化追踪(跨会话信念版本化:同一主题的版本号/数值随时间变化即演化事件,语义化版本比较判定升级/回退,生成"你现在应该相信什么"的信念时间线——答案不是错的,只是旧了)、证据来源一键跳回原会话;研究预演(POST /synthesis/preview:零 LLM 证据预演——先看将采用的证据、方面覆盖与 token 预算占用,再决定是否花钱合成);命令面板 research <问题> 同通道enableSynthesis

七个模块均为独立 Cordis 子插件,可任意组合启停,互不影响。

认知架构 3.0(轴线 1–34):插件内部沿 34 条「轴线」持续演进——从统计(BM25 / 规则实体抽取 / 指数滑动平均)到学习(FTRL-Proximal 在线排序 / 间隔重复闭环控制 / SM2 遗忘调度)再到推理(Louvain 社区发现 / 个性化 PageRank / 次模证据选择 / BOCPD 变点检测 / MinHash-LSH 记忆固化 / 时间切片板块构造 / 会话级回声雷达 / 共现图链路预测)。全部认知计算纯本地完成:零 LLM 调用、零网络请求、零隐私外泄。


安装

前置要求

  • DeepSeek Harness >= 0.1.0
  • Node.js ^22.19 || >=24
  • pnpm(npm install -g pnpm)

一键安装

dsh plugin add beijingwahw/dsh-companion --profile web

启动后插件面板自动加载:

dsh web

常用进阶命令:升级 dsh plugin upgrade dsh-companion --profile web;卸载 dsh plugin remove dsh-companion --profile web;本地路径安装 dsh plugin add ./dsh-companion --profile web。更多方式见「开发期热更新」后附。


开发期热更新(HMR)

层方法生效范围
运行配置编辑 dsh 用户层 cordis.patch.yml(~/.dsh/profiles/<name>/ 或 ~/.dsh/),保存即生效dsh 原生监视用户层,事务性重载该行(bundle 层默认值已全量列出,照抄整行覆盖即可)
开发期代码npm run dev 起独立 cordis + HMR 进程保存 src/ 下任意文件或 cordis.yml → 旧实例卸载(effect 回卷)→ 新代码挂载,无需重启
安装产物改代码 → pnpm build → 重新 dsh plugin add beijingwahw/dsh-companion --profile web → 重启 dsh更新已安装的插件

npm run dev 的组成:仓库根 cordis.yml 依次挂 logger / timer / hmr / 宿主桩 / 本插件(直接加载 src/index.ts,config 与 cordis.patch.yml 逐键一致); dev/host-stubs.ts 提供 dsh 宿主 7 个服务的最小桩(webServer / storageDomain / credentials / sessionQuery / commands / settings / systemPrompt)——存储域为内存版且按名缓存,热重载后开发数据不丢。

注意:开发 HMR 需 Node ≥ 24.11(24.1.0 等早期 24.x 的 Node 内部接口与 cordis-plugin-loader 1.0.2 不兼容,表现为编辑文件不触发重载)。

从源码构建安装(贡献者 / 离线场景)

git clone https://github.com/beijingwahw/dsh-companion.git
cd dsh-companion
pnpm install
pnpm run build
pnpm test
dsh plugin add . --profile web

开发循环与测试约定详见 CONTRIBUTING.md;变更历史见 CHANGELOG.md。


使用说明

配置 DeepSeek API Key(模块 C 前置)

  1. 打开插件设置页的「开发者模式」总开关。
  2. 在「API Key 管理」输入框粘贴你的 DeepSeek API Key 并保存。
    • Key 通过 AES-256-GCM 加密后存入 Harness 插件沙箱的 companion 存储域;
    • 任何接口响应、日志、事件中均不会出现 Key 明文(/cost/state 仅返回 apiKeyConfigured 布尔)。
  3. 可选:点击「测试连接」验证 Key 有效性(对应 /cost/test-call)。

模块 A:导出对话

  • 单次导出:对话界面头部操作区点击「导出」,或命令面板执行 export。选择格式(Markdown / PDF / JSON / PNG 长图),勾选是否保留时间戳(默认开启)、是否隐私脱敏,确认后文件经浏览器下载到本地。
  • 回合级选择(吸收自 dsh-conv-export):导出对话框内逐回合勾选——角色徽章(用户蓝 / 助手绿)+ 两行内容预览 + 时间,全选/全不选与已选计数实时更新;仅导出选中回合(如剔除失败的尝试或跑题的段落),默认全选。批量导出模式不参与回合选择。
  • 导出进度与中止:光栅化导出进行中按钮实时显示「done/total」分片进度;「取消」按钮变为「中止导出」,中止信号贯穿 API 请求与逐片光栅全过程;导出进行中 Esc 不再关闭对话框(以中止按钮为唯一出口)。
  • PNG 长图:整篇对话经客户端 canvas 光栅化(SVG foreignObject,2x 视网膜)为一张纵向长图直接下载;仅客户端界面可用(命令面板无 canvas),不参与批量 ZIP。
  • 批量导出:导出对话框勾选「批量导出」进入可视化多选界面——全选/全不选工具栏、已选计数(n/N)、按标题或会话 ID 实时筛选(全选作用于当前筛选结果并与已有选择取并集)、勾选行高亮与未勾选行淡化;确认后自动打包为 ZIP 下载(单次最多 100 个会话,自动去重;命令 export-batch 仍可直接按 ID 列表导出)。
  • PDF 说明:纯 Latin-1 内容直接生成结构化 PDF 文件;含中文等非 Latin-1 字符时由客户端光栅化为免打印多页 PDF(A4 分页、JPEG 编码、零依赖 PDF 组装),全程无 window.print() 对话框——该路径在部分平台(尤其 Windows Chrome)会冻结整个浏览器;无光栅能力的环境(命令面板)退回打印视图由浏览器另存为 PDF。

模块 B:交接摘要

  • 生成:对话头部点击「交接摘要」按钮(或命令 handoff),对话框顶部的会话选择面板默认选中当前会话(带「当前」徽章)并自动生成摘要;也可按标题 / 会话 ID 筛选后选择任意历史会话生成(选中即自动重新生成,切换会取消在途请求并重置编辑状态)。插件调用 DeepSeek API 按固定四段式 Prompt 生成摘要:核心结论 / 已解决的问题 / 关键背景信息 / 待办事项与未解决问题(≤500 字)。
  • map-reduce 分层摘要(上下文工程 2.0):超长会话超出单次摘要字符预算时自动分块——map 阶段逐段要点摘要(段级缓存,未变更的分块不重复调用),reduce 阶段递归归并为最终摘要;统计信息展示分块数与缓存命中数。
  • 查询聚焦:摘要对话框输入聚焦主题(如"部署流程"、"性能优化")后重新生成,Prompt 将定向保留与主题相关的内容,无关细节被压缩——同样的预算,更相关的上下文。
  • 上下文血缘图谱:摘要对话框底部展示该会话的血缘——内容从哪些会话流入(来源链)以及摘要流向了哪些会话(后代链),每条记录带深度与内容摘录,跨会话的上下文传播一目了然。
  • 上下文压力监测(GET /handoff/context-health):摘要对话框顶部的压力仪表实时展示选中会话的 token 占用——估算 token 数与占用百分比进度条、按近 N 回合平均增速外推的"还可聊多少回合"耗尽预测、四级健康分级(healthy / watch / advice / critical)与对应交接建议;帮助用户判断"现在交接是否已经太迟"。
  • 编辑与复用:摘要在可编辑弹窗中展示,支持「复制到剪贴板」与「保存为模板」;模板可后续查看、删除,生成摘要时也可指定已有模板作为指令文本(缺省回退固定契约 Prompt)。
  • 导入继承:新建对话时通过输入区 dock 的「导入历史摘要」入口(或命令 handoff-import)粘贴摘要。插件将其武装给下一个新对话,自动作为 system 角色第一条消息注入,实现跨对话上下文继承。

模块 C:成本优化

  • 官方动态计价:计价引擎每小时抓取 DeepSeek 官方定价页(含峰谷分时计划)与智谱/百度文心/字节豆包/Kimi 等国产厂商定价页,自动发现带价模型并导入;官方价格内容变化时持久化新快照,重启后沿用;抓取失败静默降级为内置刊例价快照,不影响实时计价。用户可按模型 id 自定义单价覆盖(最长前缀匹配)。
  • 峰谷分时计价:官方定价页声明的高峰时段(缺省北京时间 9:00–12:00、14:00–18:00)按高峰价计费,空闲时段按空闲价;缓存命中的输入按折扣价计费。
  • 峰谷自动调度:开启后,任务可标记「紧急 / 普通」。「普通」任务在高峰时段进入延迟队列(容量上限 100),自动等到空闲时段再发起 API 调用;高峰窗口优先取计价引擎对官方定价页的实时解析,异常时回退内置缺省窗口;预算暂停期间排队任务会在执行前被复检拦截;交互式操作(如生成交接摘要)按「紧急」处理,不参与延迟。
  • 模型智能路由:开启后按任务类型自动选模 —— 翻译、摘要等简单任务走 deepseek-chat,代码生成、推理等复杂任务走 deepseek-coder;支持自定义路由规则覆盖默认策略。
  • 日/月双档预算:分别设置日预算与月预算上限(CNY,0=不限)。任一档消耗达 80% 时通过 Harness 通知系统提醒;达 100% 时再次提醒并自动暂停非必要 API 调用(必要调用仍放行但持续告警)。
  • 成本报表:独立视图页提供详尽可视化面板——汇总卡片(调用数 / Token 总量 / 费用 / 节省金额 / 延迟执行数 / 缓存命中率 / 日均费用 / 峰值日)、日/月预算进度条(80% 黄、100% 红)与在途调用预授权展示、每日 Token 图(输入/输出堆叠)、每日费用与节省对比图、模型费用排行(水平占比条 + 调用数与费用占比)、缓存命中结构条(命中折扣价 / 未命中全价)、峰谷 24 小时时间轴(高峰段高亮)、多厂商定价概览(厂商 + 模型数 + 实时/快照/自定义来源徽章)、定价来源与抓取时间,支持手动触发官方定价刷新。命令 usage 可在面板内快速查看本月文本报告。
  • 预测性成本智能(HTTP API,供报表视图与外部集成消费):
    • GET /cost/forecast:支出预测——OLS 线性回归拟合「日费用 ~ 时间」趋势并外推未来 N 天,返回趋势斜率、拟合优度 R²、日均费用、逐日预测点与月末费用投影(已花费 + 未来预测到月底);历史不足 5 天时返回 sufficient: false。
    • GET /cost/anomalies:异常检测——中位数 + MAD(绝对中位差)鲁棒 z 分数定位费用异常日,对离群值免疫(均值/标准差会被异常值本身污染);按严重度分级(mild / high / critical)并返回期望值与偏离倍数。
    • POST /cost/what-if:场景沙盘——在历史基线上叠加调用量倍数、目标缓存命中率、模型迁移(from → to 比例)三种算子的任意组合,返回基线 vs 投影的日费用、30 天投影与按模型分解。
    • GET /cost/attribution:变化归因——对比最近 N 天与前 N 天两个等长窗口,按模型分解费用变化贡献份额(降序),回答"这个月多花的钱去哪了"。

模块 D:全局检索与对话内搜索

  • 历史对话列表顶部注入全局搜索框(或命令 search):
    • 关键词:模糊匹配全部历史对话内容;
    • 时间:日期选择器按范围过滤;
    • 标签:命令 tag 或结果页为会话增删自定义标签,支持按标签筛选。
  • 搜索结果以列表呈现,附命中片段,点击直达对应对话。
  • 对话内搜索(吸收自 dsh-conv-search):对话头部点击「对话内搜索」或按 Ctrl/Cmd+F 打开浮动查找栏:
    • Enter / Shift+Enter、F3 / Ctrl+G:下一个 / 上一个命中(环绕);Esc 关闭;↑ / ↓ 浏览查询历史;
    • Aa / ab 开关:区分大小写 / 全词匹配;
    • 高亮经 CSS Custom Highlight API 以覆盖层绘制,不触碰 React 管理的转录 DOM;模型流式输出或加载更早消息时经 MutationObserver 自动重同步,激活命中按「文本节点 + 偏移」身份保持,不跳动读者的滚动位置;
    • 匹配只扫描对话滚动视口,自动排除输入区草稿与搜索栏自身,无幻影命中。

模块 E:本地语义检索(检索智能)

  • 检索视图页顶部的模式 Pill 一键切换语义检索(混合排序)与关键词检索(FTS)。
  • 混合排序:每条命中附词法排名与语义排名徽章及 RRF 融合分——BM25 捕捉精确词法匹配,字符 trigram 哈希向量捕捉"字符组成相似但用词不同"的近义表达(中英混排、拼写变体),RRF 倒数排名融合两路结果,对单路失效鲁棒。
  • 查询智能(轴线 8):检索前对查询自动做两级扩展,扩展词只追加不替换——
    • 拼写纠错:查询词不在语料词表时,用 trigram 余弦在词表里找最近邻(≥ 0.55 且该词真实出现 ≥ 2 次才采纳)——"perfomance" 自动救回 "performance",纠错候选必然可在你的对话里命中,不猜通用词典;
    • 共现扩展:对语料中真实出现的查询词,经倒排表直达包含它的文档,统计同文档共现词的 salience(共现文档数 × IDF)取最强者——从你自己的语料学到术语关联(中文提问 ↔ 英文术语、缩写 ↔ 全称),随对话积累自进化;
    • 扩展溯源随响应返回(expansion.notes),检索视图页的智能提示栏以 Pill 展示"auth←鉴权(共现)",扩展行为完全可解释。
  • 时序感知排序(轴线 9):融合分乘性新近度加成 1 + 0.25 × 2^(-年龄/30天)——排名语义不变,仅把同等相关性向近期轻推(最新文档最多 +25%,相关性仍占主导)。
  • 质量诊断(轴线 10):每次检索返回四级判定(strong/fair/weak/empty)+ 相关度强度(头部融合分 / 理论满分)+ 双通道覆盖率 + 区分度 + 可执行建议;空结果区分"索引未建立"与"查询写法问题";智能提示栏一行人话把黑盒分数翻译成"这次检索可信吗"。
  • 在线学习排序(轴线 28,FTRL-Proximal):点击即训练——你点开的会话为正例,呈现序中排在它之上的未点击会话为 skip-above 负例(降权 0.25),逻辑回归经 FTRL-Proximal 在线优化(逐坐标自适应学习率 + L1 稀疏 + L2 平滑);特征 = 词法名次 / 语义名次 / 新近度 / 反馈画像 / 标题匹配 / 偏置。学到的乘数 1 + 0.3 × (2p−1) × warmup 温和上浮你更可能点击的会话(±30% 封顶,warmup 随训练量渐进防小样本过调),只调序不颠覆排序语义;模型持久化到存储域,重启不丢。GET /retrieval/status 附 ranker 诊断(训练量 / 点击数 / warmup / 逐特征权重方向——模型学到了什么完全透明)。
  • 检索盲区分析(轴线 19,GET /retrieval/blindspots / 命令 blindspots):零命中(且救援也失败)的查询自动写入日志——"反复想找但历史里没有"是最真实的知识缺口信号。分析时按词元聚合(多主题长查询同时给每个主题锚记一次敲击),盲区评分 = 搜索次数 × log(1 + 首末停留天数) × 新近度(90 天半衰),孤例失败不推送;每个盲区附查询原形与一句话行动建议。
  • 主动脉搏(轴线 18,GET /retrieval/insights / 命令 pulse):主动洞察引擎——信号提供者注入式架构聚合盲区缺口(轴线 19)、反馈学习画像(轴线 11)、索引健康(覆盖率/最近同步)三类信号源为洞察卡片;按严重度(critical/watch/info)排序、封顶 6 条、单一信号源失败静默隔离;检索视图页「主动脉搏」按钮即开即合成。
  • 零外部依赖:全部计算本地完成,无嵌入模型、无网络请求,隐私红线——不上传任何第三方。
  • 惰性增量索引 + 增量语料统计:每次检索前对账会话列表(updatedAt 漂移检测,5 秒节流),仅重读变更会话;termDf/gramDf/平均长度/词元倒排表随 put/delete 增量维护,无过滤查询直读缓存(免全语料扫描,实测提速 37 倍);索引持久化到存储域,重启不丢。POST /retrieval/reindex 可手动全量重建。
  • 命令面板执行 find <检索词> 同样走混合检索,输出附查询扩展溯源与质量摘要行。

模块 F:对话知识资产

  • 全局实体图谱:检索视图页底部的知识面板展示覆盖会话数最多的头部实体(命令 / 路径 / 技术 / 代码 / 术语 / 版本六类徽章);点击任一实体直接以实体名发起检索——知识图谱变成检索入口。
  • 单会话洞察:检索结果行点击「知识」按钮,面板展开该会话的洞察:
    • 实体列表:按显著性(freq × 类型权重 × IDF)降序,附频次与全局覆盖数;
    • 建议标签:头部实体推荐为标签,一键应用到该会话(复用模块 D 标签系统;只建议不自动写入,尊重用户判断);
    • 关联会话:基于实体重叠推荐相关历史对话(IDF 加权——共享稀有实体比共享常见实体更能说明"在谈同一件事";余弦式归一避免长会话偏向),附共享实体与相似度,点击直达。
  • 实体抽取为纯本地规则:行首命令动词表、路径模式、技术专名(缩写 / 驼峰 / 高频首字母大写)、代码标识符(驼峰 / snake_case / 反引号 / 点号链)、中文引号术语、版本号——零 LLM 调用、零成本、零隐私外泄。
  • 主题趋势演化(GET /knowledge/trends):知识面板顶部展示实体动量榜——对比近 N 天与上一 N 天两个等长窗口的实体频次,计算动量(变化率)并判定 rising / falling / stable 三向;每行附迷你周级柱状图(最近 8 周逐周覆盖会话数),点击趋势行直接以实体名发起检索;动量排序优先 |momentum| × log(总频次),避免"3→6 次"的小样本噪声压过真正的长期趋势。
  • 前瞻记忆引擎(轴线 20,GET /knowledge/cognition / /knowledge/intentions / 命令 todo):对话里说过要做的事("明天试试这个方案"、"下周再优化"、"回头重构")自动提取为前瞻意图——时间标记(明天/后天/周末/下周/下个月,模糊标记取 7 天缺省视界)× 意图动词共现判定,问句排除("怎么修复?"是求助不是承诺);到期后主动浮现(超期越久越靠前,≥14 天升级为 critical 洞察)——"5 天前你说要试试 X,做了吗?"兑现或放下,都好过遗忘。
  • 间隔重复巩固(轴线 21,POST /knowledge/review/grade / 命令 review):从对话中提取"问题 → 解法"片段作为知识卡片(问题行 × 窗口内解法行配对),SM2 精简版间隔调度(1/3/7/14/30/60 天阶梯)——到期提醒复习,检索式练习(先看问题回忆解法,再翻开核对),"记得"升档、"忘了"归零次日重来;新片段先沉一晚次日首复习,对抗遗忘曲线。
  • 类比检索(轴线 22,GET /knowledge/analogy?q= / 命令 analogy):把问题抽象为结构形状(约束类别 × 解法类别:网络/性能/版本/依赖/并发…),跨全部历史经验做形状级匹配——相似度 = 0.7 × 约束重叠系数 + 0.3 × 解法重叠系数;主题词元重叠低而形状分高判定为跨域类比(领域不同而结构相同,如 docker 网络隔离 ↔ k8s service 互通——主题检索永远找不到的先例),单独标注优先展示。
  • 遗忘预测引擎(轴线 23,GET /knowledge/forecast / 命令 forecast):为每一条知识片段给出连续的记忆画像——艾宾浩斯指数衰减模型 R(t) = exp(-t/S) 计算当前保持率(含从未进入复习循环的旧片段),稳定性 = 档位间隔 × 个体节律 × 标定因子(标定保证「到期时刻的预测保持率恰等于阈值」,与轴线 21 调度数学自洽);三档分区:≥70% 稳定 / 30–70% 滑落区(最佳巩固窗口,救得回来)/ <30% 深度遗忘区;节律漂移预警——复习日程按当时的节律排定,预测用当前的节律重算,节律变差时未到期的知识也会被提前预警(日程已过期,记忆还在衰减)。
  • 个体节律自适应(轴线 24,GET /knowledge/rhythm / 命令 rhythm):你不是「平均人类」——闭环比例控制器以 85% 命中率(合意困难工作点)为目标动态调整节律系数 ease ∈ [0.5, 2.0],直接乘进间隔阶梯:命中率高 → 间隔拉长省出注意力,命中率低 → 间隔压缩抢在遗忘前巩固;间隔拉长 → 命中率下降 → ease 回落,控制器自稳收敛到「你的」遗忘曲线;冷启动保护(样本不足 3 次不动系数)。
  • 认知负荷调度(轴线 25,GET /knowledge/load?cap=):注意力是稀缺资源——到期复习按「可救性 × 巩固投资」分诊:滑落区知识正处最佳巩固窗口优先安排,深度遗忘区降权(按重新学习节奏,不挤占救得回来的名额),高档位滑落加权保护(60 天档滑落比 1 天档损失更大);每日封顶(默认 8 条)+ 洪峰顺延(不是丢弃),负荷状态透明(clear / normal / overload)——复习是一份每日计划,不是一场倾倒。
  • 知识大陆(轴线 26,GET /knowledge/continents / 命令 continents):实体共现图上的 Louvain 社区发现——两阶段迭代(局部移动 → 社区聚合)最大化模块度,把你的知识域切成自然聚块的大陆,无需预设簇数。与内容聚类不同,图社区发现显式惩罚"随机连接的稠密":高频枢纽实体(npm、docker)与谁都共现,但只会归属于它连接最紧密的一块大陆。每块大陆展示成员数、覆盖会话数、内聚度与核心实体(按度数降序的骨干);多层社区逐层聚合自动发现多尺度结构,模块度 Q 量化"大陆划分有多可信"。
  • 星图导航(轴线 27,GET /knowledge/starmap?q= / 命令 starmap):从查询命中的实体(种子)出发,带重启的个性化 PageRank(阻尼 0.85)计算稳态"引力"分布——一个实体与种子在图上连接越密,引力越强。关键价值在多跳关联:距种子 2–3 跳的高分实体(标注跳数)是你没想到的隐性关联(主题检索永远找不到的图上邻居),如从 docker 出发经共现链抵达 k8s service。种子未命中时返回引导文案(换用实体专名)。
  • 主题漂移(轴线 30,GET /knowledge/drift?lambda= / 命令 drift):会话流(标题 + 实体名投影,零转录重读)上的 BOCPD 贝叶斯变点检测——unigram 语言模型算逐会话意外度(bit 数),危险率 λ 控制期望运行长度(缺省 16,区间 [6, 96],小 = 对切换更敏感),前向后向平滑得变点概率。输出"注意力何时从 A 切到 B":每个变点带置信度、切换强度(bit 跳变)与前后特征词对照;当前主题段附持续长度与特征词。回答"我这段时间的兴趣轨迹是什么、在哪里换了频道"。
  • 记忆固化(轴线 31,GET /knowledge/consolidation / 命令 consolidate):全部「问题→解法」片段上的 MinHash-LSH 近重复聚类——同一个问题换个文件名再问一遍、相似的配置改个参数再来一次:128 维 MinHash 签名(期望相似度 = Jaccard)经 16 带 × 8 行 LSH 分带生成候选对(S 曲线阈值 ≈ 0.71),真实 Jaccard ≥ 0.65 验证,并查集传递归并成簇。每簇的报告即价值:出现次数 = 强化度(间隔重复的天然燃料——重复 N 次的知识天然值得更高复习优先级)、首末出现时间、代表问题与簇紧致度;冗余折叠数与压缩率量化"你的知识库有多虚胖"。把重复从污染变成资产。
  • 知识考古(轴线 32,GET /knowledge/archaeology?windows=N / 命令 archaeology):会话流按 index 均分为 N 个「纪元」(缺省 4,范围 2–12),每纪元独立构建实体共现图并跑同源 Louvain(参数一致保证跨纪元可比),相邻纪元的社区按成员实体键集合算 Jaccard 建立血脉(阈值 0.3),血脉结构分类为五类板块事件——新生(新知识域形成)、延续(大陆跨纪元存活,附成员重叠率)、分裂(关注点分化,如 docker 网络分化出 k8s service 与 istio)、合并(分散主题收拢成一块大陆)、消亡(知识域沉没:换方向/问题已解决)。轴线 26 回答"版图现在长什么样",轴线 32 回答"这块版图是怎么长出来的";与轴线 30 的分工——漂移在会话流上看注意力切换(看浪),考古在纪元间看知识域结构变迁(看洋流)。
  • 回声雷达(轴线 33,GET /knowledge/radar?days=N / 命令 radar):比片段级重复更隐蔽的浪费是整场会话的复发——两周前问过"docker 容器怎么互相访问",今天又开了一场几乎一样的会话。雷达把轴线 31 同源的 MinHash-LSH 应用到会话粒度(文本投影 = 标题 + 实体名,零转录重读;阈值 0.55),回答三个问题:回声簇(哪些会话互为近重复)、复发周期(首末间隔 / (次数−1)——"你平均每 12.3 天重新问一次",周期短于遗忘阶梯就意味着总在遗忘后重新发现)、回声率(近 N 天新会话中命中历史回声的占比——你的新对话有多少在"重新发现已知")。行动分层:复发 ≥3 次 → 建议固化为交接模板(直连模块 B);恰好 2 次 → 关注级。
  • 知识暗物质(轴线 34,GET /knowledge/darkmatter?limit=20 / 命令 darkmatter):轴线 26/27 都只看共现图上看得见的连接,但一张知识图谱最值钱的信息往往是该连而未连的边——docker 与 systemd 从未同场出现,却共享 5 个共同邻居;你的历史在用共现结构暗示"它们相关",只是没有一场对话把它们放到一起。暗物质引擎在实体图上做链路预测(Liben-Nowell & Kleinberg 2003 局部指数族):对每个未连接且存在共同邻居的实体对计算 CN(共同邻居数)、Adamic-Adar(Σ 1/ln(deg)——经过枢纽的"认识"不值钱,低度专业桥才是强证据)与 Resource Allocation(Σ 1/deg——更强折扣)三指数,融合分 = 0.5×AA 归一 + 0.5×RA 归一;候选对按桥节点展开天然跳过无邻居对,枢纽(度数 > 40)不作桥证据,病态稠密图预算熔断。暗连接是研究建议而非事实——它们回答"下一场对话值得把谁和谁放到一起",暗物质清单 = 知识宇宙里最值得点亮的暗区。与轴线 27 的分工:星图沿已有边扩散引力(已知连接的深挖),暗物质预测缺失边(未知连接的发现)。
  • 认知面板:检索视图页「认知面板」按钮(CognitionPanel)一屏整合六轴——到期意图列表(超期徽章 + 即将到来预告)、遗忘预测区(保持率进度条 + 分区徽章 + 距跌破阈值倒计时,滑落区优先展示)、复习卡片(负荷分诊结论 + 回忆 → 核对 → 自评闭环 + 节律系数标记)、类比检索框;洪峰时复习区顶部显示顺延徽章与负荷摘要;「主动脉搏」同时聚合认知脉搏(到期意图 / 复习 / 片段资产 / 遗忘预测 / 节律 / 负荷 / 主题漂移 / 记忆固化八类信号),认知信号与检索信号统一推送。
  • 命令面板执行 insight(全局图谱)或 insight <会话ID>(单会话洞察)。

模块 G:跨会话知识合成(Deep Research)

  • 入口:检索视图页搜索框旁的「深度研究」按钮(输入问题后点击),或命令面板 research <问题>(如 research 我之前对性能优化得出过哪些结论?)。
  • 块级检索:候选会话(FTS 关键词召回 + 近期会话兜底,封顶 32 个)按回合分块(1800 字符/块,回合不跨块),每块经词法命中率 + trigram 余弦双通道打分(各占 50%),复用模块 E 的同源分词器但粒度到块——检索的是"证据片段"而非"会话"。
  • 次模证据选择(轴线 29):设施选址次模目标——块相关分 + 问题方面覆盖(方面 = 问题词元,权重 = 稀有度:包含该词元的候选块越少越重要,长尾词是问题的真指纹)。次模性让"第二块讲同样内容"的证据边际增益自动归零(冗余被目标函数惩罚),三块各讲一半的互补证据反而胜出——分数降序看不见这一点;惰性贪婪(CELF)按边际增益/成本比维护优先队列,评估次数远小于朴素贪婪,逼近 (1−1/e) ≈ 63.2% 最优。三重约束:至多 10 块、单会话封顶 3 块、总预算 26000 字符(尾部块按剩余预算截断而非丢弃)。
  • 契约式合成:合成 Prompt 强制三条纪律——只使用证据中出现的信息(不足时明确回答"证据不足")、每个关键论断带 [编号] 引用标注、先给直接结论再列依据且矛盾明示;回答即带引用的"迷你研究报告"。
  • 结果展示:回答下方列出全部证据来源(会话标题 + 日期 + 摘录),点击直达原会话;统计行显示检索会话数 / 命中块数 / 采用证据数 / 合成模型 / 证据方面覆盖率(选择质量一眼可见)。
  • 知识演化追踪(轴线 17):合成后对证据块做纯本地信念比较——提取主题锚(技术专名)+ 版本号/数值声明,同锚不同值即演化事件(旧值 → 新值 + 双方时间戳与会话);语义化版本比较(v2.10 > v2.9)判定升级/回退,事件按时间升序排成信念时间线。研究面板的「知识演化」区块展示——"这个结论后来被推翻/升级过"一目了然,零 LLM 开销。
  • HTTP API:POST /synthesis/answer(body: { question })、POST /synthesis/preview(零 LLM 证据预演)→ { answer, model, sources[], evolution, stats },供外部集成消费。

配置参考

根配置(cordis.patch.yml 可覆盖任意字段):

字段类型默认值说明
enableExportbooleantrue启用模块 A
enableHandoffbooleantrue启用模块 B
enableCostbooleantrue启用模块 C
enableSearchbooleantrue启用模块 D
enableRetrievalbooleantrue启用模块 E(本地语义检索)
enableKnowledgebooleantrue启用模块 F(对话知识资产)
enableSynthesisbooleantrue启用模块 G(跨会话知识合成)
apiBaseUrlstringhttps://api.deepseek.comDeepSeek API 基址(manifest 已放行该域名)
apiTimeoutMsnumber60000单次 API 调用超时(毫秒)

停用单个模块:将对应开关置为 false(配置层),或在 manifest.json 的模块声明中关闭。模块之间零耦合,停用一个不影响其余模块。


架构简介

src/
├── index.ts              # 宿主入口:挂载核心服务 + 按配置挂载七个模块子插件
├── config.ts             # 根配置 schema(schemastery 校验)
├── core/                 # 核心基础设施
│   ├── service.ts        #   CompanionCore 根服务(ctx.companion,持有动态计价引擎)
│   ├── vault.ts          #   SecretVault:AES-256-GCM 加密保险库
│   ├── crypto.ts         #   AES-256-GCM 原语(Node crypto)
│   ├── deepseek.ts       #   DeepSeek Chat Completions 客户端
│   ├── usage.ts          #   用量记账存储(日粒度,含缓存命中 tokens)
│   ├── pricing.ts        #   计价桥接层(官方 usage → 计价引擎用量形状)
│   ├── price/            #   动态计价引擎(移植自 dsh-usage-ledger):
│   │                     #   types / catalog(多厂商刊例价目录)/ scrapers(官方定价页解析)/ service
│   ├── retrieval/        #   本地混合检索引擎(轴线 1/8/9/10):
│   │                     #   tokenize(分词/trigram)+ engine(BM25 + 哈希向量
│   │                     #   + RRF 融合 + 时序加成 + 增量统计/倒排 + 摘要片段)
│   │                     #   + query(查询智能:拼写纠错 + 共现扩展)
│   │                     #   + quality(检索质量诊断:四级判定 + 通道覆盖 + 建议)
│   │                     #   + ranker(FTRL-Proximal 在线学习排序,轴线 28)
│   ├── graph/            #   实体共现图与图算法(轴线 26/27):
│   │                     #   graph(共现图构建)+ louvain(社区发现:模块度最大化,
│   │                     #   两阶段迭代 + 多层聚合)+ ppr(个性化 PageRank:带重启
│   │                     #   随机游走稳态分布 + BFS 跳数)
│   ├── cognition/        #   认知三轴(轴线 20/21/22)+ 元认知三轴(轴线 23/24/25)
│   │                     #   + 漂移与固化(轴线 30/31)+ 考古与雷达(轴线 32/33):
│   │                     #   prospective(前瞻记忆:意图提取 + 到期计算)
│   │                     #   + episodes(问题→解决片段提取与结构形状)
│   │                     #   + spaced(SM2-lite 间隔重复调度,含 ease 节律乘子)
│   │                     #   + analogy(结构形状跨域类比匹配)
│   │                     #   + forecast(遗忘预测:保持率画像与分区)
│   │                     #   + rhythm(个体节律:ease 闭环控制)
│   │                     #   + load(认知负荷调度:分诊 + 封顶 + 顺延)
│   │                     #   + drift(BOCPD 主题漂移:unigram 意外度 + 变点检测)
│   │                     #   + consolidation(MinHash-LSH 记忆固化:近重复聚类)
│   │                     #   + archaeology(知识考古:纪元切片 + 板块事件分类)
│   │                     #   + radar(回声雷达:会话级复发检测 + 回声率)
│   │                     #   + darkmatter(知识暗物质:共现图链路预测)
│   ├── synthesis/        #   次模证据选择(轴线 29):设施选址目标 + 惰性贪婪 (1−1/e)
│   ├── insights/         #   主动脉搏引擎(轴线 18):信号提供者注入式聚合
│   │                     #   (盲区/学习/索引/意图/复习/片段/预测/节律/负荷/漂移/固化 → 洞察卡片)
│   ├── time.ts           #   北京时间峰谷窗口计算
│   ├── transcript.ts     #   对话转录格式化(MD/JSON)
│   ├── privacy.ts        #   隐私脱敏(手机/邮箱/身份证/银行卡)
│   ├── pdf.ts / zip.ts   #   零依赖 PDF 生成 / ZIP 打包
│   └── http.ts           #   私有 HTTP 路由器(前缀 /companion)
├── modules/
│   ├── export/           # 模块 A:导出 + 批量 ZIP + 光栅载荷(PNG/免打印 PDF)
│   ├── handoff/          # 模块 B:摘要生成 / 模板 / 武装导入
│   │                     #   + hierarchical(map-reduce 分层摘要)+ lineage(血缘图谱)
│   │                     #   + context-health(上下文压力监测:token 估算 + 耗尽预测)
│   ├── cost/             # 模块 C:网关 / 调度器 / 路由 / 日/月双档预算 / 设置
│   │                     #   + forecast(预测性成本智能:预测/异常/what-if/归因)
│   ├── search/           # 模块 D:检索 + 标签
│   ├── retrieval/        # 模块 E:语义检索插件(混合排序接线 + 增量索引)
│   ├── knowledge/        # 模块 F:对话知识资产(entities 实体抽取 + 倒排索引接线)
│   │                     #   + trends(主题趋势演化:实体动量 + 周级时间线)
│   │                     #   + 认知六轴接线(意图/片段/复习三表 + 认知端点与命令)
│   │                     #   + 图认知四轴接线(大陆/星图/漂移/固化端点与命令)
│   └── synthesis/        # 模块 G:跨会话知识合成(Deep Research)
│                         #   retrieval(块级检索)+ submodular 次模证据选择(轴线 29)
│                         #   + 合成 Prompt 构建
├── client/               # 浏览器端 UI(slots 注入,官方组件库)
│   ├── index.tsx         #   客户端入口:slot 注册 + 对话内搜索控制器生命周期
│   ├── api.ts            #   类型化 fetch 封装(全部模块的私有 HTTP API)
│   ├── raster.ts         #   客户端光栅导出引擎(移植自 dsh-conv-export):
│   │                     #   PNG 长图 / 免打印多页 PDF(foreignObject → canvas → JPEG → PDF 组装)
│   ├── convsearch/       #   对话内搜索(移植自 dsh-conv-search):
│   │                     #   engine(Highlight API)/ controller(浮动栏+快捷键)/ styles
│   └── components/       #   导出弹窗 / 摘要弹窗(聚焦+血缘+压力仪表)/ 导入 dock /
│                         #   检索视图(语义开关+知识面板+趋势榜+认知面板+深度研究)/ 报表视图
└── types/                # Harness 子系统适配层类型声明

关键设计:

  • 一切皆插件:宿主入口只做挂载编排;每个功能模块是独立 Cordis 函数插件,注册即 effect,生命周期由 Cordis 自动回卷。
  • 单一服务门面:模块间不互相 import,跨模块协作一律经 ctx.companion(核心服务)或 ctx.companionCost(成本网关)。
  • 双通道同构:命令面板 handler 与私有 HTTP 端点(/companion/*)复用同一套模块服务函数,无重复逻辑。
  • UI 非侵入:所有界面经 Harness slots 注入(conversation.session.header.actions、conversation.input.dock、conversation.view),组件取自官方 UI 原语库,颜色仅用语义令牌,无悬浮窗、无全局样式。

完整的内部契约(服务签名、HTTP API、命令表、slot 清单)见 DESIGN.md。


安全与隐私

要求实现
数据本地化对话内容、设置、API Key 仅写入 Harness 插件沙箱的 companion 存储域,不上传任何第三方服务器
API Key 加密AES-256-GCM(12 字节随机 IV + 认证标签),自描述载荷 v1.<iv>.<tag>.<ciphertext>;密钥与密文分离存储
网络权限manifest.json 全量放行 DeepSeek 官方 API、全部国产与海外主流模型厂商端点、各厂商定价页及常见中转/聚合网关,供动态计价引擎实时抓取;存储域仅 companion;服务清单逐项列明
无追踪无任何遥测 / 行为分析代码;manifest.json 显式声明 tracking: false, telemetry: false
Key 不外泄任何响应、日志、事件中不出现 Key 明文;导出与摘要内容仅在浏览器本地生成

交付物清单

  • 完整 Harness 插件源码(src/,TypeScript strict)
  • manifest.json(权限与隐私声明)、package.json、cordis.patch.yml(bundle patch 层)、tsconfig.json
  • README.md / README.en.md(双语):功能介绍、安装指南、使用说明
  • DESIGN.md:架构契约与开发规范;CONTRIBUTING.md:贡献指南;CHANGELOG.md:变更历史
  • 测试与 CI:pnpm test 统一入口(11 套件 / 226 项断言)+ GitHub Actions(Node 22/24)
  • 七模块独立启停:配置开关 + 独立子插件 + manifest 模块声明三层保障

能力来源

本插件在原有四大模块基础上,吸收并整合了以下三个同系仓库的核心能力:

来源仓库吸收的能力落点
dsh-usage-ledger官方定价页动态计价引擎(实时抓取/解析/兜底快照)、峰谷分时计价、多厂商价格目录与专用解析器、缓存命中折扣、日/月双档预算src/core/price/、src/modules/cost/
dsh-conv-exportPNG 长图光栅导出、免打印对话框多页 PDF(foreignObject → canvas → JPEG → 零依赖 PDF 组装)、图片 data-URL 内联、回合级选择导出(回合预览列表 + 勾选面板 + 进度/中止交互)src/client/raster.ts、src/modules/export/(kind:'raster' 载荷、GET /export/turns + turns 请求字段)、src/client/components/ExportDialog.tsx
dsh-conv-search对话内搜索引擎(CSS Custom Highlight API 无侵入高亮)、浮动查找栏(快捷键/查询历史/大小写与全词开关)、流式输出 MutationObserver 重同步与命中锚点保持src/client/convsearch/

移植时统一了命名空间(companion-*)、注释语言与错误处理纪律,并按本插件的 slots/双通道架构重新接线;全部改动通过 tsc -p tsconfig.json 严格类型检查与累计 226 项冒烟断言(十一套套件:核心原语 28 项——隐私脱敏 / AES-256-GCM / ZIP / PDF / 北京时间峰谷 / 转录派生 / 计价换算;轴线 8/9/10 及引擎一致性 22 项;轴线 11/12/13 19 项;轴线 14/15/16 17 项;轴线 17/18/19 20 项;轴线 20/21/22 29 项;轴线 23/24/25 29 项;轴线 26–31 25 项;轴线 32/33 14 项——板块事件五类分类〔新生/延续/分裂/合并/消亡〕+ 回声簇 / 复发周期 / 回声率 / 行动分层;轴线 34 6 项——CN/AA/RA 三指数、度数折扣与已连对排除;七模块升级 17 项——脱敏 v2〔IP/密钥/JWT〕、摘要质量评分、节能顾问、自然语言时间范围、负向词排除、回声脉搏;另含 Louvain 双语料模块度、PPR 多跳引力、FTRL 收敛性、次模覆盖单调性、BOCPD 变点定位与 MinHash-LSH 传递闭包)。pnpm test 一键执行全部套件,CI(GitHub Actions,Node 22/24 矩阵)逐提交守护。

许可

MIT

Comments

0
Newest first