[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-84036":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":18,"stars90d":16,"forks30d":16,"starsTrendScore":13,"compositeScore":15,"rankGlobal":10,"rankLanguage":10,"license":19,"archived":20,"fork":20,"defaultBranch":21,"hasWiki":22,"hasPages":20,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":24,"readmeContent":25,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":26,"lastSyncTime":27,"discoverSource":28},84036,"HanakoAI","zyf2007\u002FHanakoAI","zyf2007","安卓悬浮窗搜题 AI 客户端，支持无弹窗一键复制答案，自定义模型提供方，自定义助手提示词。","",null,"Kotlin",105,9,98,3,0,1,7,"GNU Affero General Public License v3.0",false,"main",true,[],"2026-06-12 02:04:37","# Hanako\n\nHanako 是一个 Android 悬浮窗 AI 客户端，内置提示词支持的核心用途是搜题与快速作答，你也可以通过配置助手提示词配置成其他功能。  \n\n[[Download 0.0.8-alpha](https:\u002F\u002Fgithub.com\u002Fzyf2007\u002FHanakoAI\u002Freleases\u002Ftag\u002Fv0.0.8-alpha)]  \n\nHanako 把截图、识题、解题、复制\u002F填写这几个步骤压缩到尽可能短：\n\n- 普通模式：框选题目区域后发给 AI，展示解题思路，并附带可一键复制的答案片段，方便粘贴填写。\n- 自动模式：不需要框选，直接整屏发送给 AI；选择题答案会显示在悬浮球里，填空题或文本答案会自动写入剪贴板，用户只需要点击或粘贴即可，每题基本只要一步。\n  - 单图模式：单击悬浮球直接将当前屏幕发给 AI。\n  - 多图模式：长按悬浮球进入多图模式，之后每次单击悬浮球会往缓冲区中添加一张截图，直到再次长按一起发给 AI。中途如果误触可以双击取消。\n\n## 主要功能\n\n- 悬浮球常驻桌面，随时发起识题\n- 支持普通模式与自动模式\n- 支持两种处理链路：\n  - `OCR_THEN_LLM`：先 OCR 提取文字，再交给文本模型分析，适合纯文本题目提高准确度\u002F降低成本。\n  - `MULTIMODAL_DIRECT`：直接把截图交给多模态模型理解，适合带有图片的题目。\n- 普通模式支持输出解题思路、关键知识点和答案\n- 普通模式支持 `[copy:内容]` 片段，一键复制后直接填写\n- 自动模式支持：\n  - 选择题：把 `A` \u002F `BC` \u002F `ABD` 这类字母答案写到悬浮球里\n  - 填空题\u002F简答题：把最终答案写入系统剪贴板\n- 支持历史记录查看\n- 支持自定义模型提供方、模型和助手提示词\n\n## 模式说明\n\n### 普通模式\n\n普通模式适合希望先看分析过程、再决定如何填写答案的场景。\n\n使用流程：\n\n1. 启动悬浮球。\n2. 点击悬浮球。\n3. 框选题目区域。\n4. 将截图发送给 AI。\n5. 在面板里查看解题思路、答案，以及一键复制片段。\n\n这个模式更适合：\n\n- 需要看解题过程\n- 需要核对 OCR 结果\n- 不是单纯客观题，答案需要自行整理后填写\n\n### 自动模式\n\n自动模式适合追求极短操作链路的场景。\n\n使用流程：\n\n1. 在主页长按“启动”进入自动模式。\n2. 点击悬浮球。\n3. 应用直接截取整张屏幕并发送给 AI。\n4. AI 判断题型并只执行一个动作：\n   - 选择题：把答案字母显示到悬浮球\n   - 填空题\u002F文本题：把最终答案写入剪贴板\n\n这个模式的目标是：\n\n- 不用框选\n- 不用弹出任何窗口\n- 每题尽量只保留一次点击或一次粘贴\n\n## 权限说明\n\n应用依赖以下系统能力：\n\n- 悬浮窗权限：用于显示悬浮球和结果面板\n- 截屏\u002F录屏授权：用于抓取屏幕内容发送给 AI\n- 网络权限：用于请求模型接口\n- 通知权限：用于自动模式完成后的通知提醒\n\nAndroid 14 及以上设备，首次启动相关功能时会看到系统截屏授权弹窗。\n\n## 配置说明\n\n应用内可以直接配置：\n\n- 模型提供方\n- API Base URL\n- API Key\n- OCR 模型\n- 文本模型\n- 多模态模型\n- 助手提示词\n\n当前代码内已支持的提供方类型：\n\n- OpenAI Compatible\n- OpenAI Responses\n- Anthropic\n- Google Gemini\n\n你也可以分别给 `OCR`、`文本`、`多模态` 指定不同提供方和模型。\n\n## 技术实现概览\n\n- Android + Kotlin\n- Jetpack Compose\n- DataStore 保存本地配置与历史记录\n- OkHttp \u002F SSE 处理流式模型输出\n- 前台服务 + MediaProjection 完成悬浮窗与截屏\n\n主要目录：\n\n- [app\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fui](\u002Fhome\u002Fzyf\u002FCode\u002FProjects\u002FHanako\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fui)\n- [app\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Foverlay](\u002Fhome\u002Fzyf\u002FCode\u002FProjects\u002FHanako\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Foverlay)\n- [app\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fcapture](\u002Fhome\u002Fzyf\u002FCode\u002FProjects\u002FHanako\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fcapture)\n- [app\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fnetwork](\u002Fhome\u002Fzyf\u002FCode\u002FProjects\u002FHanako\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fnetwork)\n- [app\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fautomation](\u002Fhome\u002Fzyf\u002FCode\u002FProjects\u002FHanako\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Ffun\u002Fkirari\u002Fhanako\u002Fautomation)\n\n## 本地构建\n\n环境要求：\n\n- Android Studio 最新稳定版\n- Android SDK 36\n- JDK 11\n- Android 12 及以上设备或模拟器（项目 `minSdk = 31`）\n\n构建调试包：\n\n```bash\n.\u002Fgradlew assembleDebug\n```\n\n运行单元测试：\n\n```bash\n.\u002Fgradlew test\n```\n\n如果需要构建签名发布包，可在项目根目录提供 `keystore.properties`。\n\n\n",2,"2026-06-11 04:12:08","CREATED_QUERY"]