v0.3.3 — Kimi 联网 · 邮件折叠 · 总结文档 · 表情节奏匹配
一次小迭代 · 主要是邮件折叠 + Kimi 联网 + 文档总结
Kimi $web_search 联网搜索(之前不支持)
之前选 Kimi 作为 AI backend,"联网搜索"开关会被显示为不兼容("Kimi $web_search 协议与流式客户端不兼容")。这版改了——通过 fetch 双向 munging 让 Kimi 的 server-side 搜索能正常通过 Vercel AI SDK 的流式解析。
- 请求侧:往 body 注入
$web_searchbuiltin function tool entry - 响应侧:SSE 流里
type:'builtin_function'的 tool_call chunk 在到达 Vercel 解析器之前被剥掉。Moonshot 服务端自动执行搜索,模型继续输出 grounded 回答
Settings → AI → 联网搜索:Kimi backend 的 capability 改成 ✓ Kimi $web_search(服务端执行)。Gemini / GLM 之前就有,现在加上 Kimi 三家都齐。
邮件自动折叠促销/通知(之前会逐封展开)
之前看邮件,她会把订单确认、AliExpress 促销、Medium 周报、LinkedIn 通知都一封一封列出来——信号被淹没。
这版只改 listRecentEmails 工具描述加了一段:"从 from / subject / snippet 你能看出来哪些是营销邮件 / 订阅推送 / 自动通知,把它们合并成一行计数总结,不要逐封展开。值得用户决定怎么处理的(真人邮件 / 回信 / 询问)才逐封展开。"
实现思路:让 LLM 自己判断哪些是垃圾邮件,不在代码里写 regex / 关键词列表。LLM 本来就在读邮件,让它顺手分类比写一堆规则更准确、更适应新场景。
实测 DeepSeek 给出的输出长这样:
**需要主人关注的工作邮件(共 7 封):**
1. [P2 告警] api-gateway 5xx 率 0.62% ...
2. Erin · Re: 周三现场部署 — 催发 VPN 的 SSO 帐号
...
**订阅 / 通知 / 营销邮件(共 5 封,已折叠):**
- LinkedIn 猎头查看 · AliExpress 大促 · Medium 推荐 · 淘宝订单 · InfoQ 周刊
总结文档 chip + PDF 支持
主界面快捷 chip 把"✨ 总结一下"(之前作用是"总结今天聊了什么",使用率低)换成"📄 总结文档":点 → 模型弹文件选择器 → 选 PDF / Word / 文本 → 总结 3-5 条要点 + 3 个值得追问的问题。
新增 PDF 支持:之前 readFile 工具明确拒绝 PDF("PDF 暂时不支持"),现在走 pdfjs-dist legacy build 抽纯文本。丢失版式和图片,但保留全部文字内容用于 LLM 总结。
表情持续时间随回复长度
之前 Live2D 表情默认挂 8 秒,不管她说一个字还是一段话。这版加了文字长度感知:每字约 220ms + 1.5s 收尾 buffer,钳在 [3s, 25s]:
- 短回复("嗯。")→ 表情挂 3 秒
- 中等段落(30 字)→ 8 秒
- 长段(80 字)→ 19 秒
- 长篇大论(200+ 字)→ 25 秒(封顶)
效果:表情和说话节奏对上了,不再有"她已经说完半天表情还在那里挂着"或"她刚开始说表情就消失了"的脱节感。
妹妹默认好感度 20(之前从 0 起步)
妹妹是发小设定,从"陌生人 Lv.1"开始违反人设。这版改成 per-persona 初始值:
- maid / butler / ojou / 自定义:默认 5(保持"才到岗的新人"陌生感)
- imouto:默认 20(已经熟,但还没那么亲)
- API 设置成功 +5 庆典 → 妹妹 25(Lv.2 中段)
新装用户选妹妹立刻就能感受到"哥你回来啦"的语气,不用先聊几十轮把好感度刷上来。
其他小修
- 末尾乱码 backtick:模型偶尔结尾输出
`/``` ``——是流式过滤器没处理孤立的 fence opener。修了:尾部 2+ 个 backticks 在 flush 时丢弃,单个 backtick 保留(合法的 inline-code 标记) - "没配 AI" banner 字体融背景:实色 amber pill + 深棕字(之前的半透明亮字在深色 chat 面板上看不清)
- Settings → 人物 → 好感度小数太长:persona chip 现在
Math.round(score),不再显示❤️22.4732948... - 去掉"预制台词"面板:本来给 advanced user 编辑
lines.json,但对普通用户太复杂。功能保留(高级用户直接编辑%APPDATA%/openmeido/lines.json即可),UI 入口删了 - Wizard butler → imouto:首次安装的二选一从"女仆 / 管家"改成"女仆 / 妹妹"——管家还没打磨到首屏推荐质量。管家在 Settings → 人物 还能选
- UI 不再 hardcode "女仆":banner / 输入框 placeholder / 侧栏 placeholder 都根据当前 persona 显示对应名称
- 测试默认只跑 DeepSeek:smoke test 不再默认 4 backend 并行烧 token,跑全套用
TEST_ALL_BACKENDS=1
升级体验
从 0.3.2 升级走 electron-updater blockmap delta,估计 5-15MB 增量(这一版主要改 JS 逻辑 + tools,资源没动)。国内用户记得在 Settings → 关于 → 下载源切到 ghproxy。