开源AI回复助手Jev:微信消息自动分析并生成3条候选回复

开发者Finderchangchang于9月21日开源了Jev聊天助手。Android用户可让它读取微信当前会话,判断对方意图、危险等级与回复动作,再生成并排序3条候选回复。助手只把选中内容填入输入框,发送仍由用户完成。
Jev 聊天助手微信消息分析与候选回复

它是悬浮在聊天界面上的回复辅助层

Jev聊天助手不是通讯软件。它通过Android无障碍服务读取当前聊天窗口,把消息整理成“我”与“对方”的对话,再用悬浮窗展示分析结果和候选回复。一句话总结:帮你分析消息、写回复,但不替你点发送。

当前代码为微信和飞书分别实现了采集适配器。微信适配器读取聊天气泡文字,再按气泡的水平位置判断发言方。仓库实测环境是Android版微信8.0.78。

飞书适配器已经能识别聊天窗口、会话标题、气泡位置和输入框。不过普通消息正文用的是自绘控件,没有出现在无障碍节点里。所以飞书当前只能读到部分带TextView的卡片,普通消息的截图和本地OCR链路还没接上。

Jev负责判断,生成模型负责写回复

助手会取最近10条消息,连同你设置的人际关系描述一起发给Jev 1.13。Jev不直接写文案,而是回答一组结构化问题:对方意图、关系冲突危险、需求、最佳动作、是否需要具体回复,以及紧张状态是否结束。

另一次模型请求会生成3条不同策略的中文回复,每条最多40字。Jev再对这批回复排序,悬浮窗里的占比就来自这一步。默认回复模型是deepseek/deepseek-chat-v3.1,你在设置页可以随时更换。

选中回复后只填入,不会点击发送

用户点击“填入”后,程序先用Android的ACTION_SET_TEXT向输入框写入文本。写入失败就复制到剪贴板并执行粘贴。代码里没有点击发送按钮的步骤,你可以在输入框里继续修改或直接删掉。

这个设计保留了发送前的人工确认。不过无障碍和悬浮窗仍是高权限,项目会监听窗口内容,再按前台App的包名选择适配器。说实话,安装前真得读读源码,只给自己信得过的构建授权。

对话内容会发往OpenRouter

这不是全本地工具。进入分析流程后,最近10条消息会通过OpenRouter分别发给Jev和回复生成模型。对话白名单可以限制助手处理哪些会话;白名单为空时,所有能被适配器读到的会话都允许触发分析。

OpenRouter API Key保存在App私有的SharedPreferences中,不会写入日志或仓库;但当前实现没用EncryptedSharedPreferences。所以真正需要关注的数据边界是聊天文本,毕竟消息会离开手机发往模型服务。

Android 11及以上可从源码构建

最低支持Android 11(API 30),源码采用Kotlin和传统View实现,许可证为MIT。构建需要JDK 17、Android SDK Platform 35和Build Tools 35,一条命令搞定:

./gradlew assembleDebug

生成的调试APK位于app/build/outputs/apk/debug/app-debug.apk。安装后在设置页填写你的OpenRouter API Key,再开启无障碍、悬浮窗和前台保活权限。小米或HyperOS设备还得配自启动和省电白名单,否则后台服务可能被冻结。

界面截图


项目开源地址:https://github.com/jev-chat/jev-chat-jarvis

常见问题

Jev聊天助手是本地运行的吗?

不是。最近10条消息会通过OpenRouter发给Jev 1.13和回复生成模型,聊天内容会离开手机。API Key存在App私有的SharedPreferences里,目前没有额外加密。

运行Jev需要什么设备条件?

Android 11(API 30)及以上。源码构建需要JDK 17、Android SDK Platform 35和Build Tools 35。实测环境是Android版微信8.0.78。

助手会直接替我把回复发出去吗?

不会。选中回复后只填入输入框,发送动作始终由你手动完成,保留发送前的人工确认环节。