crush-monitor
Reads a WeChat thread and scores emotion, intent and reply quality.
A local tool that runs over your own WeChat chats with your own API key. Jev scores each exchange for emotion, intent and how well the replies land.
# Crush 好感监控器 一个用 Jev 分析你和 Crush 或对象聊天的小工具。帮你读懂一点对方的情绪和想法,也看看自己的回复哪里没表达好、可以怎么调整。 不过,AI 不知道你们现实中怎么相处,也不了解聊天之外的故事。分析结果就当图一乐、做个参考。怎么理解对方、怎么表达自己,最后还是得靠自己的感受和真诚。 ## 特点 - **微信风格界面**:还原聊天气泡,分析结果直接显示在消息下方。 - **情绪与意图**:每句两行标签,从 12 类情绪、35 类意图中分别展示概率最高的三项。 - **好感度与回复评级**:顶部显示好感信号评分,自己的回复按 SSS 到 D 分档,并给出下一步建议。 - **连续分析**:继续粘贴新记录即可更新,识别重复片段,自动分批处理长记录;已分析内容保存在本机,刷新后可以继续。 - **本机运行,自带 Key**:无需服务器,使用自己的 TypeSafe 账号和 API 额度。 ## 为什么用 Jev Jev 是 TypeSafe 推出的结构化判断模型,直接返回分类、评分和概率。这款工具主要需要逐句判断,不需要生成长篇回答,正好适合它的输出方式;情绪和意图也可以放在同一次请求里并行分析。 - [创始人 Diogo Almeida 的 Jev 首发推文(2026-09-15)](https://x.com/CompleteSkeptic/status/2099925682726002904) - [官方模型介绍](https://typesafe.ai/blog/introducing-system-one-models-and-jev) - [申请 API Key:TypeSafe 控制台](https://console.typesafe.ai/) ## 本地运行 需要 Node.js 22.12+ 和自己的 TypeSafe API Key。下载源码并解压,进入项目目录: ```sh npm ci npm run setup ``` 编辑生成的 `.env`,填入自己的 Key: ```dotenv TYPESAFE_API_KEY=your_api_key PORT=3178 HOST=127.0.0.1 ``` 构建并启动: ```sh npm run build npm start ``` 打开 **http://127.0.0.1:3178/**。使用时保持终端运行;下次只需执行 `npm start`。修改 Key 后重启服务。 ## 怎么用 1. 在电脑版微信里多选聊天记录,复制并粘贴到网页输入框。 2. 选择哪个昵称是自己,点击“开始分析”;关系可在设置中调整。 3. 查看情绪、意图和回复评级,点击标签展开详情。 4. 有新聊天时继续粘贴,结果会随上下文更新。 支持微信的“昵称 → 时间 → 正文”格式,也支持 `我:…` / `对方:…`。仅分析文字,不读取微信数据库或后台监听。 ## 说明 - 好感度由主动延续、回应投入、关心体贴、自我开放、亲密表达、实际行动六项加权得出,点击顶部可看细项。明确且仍有效的拒绝会限制总分;分数不是对方喜欢你的概率。 - 长聊天自动分批,不再限制整个会话只能保存 500 条。追加时分析新增内容、复查最近的对方消息;自己的旧回复评级保留。 - 评分使用近期原文与相关历史原话。邀约、关心、拒绝、撤回等事件会被索引,但旧分数不会作为新评分的证据。历史检索可能遗漏相关线索,结果仍是辅助参考。 - 每个模型请求仍控制在 500 条、12,000 字以内;单条超长消息会保存并提示拆分。一次粘贴超过 25 万字符时请分次追加,历史总量受浏览器存储空间限制。 - 聊天和分析保存在当前浏览器的本机数据库,刷新后恢复;设置中的“清空聊天,重新开始”会删除这些记录。不同浏览器或不同网址端口不共享记录,清理浏览器数据也会删除记录。 - 分析所需原文会发送至 TypeSafe,模型用量由自己的账号承担;本机保存不等于离线分析。 - 网页能打开但无法分析时,先检查启动终端、Key 和账号额度。不要把 `.env` 或私人聊天提交到仓库。 ## 开发 React + TypeScript + Vite + Express,使用 TypeS