挂在聊天窗旁的
判断层
对方发来一句话,面板立刻告诉你这句话真正想要什么、风险几级、该怎么回,并给出 3 条候选回复。点「填入」进输入框——发送永远你自己按。
git clone git@github.com:jevbot-dev/jevbot-mac.git判断约 1 秒,一次一分钱都用不到。
- 真实意图
- 借钱,方案是引子
- 对方要什么
- 一个明确的答复
- 建议动作
- 先接方案,钱的事挂起
- 潜台词
- 有,急
只填不发 · 发送永远你自己按
不只会写,先看懂。
大多数助手直接给你一段话。Jevbot 先判断这条消息到底是什么,再决定怎么回。
判断
TypeSafe Jev 判断模型一次给出:真实意图、风险 0–9、对方需要什么、建议动作、有没有潜台词。7 道题约 1 秒,每条结论都带把握度。
候选
生成模型起草 3 条口语化回复,Jev 按「最合适」重新排序并给出每条的占比——谁排第一,有理由。
填入
点一下,回复进输入框,多数情况下不会抢走你的焦点。只填不发,不碰转账、红包、收款。最后那一下永远是你按的。
一个菜单栏小程序,六件事做扎实
不是演示用的 demo——每条都在真机上跑通过。
面板贴着聊天窗
浮在聊天窗口右侧、跟它等高。拖动窗口时先隐去,停稳再回来——不挡视线,也不用你去找。
采集分两条路,下游不感知
飞书、QQ 走辅助功能控件树;微信 4.x 主窗口 AX 树只有 5 个节点,所以走截图 + 本机 Vision OCR。上层判断逻辑完全一样。
非侵入
不注入、不 hook、不改目标 App、不读它们的数据库、不装输入法。只读你自己设备上、你自己有权看的窗口。
菜单栏驻留
Swift + SwiftUI 原生实现,无 Dock 图标、无窗口杂乱,最低 macOS 14。打开任意会话面板自己浮出来。
会话白名单
设置里可以把它限制在指定的几个会话里。没在名单上的对话,它不看也不判断。
开源可审计
MIT 协议,采集、判断、填入全流程代码公开。探针脚本和 App 是同一个二进制,你看到的就是它跑的。
它不做的事
这几条是写进代码约定里的硬约束,不是产品文案。
不自动发送
不按回车、不点发送按钮,填完就停手
不碰钱
转账、红包、收款相关的界面元素一律不触碰
不动目标 App
不注入、不 hook、不改安装包、不读数据库
密钥不落盘
只进登录钥匙串或环境变量,不进配置文件和日志
数据去了哪
能不出这台机器的,就不出去。
- 送到云端的
- 最近 10 条消息 + 你写的关系描述
- 不会送出去的
- 截图、联系人、聊天历史
- 微信的截图
- 本机 Vision OCR 识别,图片不出这台机器
- 密钥
- 登录钥匙串或环境变量,不落配置文件、不进日志
- 可选收窄
- 会话白名单,只看你指定的那几个会话
它怎么工作
从屏幕上的一条消息,到输入框里的一句话,中间只有这几步。
读屏
辅助功能控件树,读不到就截图本机 OCR
Jev 判断
意图 · 风险 0–9 · 该不该马上回
起草候选
生成模型给 3 条口语化回复
Jev 排序
按「最合适」重排,给出占比
面板展示
结论 + 三条候选,就在对话旁边
一键填入
进输入框,不发送
判断走 OpenRouter 的 TypeSafe Jev 模型,题目集与 Android 版逐字一致;换掉的只是采集与执行层。
三步开始
目前从源码构建,产物是一个普通的 .app,拖进「应用程序」就行。
构建并打开
克隆仓库,跑打包脚本,产物在 dist/Jevbot.app。不用 Xcode 工程。
./scripts/build_app.sh
open dist/Jevbot.app给权限
系统设置 › 隐私与安全性 › 辅助功能勾上 Jevbot,然后退出重开一次——macOS 不会给已在运行的程序补发权限。想读微信还要再勾上屏幕录制。
填密钥
菜单栏 Jevbot → 设置 → 填 OpenRouter 密钥,点「测试连接」。打开任意会话,面板会自己浮出来。
正在做
剪映等剪辑软件的操作能力已经逐项验证过(读时间轴、开草稿、执行命令),还没串成一条能重复跑的流水线。 聊天副驾只是第一个跑通的场景——不变的是 Jev 这一层判断,感知和执行都是可替换的后端。
常见问题
不会,这是硬约束。Jevbot 只把候选回复填进输入框,不按回车、不点发送按钮。为了聚焦输入框而合成的点击位置都验证过,不会漂到发送按钮上。最后那一下永远由你按。