DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Gao2612 /

Gao2612/relationship-notes

Verified

Local-first relationship notes and editable communication drafts for DSH

★ 0 Stars0 Forks1 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@144693b0

Relationship Notes for DSH

关系手记 3.3.0。本地优先的联系人档案、互动证据与沟通草稿插件。

当前功能

  • 上下文评分结合上一轮问题、建议与话题,识别回答、接受建议及承接信息,并按有效回应回合计分。
  • 单次应和与笑声按中性处理,连续三轮缺少有效回应才触发短回复处罚。
  • 口语分享支持主语变化和自然表达,排除系统消息、媒体及纯占位文本。
  • 互动指标页分开展示投入分、正向表达证据及工作、日常、混合场景统计;正向表达标明礼貌、支持与亲近层级。
  • 结合上一轮感受或好消息识别支持性回应,感受分享与普通事实分享分别计权。
  • 十类识别支持核对原文、排除和恢复,纠正会更新相关计数与评分。
  • 正向信号按回合去重并设上限,小样本分数向 32 折算;回复时延仅作描述,解释不加重摩擦处罚。
  • 评分明细增减项之和与最终分一致,回合计数与月年汇总口径统一。

档案与沟通功能

  • 画像、评分、话题与复盘依据可打开原消息及前后文。
  • 联系人资料和本人计划支持有效期、完成、取消、过期与重新打开;结束的计划退出当前建议和模型上下文。
  • 编辑后的草稿可明确保存为本人表达样例,并撤销本次保存。
  • 话题可标记“已经聊过 / 不合适”,隐藏并可恢复。
  • 行为记录新增周/月复盘,汇总真实话题、未见后续回应的问题及当前跟进项。
  • 设置可预览并限定DSH共享日期和条数,应用后需重新授权。
  • 新消息使用持久ID,旧引用兼容;新增独立视图和自动交付清单。

详见 功能与入口说明。界面截图含真实联系人与聊天内容,仓库不公开截图。

功能清单

主要功能与入口如下。

  1. 联系人档案:查看并确认模型提议的档案事实,分别呈现沟通风格、边界、待跟进与推测线索;支持有效期、归档与删除。
  2. 每日历程:按天查看互动评分、真实话题与“未见后续回应”的问题,可展开原消息及前后文。
  3. 互动评分:查看投入分、正向表达条数、回答和承接回合,以及分场景结果;展开依据查看表达层级,并排除、恢复误识别。
  4. 评分规则:查看公式、权重与条款,可展开逐句解释。
  5. 记录列表:分页、搜索、倒序浏览全部聊天记录,并回到原文定位。
  6. 会话:按联系人浏览完整对话、图片与语音;右侧固定草稿区、相关页面与编辑区。
  7. 沟通辅助:用真诚 / 轻松 / 简短三种风格生成候选草稿,附引用与不确定性说明,可保存为本人样例。
  8. 话题建议:生成可聊话题,标记“已经聊过 / 不合适”并隐藏,可随时恢复。
  9. 行动计划:手动添加目标,设置有效期,标记完成、取消、过期与重新打开。
  10. 周月复盘与设置:汇总真实话题、悬空问题与跟进项;设置含模型选择、字号密度、备份导出/恢复、DSH 共享范围预览。

评分规则(当前版本)

好感线索分由本地规则计算,不调用模型,可逐项复核(页面「评分规则」「打分依据」两页与本段一致)。当前算式为 2026-11-07 调整的 v2.1 规则。

该分数汇总可观察的沟通线索,不是对方喜欢你的概率。回应质量、自我分享和冲突恢复的研究用于选择信号;下列数值权重、32 分参考点及样本阈值属于产品规则,未经情感标签数据校准。研究来源、适用范围和设计取舍见 评分研究说明。升级后历史曲线会按新规则重算,新旧规则分数不宜直接比较。

计算公式

$$ S_0=\mathrm{clamp}!\left(\mathrm{round}(38+W+I-C-T),0,100\right) $$

设 $T_t,T_s$ 为双方可评分回合数,$n_q,n_{\mathrm{sh}},n_{\mathrm{emo}},n_{\mathrm{bnd}}$ 为对方包含提问、分享、个人感受分享、明确负向或边界的回合数。感受分享是分享的子集,因此 $n_{\mathrm{emo}}\le n_{\mathrm{sh}}$。每类信号在同一回合内最多计一次,人工排除的证据不计入;界面仍保留逐条消息证据以供复核。

正向表达按消息识别层级:普通礼貌或表情权重为 1,指向对方的支持或具体感谢为 4,直接亲近表达为 6。设 $p_t$ 为对方第 $t$ 回合内未被排除的正向表达的最高权重,无命中时为 0;同轮道谢和亲近表达不叠加。界面中的正向表达条数包含礼貌表达,不能直接当作亲近表达次数。

$n_{\mathrm{resp}}$ 为有效回答、接受建议或承接话题的回合并集,同一回合同时命中回答与承接只算一次;仍有未排除摩擦或明确负向证据的回合不获得有效回应加分。

$$ \begin{aligned} P&=\min(18,\sum_t p_t),\quad Q=\min(8,2n_q)\ H&=\min(10,2.5n_{\mathrm{sh}}+1.5n_{\mathrm{emo}})\ A&=\min(12,12n_{\mathrm{resp}}/\max(4,T_t))\ W&=\min(45,P+Q+H+A) \end{aligned} $$

设 $a_t,a_s$ 为双方主动开启对话段的次数,$n_{\mathrm{perf}},n_{\mathrm{low}}$ 为敷衍和低信息量回合数,$n_c$ 为摩擦回合数,$G$ 表示同一对话段至少出现两个对方摩擦回合。

$$ \begin{aligned} I&=\begin{cases}4a_t/(a_t+a_s+4),&T_t>0\land T_s>0\0,&\text{其他}\end{cases}\ E&=T_t>0\ ?\ \min(1,(n_{\mathrm{perf}}+n_{\mathrm{low}})/T_t):0\ C&=\min(60,24n_{\mathrm{bnd}}+\mathrm{round}(16E))\ T&=\begin{cases}\min(24,12n_c),&G\\min(8,8n_c),&\text{其他}\end{cases} \end{aligned} $$

分项 规则
基础分 38
正向表达 P 同轮只取最强层级:礼貌/表情 +1、支持/具体感谢 +4、直接亲近 +6;合计最多 +18
提问 Q 每回合 +2,最多 +8
自我分享 H 每个分享回合 +2.5,其中感受分享再 +1.5,分享项合计最多 +10
有效回应 A 12 × 有效回应回合 ÷ max(4,对方回合),最多 +12;正向四项合计最多 +45
负向或边界 每回合 −24;有明确负向或边界时最终分最多 32
敷衍与低信息量 对方回合占比 ×16,四舍五入后扣分,同轮只计一种;与负向合计最多扣 60
回复时延与条数失衡 保留统计,不直接加减分;对方零回合或只回一轮也不单独扣分
主动开口 I 双方都有回合时按上述比例加分,上限小于 4;不因少主动扣分
普通摩擦 T 最多扣 8
较强摩擦 T 最多扣 24,最终分封顶 48;解释不增加处罚、不触发较强摩擦

同一人连续发送的相邻消息间隔不超过 3 分钟,合为一个回合。 首次发言或与上一回合末尾间隔达到 120 分钟,开启新对话段。 回复时延从我方合并回合的最后一条消息,到对方回复回合的第一条消息计算。 先识别完整时间线,再将开口、回答和时延归入发生日期。午夜切分每日回合,但保持同一对话段的上下文。 无时区时间按上海时间解释,Unix 秒/毫秒及明确时区时间统一转换后排序。 较强摩擦要求同一段中至少两个对方摩擦回合。 解释保留为可核对的上下文线索,不作为新的摩擦,也不直接视为已经和好。 缺少可比较时间时分开处理,避免推断连续冲突。 摩擦、解释或明确负向回合不重复计入敷衍和低信息量。

提问按分句判断,礼貌性道谢不屏蔽其他分句的实际问题。 人工纠正覆盖提问、分享、正向、负向、敷衍、低信息量、摩擦、解释、回答或接受建议、承接或补充信息,共十类。 回合信号展示首条原消息,纠正保存该轮成员及其原文。补入更早消息时继续关联原证据,新增独立命中或来源文本变化后重新判断,支持恢复。 消息级纠正也保存当时的原文快照;同一消息 ID 的文本改变后,不沿用旧文本的排除决定。

当天有记录,且满足 $T_t=0$ 或 $T_s+T_t<4$,同时没有正向、提问、分享、有效回应、负向、摩擦、敷衍和低信息量时,用 32 覆盖 $S_0$,记覆盖后的分数为 $S_1$;其他情况 $S_1=S_0$。低频条件使用合并后的双方回合数,将同一回复拆成多条消息不会解除低频覆盖。

对方不足六个回合时,只将高于 32 的部分按样本量折算:

$$ S_2=\begin{cases} \mathrm{round}(32+(S_1-32)\min(1,T_t/6)),&S_1>32\ S_1,&S_1\le32 \end{cases} $$

最后,若 $G$ 成立则 $S=\min(S_2,48)$;否则 $S=S_2$。若 $n_{\mathrm{bnd}}>0$,再执行 $S\leftarrow\min(S,32)$。明确拒绝不被其他加分掩盖,低于 32 的负向分不因样本少而补高。32 是缺少证据时的显示参考点,不代表 32% 好感。完全无记录的日期显示缺口。

上下文与互动投入

仅有“随便你”“都行看你”或“你看着办”时,明确让选按中性处理,其他情况保留原文待核对。跨段本身不会触发摩擦扣分,独立的明确指责和停止联系请求仍各自识别。

评分排除系统消息、非文本媒体记录及纯占位文本。媒体保留在原聊天视图中, 不根据文件名、通话占位或系统提醒判断谁主动开口,也不补读图片内容。 自然口语分享支持“我俩吃了”“我老看”“我就记得”等表达。 要求对方执行动作的句子从分享和正向识别中共同排除,同条消息中的独立本人经历或正向表达保留。 “没有没有”以及要求询问第三人的句子不计为对自己的提问。 第一人称的实际感受(如开心、难过、紧张)可计为感受分享,引用、对他人的指令和假设表达不计入该层级。感受的正负或强烈程度不额外加分。礼貌请求停止联系仍是明确边界;“不是不喜欢你”等否定拒绝的安抚表达不据此判为拒绝。

短回复结合上一轮的问题、建议和相邻话题判断。能回答问题、接受建议、 补充具体评价或承接话题的短句计入有效回应候选。单次应和与笑声按中性处理, 连续三个对方回合缺少有效回应时才计短回复处罚。正常忙碌、睡觉、晚安和结束当次聊天的表达按中性处理,不累积缺少有效回应的连续次数。工作、客户、设备等外界压力的抱怨,在没有指向对方的措辞时不算双方关系摩擦。 对方紧接上一轮我方消息作答,即使间隔超过两小时,仍保留该轮上下文用于回答和承接识别;两小时切段继续用于主动开口和同段摩擦统计。 回答、接受建议和承接指标可展开原文、排除和恢复。 时间、地点、数量及是非问题分别匹配答案特征,同时核对已识别的事件动作。 例如问出门时间,回复中购买手机的时间不会直接计为回答,独立时间短答保留。 话题承接要求词语关联或同类主题,“人多”“美味”等孤立短语及“的”字结尾不直接命中。 若上一轮我方分享感受或好消息,对方给出贴合该上下文的理解、支持或祝贺,可作为承接信号;沿用承接的证据纠正,并纳入有效回应并集,不单设一项重复加分。无上下文的泛泛赞美不自动升级为支持性回应。

互动指标页分别展示投入分与正向表达条数。投入分使用相同算式, 将正向措辞项置零,保留回答、提问、分享与回合等行为线索。 正向表达单独列出证据及层级标签。原有好感线索字段与图表继续使用包含正向项的分数。 场景按工作、日常、混合和未分类规则识别,并展示各类主动开口数量与分场景结果。 场景标签用于核对,综合权重尚未按场景区分。分场景结果按完整对话段聚合, 同段的普通回复保留在该段中。没有命中工作或日常词的段归为未分类。

显示项 计算范围
互动投入分 选定双方的全部可评分文本,正向措辞项置零后重算
正向表达条数 正向词库命中且未被人工排除的对方消息,包含礼貌、支持与直接亲近表达
回应问题/承接话题回合 结合前一轮上下文识别,可逐条核对与纠正
互动投入均分 各有效记录日投入分的简单平均
好感线索日分及趋势图 包含正向项的 v2.1 评分,月年按回合加权
分场景投入分 工作、日常和混合对话段各自重新计分

同一份记录的全记录计分、逐日简单平均与月年加权分使用不同汇总范围, 比较时应核对页面标签。规则识别中的“低信息量”“工作”等分类支持原文核对。

月度与年度汇总

$$ w_d=\max(1,T_t^{(d)}),\quad R=\sum_d T_t^{(d)},\quad \bar S=\frac{\sum_d S_dw_d}{\sum_d w_d} $$

$$ M=\begin{cases} \mathrm{round}(32+(\bar S-32)R/20),&R<20\land\bar S>32\ \mathrm{round}(\bar S),&\text{其他} \end{cases} $$

权重和与对方实际总回合 $R$ 分开统计。对方零回合的记录日权重为 1, 但不会增加 $R$。月与年都采用相同的 20 回合折算阈值。 这里的 $S_d$ 已经过每日小样本折算;月年再次折算是独立的保守汇总规则,不是统计置信区间。

使用

  • 在 DSH「定制模块」打开关系手记,导入聊天文件并确认双方身份。
  • 在联系人档案中核对模型待确认条目,再接受、编辑、归档或删除。沟通风格、边界、待跟进和推测线索分别呈现。
  • 在设置中维护“我”的语气、口癖、兴趣、计划、边界和认可样例。回复生成参考这些信息以及真诚表达、尊重边界、不用试探测试关系等原则。
  • 互动评分可以展开原文,标记误识别并恢复;指数是表达线索汇总,不是好感概率。
  • 回复栏可选择真诚/轻松/简短风格,并主动生成带引用和不确定性的多种可能解释及回复思路。
  • 需要 DSH 主对话读取资料时,显式开启“允许 DSH 读取当前联系人”。可读取已确认档案、搜索最近最多 500 条共享消息,并提出待确认候选。共享范围是当前本机 DSH 宿主中的工具对话,参见 档案工具说明。
  • 项目备份可以选择包含或不包含媒体;旧版备份仍可恢复。

微信/QQ 监听、独立替代 ExportWeChat 读取、自动发送和主动搭话暂缓开发,只有 研究方案。现有 ExportWeChat JSON/HTML 文件导入继续可用。

国际化(实验性,仅导航文案)

locale/zh.json 与 locale/en.json 由 build.mjs 从 src/workspace.js 的 textPairs 生成,目前只覆盖两项:导航名称(nav)与隐私说明(privacy,用于模块标题/描述)。

  • 其余界面文案、页面标题与按钮仍为中文硬编码,没有英文版本。
  • 因此当前不做“完整 i18n”承诺:英文环境只会在导航与模块描述处看到英文,其余保持中文。
  • 若要扩展,请在 textPairs 增加键值并重新生成 locale(pnpm run build),不要手改生成文件。

安装已构建的 ZIP

使用发布或本地构建生成的安装 ZIP,解压到单独目录,确认目录内有 package.json、index.js、client.js 和 cordis.patch.yml。在 DSH 本地插件安装/加载入口选择该目录,启用关系手记及其「定制模块」容器依赖,然后重载宿主插件服务;若当前 DSH 没有重载入口,重启 DSH。安装包已包含 client.js,无需运行 pnpm 安装、构建或测试。

升级前先导出关系手记备份。用新解压目录更新本地插件加载位置并重载宿主服务;只刷新页面可能仍使用旧宿主路由。随后在「定制模块」打开关系手记。安装 ZIP 是运行包,不包含完整构建/测试工具;开发请使用源码仓库。

从源码构建与验证

取得完整源码(包括 build.mjs、verify-v3.mjs、pnpm-lock.yaml 和测试文件),使用 Node.js 和 pnpm。本次验证环境为 Node.js 22.22.3。

pnpm install --frozen-lockfile
pnpm run build
pnpm test

构建使用显式 ESM 模块与 esbuild,不依赖仓库之外的原型文件。client.js 是仓库跟踪的生成产物,修改客户端源码后需重新构建并同步提交;安装包附带该产物。容器契约是 inject: ['locale', 'subdsh'],注册 ID relationship-notes。源码分层与依赖方向见 架构与维护边界。

发布打包

构建后可先预览交付文件,再生成安装包。

node tools/package-release.mjs --out <新的输出目录> --dry-run
node tools/package-release.mjs --out <新的输出目录>

打包工具使用 Windows PowerShell 与 .NET 压缩库。它按发布文件清单选取内容, 排除依赖、测试与历史归档,生成 ZIP、SHA256 和逐文件清单。 已有同名输出会拒绝覆盖,源码晚于客户端产物时需先重新构建。

已完成的验证

2026-11-07 评分 v2.1 验证:客户端构建成功,46 个测试文件共 301 项通过、0 项失败。 覆盖有效回应并集、同轮去重、少样本折算、时延中性、解释不升级摩擦、明确边界封顶,以及人工纠正、跨午夜统计、导入、持久化、宿主接口和打包。 新增回归验证拆分消息不会刷分,外界压力与直接针对对方的冲突分别处理;评分依据分项与实际结果一致。 测试验证实现行为,不能证明规则准确测量真实好感。DSH 实际界面交互仍需安装后验收。

数据与模型

聊天、档案、草稿和本人画像保存在浏览器本机 IndexedDB。模型回复、资料整理或历史自动分析启动后,相应聊天上下文和资料会交给 DSH 配置的模型服务。自动分析可在状态区暂停或继续。开启档案共享时,当前联系人的有界快照会暂存在宿主内存,关闭/切换后撤销,停止同步后 60 秒过期;宿主不落盘保存此快照。

导入工具使用内存队列;重启前应确认消费完成,见 导入队列设计。备份含聊天资料,应自行妥善保存。仓库不包含用户聊天导出、联系人档案、媒体、凭据或个人备份。

维护

  • 3.1.1复审整改与功能建议
  • 架构与维护边界
  • 统一路线图
  • 第三方项目评估
  • 已知问题
  • 历史备份与验证日志归档在 docs/archive/(backups/、reviews/、logs/、legacy/),仅是历史材料,不参与构建与测试。

主代码采用 MIT License;PDF.js 适用其 Apache 2.0 许可证,见 PDFJS-LICENSE.md。回复原则仅参考通用沟通方法,不附带 Tong Skill 原始素材或人物口吻。

—/ 5

No ratings yet

Verified DSH bundle

Commit 144693b0d713

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