ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

Jev 聊天助手三端协作与贡献指南:架构分工、采集方式差异与三条项目红线

Jev 聊天助手三端协作与贡献指南:架构分工、采集方式差异与三条项目红线 AI 应用大模型交互助手RAG【免费下载链接】jev-chat-jarvis装在手机上的对话副驾在 QQ / X / 飞书里读懂对方、给出候选回复、一键填入输入框发不发由你。非侵入只读屏幕不 hook 不改包。项目地址https://gitcode.com/gh_mirrors/je/jev-chat-jarvis点击查看免费下载Jev 聊天助手jev-chat-jarvis是一个三端并行的开源对话副驾项目只读屏幕、不注入、不 hook、不替你发送。本文以仓库根目录的 CONTRIBUTORS.md 为核心骨架梳理该项目的维护者分工、三端支持范围、采集架构差异、贡献者必须遵守的三条红线、认领与自测流程并结合 Android 主入口仓库的源码采集适配器、OCR 兜底、输入回填、无障碍伪装、前台保活逐条给出实现级证据。读完本文你将清楚这个项目谁在做哪一部分、各端怎么采、哪些改动会被拒绝、以及作为新贡献者从哪里入手。项目定位一份名单背后的三端架构CONTRIBUTORS.md 开篇即明确Jev 聊天助手是一个三端并行的开源项目只读屏幕、不注入、不 hook、不替你发送。这份名单记录谁在做哪一部分方便使用者知道该找谁也方便新贡献者找到入口。从维护者与分工表格可以看到项目的组织形态——主仓库之外的姊妹项目同样归在同一个组织下平台仓库主要维护者Android主入口jev-chat-jarvis即当前仓库FinderchangchangmacOSjev-chat-jarvis-maceatmoreduckWindowsjev-chat-windowsrezoch340三端测试全部仓库HeiGeAi组织与项目管理jev-chatFinderchangchang官网与组织页jev-chat.github.ioFinderchangchangAndroid 仓库当前仓库是主入口macOS 与 Windows 为独立仓库。当前仓库内的 README.md 同样印证了这一结构macOS 版看屏 本地小模型判断意图和风险再按话术生成回复候选纯只读Windows 版聊天窗口旁挂的回复辅助窗口截图 本地离线 OCR3 条候选一键填入发送永远手动。三端支持范围同一套内核不同的采集方式CONTRIBUTORS.md 给出三端当前覆盖范围平台当前覆盖AndroidQQ、X / Twitter 私信支持全链路飞书支持 OCR 兜底其它未适配 App微信除外支持手动「截屏识别一次」macOS桌面聊天窗口看屏 本地小模型Windows桌面聊天窗口窗口截图 离线 OCR关键结论是三端共用同一套判断内核差异在采集方式——Android 走无障碍节点加离线 OCRmacOS 与 Windows 走屏幕录制加 OCR。这一点在当前 Android 仓库源码中可以得到完整印证按包名分发的适配器机制ChatCaptureService.kt 中adapters以包名为键注册了QQAdapter()、XAdapter()、FeishuAdapter()三个适配器服务按前台包名分发适配器只负责把当前窗口变成统一的标题 消息列表谁说的、说了什么下游判断、候选、悬浮窗、填入全部通用。适配器的三态契约ChatAppAdapter.kt 中接口extract(root, res)的返回语义是null表示不在聊天窗服务完全不动作消息列表为空表示在聊天窗但树里没有正文服务可走截屏 OCR 兜底消息非空表示正常采集。这正是飞书支持 OCR 兜底和其它未适配 App 支持手动截屏识别一次在代码层的落点。QQ 全链路QQ 节点不混淆9.3.50 实测正文是带id/mjn的 TextView聊天输入框id/input作为是否在聊天窗的判据因为 QQ 全程只有一个 Activity判是不是聊天窗只能看树里有没有该有的节点不能看 Activity 名。发送方按气泡贴近哪侧头像列判断我侧在右约 width−156对方在左约 13% 宽度。X / Twitter 私信全链路X 是 Compose 界面消息整行没有 resource-id、text 为空内容全部在contentDescription里如你…。8:11 上午。Read。适配器解析分隔符、时间戳与 Read 标记后还原出发送人与正文发送方来自你 / You标签而非几何位置。飞书 OCR 兜底飞书正文是自绘控件树里只有气泡矩形bubble_content_container适配器把矩形与已读状态只有自己的气泡带time_read_state_container_align_bubble上报进快照服务随后对每个矩形做离线 OCR。微信已全面下架从源码看ChatCaptureService.kt 的adapters列表只挂 QQ、X、飞书三个适配器WeChatAdapter虽保留在 ChatAppAdapter.kt 中但并未接入前台是微信时只弹一次性微信已限制读取请在别的软件上使用提示绝不读树、不截屏、不 OCR、不填入。这与 README.md 中微信 Android 版已全面下架不提供微信采集与分析的说明一致。三条项目红线破坏任何一条的改动都不会被接受CONTRIBUTORS.md 明确指出任何被破坏这三条红线的改动都不会被接受纯只读不注入目标 App、不 hook、不解密数据。发送永远手动程序不替你按发送键填入只是把候选放进输入框。只处理你自己有权查看的聊天。这三条红线并非口号Android 仓库的源码与配置可以逐条对应纯只读的实现证据无障碍服务声明在 AndroidManifest.xml 中权限仅有INTERNET、SYSTEM_ALERT_WINDOW、前台服务与通知相关权限没有任何 root / Xposed / 改包所需的声明采集完全依赖系统无障碍服务暴露的界面内容与读屏软件工作方式相同。无障碍配置 config_disguised.xml 只申请canRetrieveWindowContent读取窗口内容与canTakeScreenshot截屏没有注入或修改目标 App 的能力。值得注意的实现细节服务类名伪装为系统风格的 SelectToSpeakService.kt继承ChatCaptureService所有逻辑都在父类注释明确说明伪装是穿过微信节点混淆的手段即便这样微信仍被整体下架可见项目对只读边界的克制。发送永远手动服务唯一的写操作是ACTION_SET_TEXT或剪贴板粘贴兜底把回复填进输入框。GuardedInputWriter.kt 的填写序列是setText → 150ms 校验 → focus → 重试 setText → 校验 → 复制到剪贴板 → 清空 → paste → 校验全程不触发发送动作ChatCaptureService.kt 中fillInput成功时提示已填入确认后自己发送。测试 GuardedInputWriterTest.kt 覆盖了会话切换中途停止写入、粘贴兜底等场景验证不发送是经过测试保证的行为。只处理你有权查看的聊天采集发生在当前活动窗口rootInActiveWindow适配器每次先确认是不是聊天窗服务还校验会话标题是否在用户白名单内prefs.isAllowed离开聊天界面或切到系统 UI / 桌面即收起悬浮窗。贡献者名单与各端分工CONTRIBUTORS.md 的贡献者部分按职责分组测试HeiGeAi 负责三端真机验证与问题复现覆盖 Android、macOS、Windows 的日常使用场景。AndroidFinderchangchang同时也是主维护者。macOSeatmoreduck、shanyazhou、baishatan、xixikaixin、liubai00。Windowsrezoch340。从三端测试的覆盖面可以推断这是一个三端共核、各自适配的协作模式测试岗位横跨三个仓库说明三端共享同一套判断内核与验收标准。仓库内 docs/acceptance.md验收标准文档正是这种公共尺子的体现它要求建者不自证贴真实输出构建AassembleDebug零 error产物app/build/outputs/apk/debug/app-debug.apk存在。Jev 判断层C运行python tools/jev/calibrate.py输出每道题在标注集上的命中率表格与置信度分布要求标注集不少于 20 条中文对话片段、danger_level打分与人工标注的平均绝对误差 1.0 档、true_intent/she_needs命中率 ≥ 60%、全部请求 HTTP 200 且无 key 泄漏到 stdout。真机冒烟D对方新消息 1.5 秒内悬浮窗出现分析且候选 ≥ 3 条已排序点填入后输入框出现文本且未发送自己发的消息不触发、切换会话上下文重置、App 切后台悬浮窗隐藏密钥不出现在 logcat、断网给可读错误不崩溃10 分钟静默期 Jev 调用次数为 0。这条验收标准与三条红线一一咬合tools/jev/calibrate.py与 tools/jev/ 目录下的 Python 脚手架calibrate.py、questions.py、jev_client.py等支撑判断层校准真机冒烟中的填入后未发送则直接验证红线 2。想参与认领、自测与流程约束CONTRIBUTORS.md 给出参与规则的核心贡献流程、认领规则与自测要求写在 macOS 仓库的 CONTRIBUTING.md同样适用于另外两端先认领再动手、一个 PR 只做一件事、改哪层跑哪层的自测。联系与需求反馈走公众号私信或加入交流群见各仓库 README。对 Android 主入口仓库而言改哪层跑哪层的自测可以落到具体位置改采集适配器涉及 ChatAppAdapter.kt需在 ChatCaptureService.kt 的adapters注册并按 README 的建议先用adb shell uiautomator dump观察目标 App 暴露的节点适配器返回null不在聊天窗与返回空消息列表在聊天窗但树里没正文的语义区别是关键——只有后者会触发 OCR 兜底。改输入回填涉及 GuardedInputWriter.kt 与 ChatCaptureService.kt 的fillInput配套单测在 GuardedInputWriterTest.kt会话状态相关单测在 ConversationSessionTest.kt。改判断层涉及 tools/jev/ 的题目集与校准脚手架自测跑python tools/jev/calibrate.py并对照 docs/acceptance.md 的 C 项指标。许可证与名称使用限制CONTRIBUTORS.md 最后说明代码以 MIT 协议开源使用名称或域名时不得暗示由原作者出品或背书详见各仓库根目录的 NOTICE。本仓库 NOTICE 的完整约定是允许个人和商业使用、修改、再分发、集成进自有产品无需付费或事先授权分发或商用时必须保留 LICENSE 与 NOTICE并在产品「关于」页、说明文档或发布页注明出处推荐写法基于 Jev 聊天助手二次开发 / 集成不得使用「Jev 聊天助手」「jev-chat」名称或官网域名暗示由原作者出品或背书。这与 README.md 的版权与许可章节一致。小结从名单到工程原则CONTRIBUTORS.md 表面上是一份贡献者名单实质上是项目的协作契约与架构说明书三端共用判断内核、按采集方式分工Android 无障碍节点 离线 OCR桌面端屏幕录制 OCR三条红线作为验收的硬约束纯只读、发送永远手动、只处理有权查看的聊天认领、单 PR 单任务、分层自测作为流程约束。新贡献者可以从 README.md 的适配一个新的聊天 App小节入手在 ChatAppAdapter.kt 实现适配器并注册到 ChatCaptureService.kt再以 docs/acceptance.md 的构建、判断层校准与真机冒烟标准验证自己的改动——只要不碰三条红线改动就有被接受的余地。赞分享AI 应用大模型交互助手RAG【免费下载链接】jev-chat-jarvis装在手机上的对话副驾在 QQ / X / 飞书里读懂对方、给出候选回复、一键填入输入框发不发由你。非侵入只读屏幕不 hook 不改包。项目地址https://gitcode.com/gh_mirrors/je/jev-chat-jarvis点击查看免费下载相关推荐Jev 聊天助手jev-chat-jarvis隐私架构全解数据流向、本机存储与用户控制Jev 聊天助手jev chat jarvis隐私架构全解数据流向、本机存储与用户控制 Jev 聊天助手是一款运行在手机上的对话副驾通过无障碍服务读AI 应用大模型交互助手RAGMonocraft 字体贡献指南字形保真、连字哲学与生成代码的三条设计红线Monocraft 字体贡献指南字形保真、连字哲学与生成代码的三条设计红线 Monocraft 是一款以 Minecraft 界面字体为蓝本、专为开发者设计的开发工具Pyrefly 贡献者与 Agent 协作指南架构三阶段、代码风格与测试规范详解Pyrefly 贡献者与 Agent 协作指南架构三阶段、代码风格与测试规范详解 本篇指南以 Pyrefly 仓库的 AGENTS.md https://li开发工具静态分析IDE代码质量创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表