为什么做

聊天记录一长,人只记得最后一句。真正让关系变化的,往往是前面那些没被接住的话、被误读的语气,还有回复里少掉的那半句。

我想做一个工具:不替你聊天,只把每句话里的情绪、意图和回应质量标出来,让你自己判断。

名字叫「言外之意」,因为大部分信号不在字面上:一句“随便”可能是失望,一个“嗯”可能是没接住。

它做什么

  • 逐句标注情绪与意图,并给出概率最高的几个选项;
  • 给整段对话一个温度评分,给自己的回复打 S–D 的评级;
  • 识别重复片段,长记录自动分批,刷新后还能接着看;
  • 数据留在本机,API Key 只存在你自己的机器上。

怎么用

  1. 启动项目(在项目台里点第一项,或进入 `projects/crush-monitor` 跑 `npm start`);
  2. 在设置里选择模型平台,填入自己的 API Key;
  3. 把聊天记录粘进输入框,点分析;
  4. 看每句下面的标签、顶部的评分,以及底部的下一步建议。

技术

  • 前端 React 19 + Vite,后端 Express,全部 TypeScript;
  • 用结构化输出约束模型返回情绪、意图、评分,而不是一段自由文本;
  • 本地 Node 服务代理模型请求,Key 不进浏览器存储;
  • 分析结果存在本机,不建立账号,也不上传到我的服务器。

用 DeepSeek Harness 复现

这个项目是在 DSH 里多轮改出来的。复现包里有完整源码(已去掉 Key、聊天数据和 node_modules),也有一段从零复现的 prompt。

你是资深全栈工程师。请从零实现「言外之意」:
- React 19 + Vite + TypeScript,Express 5 后端;
- 粘贴聊天记录,逐句输出情绪、意图、好感度、回复评级;
- 用 Zod 约束结构化 JSON,长记录分批;
- Key 只存本机 .env,不进前端;
- 单色、宋体标题、等线正文,先做最小版本。

下载 DSH 复现包(源码 + prompt)↗

它不是心理诊断,也不该替你决定一段关系。分析结果只供参考;聊天内容会发送给你选择的模型服务商,使用前请先了解对方的隐私条款。

状态

个人项目,目前在本机运行,没有公开在线 Demo。需要 Node 18+ 和一个可用的模型 API Key;完整启动方式在项目台的「项目介绍」里。