[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-alichherawalla--off-grid-mobile-ai":3,"tool-alichherawalla--off-grid-mobile-ai":64},[4,17,27,35,43,56],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":16},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,3,"2026-04-05T11:01:52",[13,14,15],"开发框架","图像","Agent","ready",{"id":18,"name":19,"github_repo":20,"description_zh":21,"stars":22,"difficulty_score":23,"last_commit_at":24,"category_tags":25,"status":16},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",140436,2,"2026-04-05T23:32:43",[13,15,26],"语言模型",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":23,"last_commit_at":33,"category_tags":34,"status":16},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107662,"2026-04-03T11:11:01",[13,14,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":23,"last_commit_at":41,"category_tags":42,"status":16},3704,"NextChat","ChatGPTNextWeb\u002FNextChat","NextChat 是一款轻量且极速的 AI 助手，旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性，以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发，NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。\n\n这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言，它也提供了便捷的自托管方案，支持一键部署到 Vercel 或 Zeabur 等平台。\n\nNextChat 的核心亮点在于其广泛的模型兼容性，原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型，让用户在一个界面即可自由切换不同 AI 能力。此外，它还率先支持 MCP（Model Context Protocol）协议，增强了上下文处理能力。针对企业用户，NextChat 提供专业版解决方案，具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能，满足公司对数据隐私和个性化管理的高标准要求。",87618,"2026-04-05T07:20:52",[13,26],{"id":44,"name":45,"github_repo":46,"description_zh":47,"stars":48,"difficulty_score":23,"last_commit_at":49,"category_tags":50,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",84991,"2026-04-05T10:45:23",[14,51,52,53,15,54,26,13,55],"数据工具","视频","插件","其他","音频",{"id":57,"name":58,"github_repo":59,"description_zh":60,"stars":61,"difficulty_score":10,"last_commit_at":62,"category_tags":63,"status":16},3128,"ragflow","infiniflow\u002Fragflow","RAGFlow 是一款领先的开源检索增强生成（RAG）引擎，旨在为大语言模型构建更精准、可靠的上下文层。它巧妙地将前沿的 RAG 技术与智能体（Agent）能力相结合，不仅支持从各类文档中高效提取知识，还能让模型基于这些知识进行逻辑推理和任务执行。\n\n在大模型应用中，幻觉问题和知识滞后是常见痛点。RAGFlow 通过深度解析复杂文档结构（如表格、图表及混合排版），显著提升了信息检索的准确度，从而有效减少模型“胡编乱造”的现象，确保回答既有据可依又具备时效性。其内置的智能体机制更进一步，使系统不仅能回答问题，还能自主规划步骤解决复杂问题。\n\n这款工具特别适合开发者、企业技术团队以及 AI 研究人员使用。无论是希望快速搭建私有知识库问答系统，还是致力于探索大模型在垂直领域落地的创新者，都能从中受益。RAGFlow 提供了可视化的工作流编排界面和灵活的 API 接口，既降低了非算法背景用户的上手门槛，也满足了专业开发者对系统深度定制的需求。作为基于 Apache 2.0 协议开源的项目，它正成为连接通用大模型与行业专有知识之间的重要桥梁。",77062,"2026-04-04T04:44:48",[15,14,13,26,54],{"id":65,"github_repo":66,"name":67,"description_en":68,"description_zh":69,"ai_summary_zh":69,"readme_en":70,"readme_zh":71,"quickstart_zh":72,"use_case_zh":73,"hero_image_url":74,"owner_login":75,"owner_name":76,"owner_avatar_url":77,"owner_bio":78,"owner_company":79,"owner_location":80,"owner_email":81,"owner_twitter":82,"owner_website":83,"owner_url":84,"languages":85,"stars":113,"forks":114,"last_commit_at":115,"license":116,"difficulty_score":117,"env_os":118,"env_gpu":119,"env_ram":120,"env_deps":121,"category_tags":133,"github_topics":134,"view_count":23,"oss_zip_url":148,"oss_zip_packed_at":148,"status":16,"created_at":149,"updated_at":150,"faqs":151,"releases":152},3410,"alichherawalla\u002Foff-grid-mobile-ai","off-grid-mobile-ai","The Swiss Army Knife of Offline AI. Chat, Speak, and Generate Images - Privacy First, Zero Internet. Download an LLM and use it on your mobile device. No data ever leaves your phone. Supports text-to-text, vision, text-to-image","Off Grid Mobile AI 是一款专为手机和 Mac 打造的“离线人工智能瑞士军刀”。它让用户无需联网，即可在本地设备上流畅体验聊天对话、图像生成、视觉识别及语音转录等全套 AI 功能。\n\n在隐私泄露和网络依赖日益严重的今天，Off Grid Mobile AI 解决了核心痛点：确保所有数据交互完全在设备内部完成，任何信息都不会上传至云端，真正实现了“零互联网”环境下的智能服务。无论是处理敏感文档还是日常创意创作，用户都能拥有绝对的数据主权。\n\n这款应用非常适合注重隐私的普通用户、需要在无网环境下工作的专业人士，以及对本地大模型部署感兴趣的开发者与研究人员。其独特之处在于强大的兼容性与硬件加速能力：不仅支持运行 Llama 3.2、Qwen 3 等多种主流 GGUF 格式大语言模型，还能利用手机 NPU 或 Core ML 加速 Stable Diffusion 绘图与视觉分析。此外，它内置了本地知识库检索、工具调用（如计算器、网页搜索）及多模态文件解析功能，将移动设备变身为一个功能完备且安全的私人智能助手。","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_b8a2f6e674e8.png\" alt=\"Off Grid Logo\" width=\"120\" \u002F>\n\n# Off Grid\n\n### The Swiss Army Knife of On-Device AI\n\n**Chat. Generate images. Use tools. See. Listen. All on your phone or Mac. All offline. Zero data leaves your device.**\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Falichherawalla\u002Foff-grid-mobile?style=social)](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Google Play](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoogle%20Play-Download-brightgreen?logo=google-play)](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ai.offgridmobile)\n[![App Store](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApp%20Store-Download-blue?logo=apple)](https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Foff-grid-local-ai\u002Fid6759299882)\n[![Platform](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Android%20%7C%20iOS%20%7C%20macOS-green.svg)](#install)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join%20Community-4A154B?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA)\n\n\u003C\u002Fdiv>\n\n---\n\n## Not just another chat app\n\nMost \"local LLM\" apps give you a text chatbot and call it a day. Off Grid is a **complete offline AI suite** — text generation, image generation, vision AI, voice transcription, tool calling, and document analysis, all running natively on your phone's or Mac's hardware.\n\n---\n\n## What can it do?\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_4864e9858124.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Onboarding\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_f150821a9fb3.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Text Generation\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_3104836e18c4.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Image Generation\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_7dd9bcaf43cb.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Vision AI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_410f1a654b3a.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Attachments\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_55da52896414.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>Tool Calling\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n**Text Generation** — Run Qwen 3, Llama 3.2, Gemma 3, Phi-4, and any GGUF model. Streaming responses, thinking mode, markdown rendering, 15-30 tok\u002Fs on flagship devices. Bring your own `.gguf` files too.\n\n**Remote LLM Servers** — Connect to any OpenAI-compatible server on your local network (Ollama, LM Studio, LocalAI). Discover models automatically, stream responses via SSE, store API keys securely in the system keychain. Switch seamlessly between local and remote models.\n\n**Tool Calling** — Models that support function calling can use built-in tools: web search, calculator, date\u002Ftime, device info, and knowledge base search. Automatic tool loop with runaway prevention. Clickable links in search results.\n\n**Project Knowledge Base** — Upload PDFs and text documents to a project's knowledge base. Documents are chunked, embedded on-device with a bundled MiniLM model, and retrieved via cosine similarity — all stored locally in SQLite. The `search_knowledge_base` tool is automatically available in project conversations.\n\n**Image Generation** — On-device Stable Diffusion with real-time preview. NPU-accelerated on Snapdragon (5-10s per image), Core ML on iOS. 20+ models including Absolute Reality, DreamShaper, Anything V5.\n\n**Vision AI** — Point your camera at anything and ask questions. SmolVLM, Qwen3-VL, Gemma 3n — analyze documents, describe scenes, read receipts. ~7s on flagship devices.\n\n**Voice Input** — On-device Whisper speech-to-text. Hold to record, auto-transcribe. No audio ever leaves your phone.\n\n**Document Analysis** — Attach PDFs, code files, CSVs, and more to your conversations. Native PDF text extraction on both platforms.\n\n**AI Prompt Enhancement** — Simple prompt in, detailed Stable Diffusion prompt out. Your text model automatically enhances image generation prompts.\n\n---\n\n## Performance\n\n| Task | Flagship | Mid-range |\n|------|----------|-----------|\n| Text generation | 15-30 tok\u002Fs | 5-15 tok\u002Fs |\n| Image gen (NPU) | 5-10s | — |\n| Image gen (CPU) | ~15s | ~30s |\n| Vision inference | ~7s | ~15s |\n| Voice transcription | Real-time | Real-time |\n\nTested on Snapdragon 8 Gen 2\u002F3, Apple A17 Pro. Results vary by model size and quantization.\n\n---\n\n\u003Ca name=\"install\">\u003C\u002Fa>\n## Install\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\u003Ctr>\n\u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Foff-grid-local-ai\u002Fid6759299882\">\u003Cimg src=\"https:\u002F\u002Fdeveloper.apple.com\u002Fassets\u002Felements\u002Fbadges\u002Fdownload-on-the-app-store.svg\" alt=\"Download on the App Store\" width=\"180\" \u002F>\u003C\u002Fa>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ai.offgridmobile\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_1e91d02cf5a9.png\" alt=\"Get it on Google Play\" width=\"220\" \u002F>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\nOr grab the latest APK from [**GitHub Releases**](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Freleases\u002Flatest).\n\n> **macOS**: The iOS App Store version runs natively on Apple Silicon Macs via Mac Catalyst \u002F iPad compatibility.\n\n### Build from source\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile.git\ncd off-grid-mobile\nnpm install\n\n# Android\ncd android && .\u002Fgradlew clean && cd ..\nnpm run android\n\n# iOS\ncd ios && pod install && cd ..\nnpm run ios\n```\n\n> Requires Node.js 20+, JDK 17 \u002F Android SDK 36 (Android), Xcode 15+ (iOS). See [full build guide](docs\u002FARCHITECTURE.md#building-from-source).\n\n---\n\n## Testing\n\n[![CI](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Factions\u002Fworkflows\u002Fci.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile)\n\nTests run across three platforms on every PR:\n\n| Platform | Framework | What's covered |\n|----------|-----------|----------------|\n| React Native | Jest + RNTL | Stores, services, components, screens, contracts |\n| Android | JUnit | LocalDream, DownloadManager, BroadcastReceiver |\n| iOS | XCTest | PDFExtractor, CoreMLDiffusion, DownloadManager |\n| E2E | Maestro | Critical path flows (launch, chat, models, downloads) |\n\n```bash\nnpm test              # Run all tests (Jest + Android + iOS)\nnpm run test:e2e      # Run Maestro E2E flows (requires running app)\n```\n\n---\n\n## Documentation\n\n| Document | Description |\n|----------|-------------|\n| [Architecture & Technical Reference](docs\u002FARCHITECTURE.md) | System architecture, design patterns, native modules, performance tuning |\n| [Codebase Guide](docs\u002Fstandards\u002FCODEBASE_GUIDE.md) | Comprehensive code walkthrough |\n| [Design System](docs\u002Fdesign\u002FDESIGN_PHILOSOPHY_SYSTEM.md) | Brutalist design philosophy, theme system, tokens |\n| [Visual Hierarchy Standard](docs\u002Fdesign\u002FVISUAL_HIERARCHY_STANDARD.md) | Visual hierarchy and layout standards |\n\n---\n\n## Community\n\nJoin the conversation on [**Slack**](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA) — ask questions, share feedback, and connect with other Off Grid users and contributors.\n\n---\n\n## Contributing\n\nContributions welcome! Fork, branch, PR. See [development guidelines](docs\u002FARCHITECTURE.md#contributing) for code style and the [codebase guide](docs\u002Fstandards\u002FCODEBASE_GUIDE.md) for patterns.\n\n---\n\n## Acknowledgments\n\nBuilt on the shoulders of giants:\n[llama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) | [whisper.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fwhisper.cpp) | [llama.rn](https:\u002F\u002Fgithub.com\u002Fmybigday\u002Fllama.rn) | [whisper.rn](https:\u002F\u002Fgithub.com\u002Fmybigday\u002Fwhisper.rn) | [local-dream](https:\u002F\u002Fgithub.com\u002Fxororz\u002Flocal-dream) | [ml-stable-diffusion](https:\u002F\u002Fgithub.com\u002Fapple\u002Fml-stable-diffusion) | [MNN](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN) | [Hugging Face](https:\u002F\u002Fhuggingface.co)\n\n---\n\n\n## Star History\n\n[![Star History Chart](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_53f21d7d9b3c.png)](https:\u002F\u002Fwww.star-history.com\u002F#alichherawalla\u002Foff-grid-mobile&type=date&legend=top-left)\n\n\u003Cdiv align=\"center\">\n\n**Off Grid** — Your AI, your device, your data.\n\n*No cloud. No subscription. No data harvesting. Just AI that works anywhere.*\n\n[Join the Community on Slack](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA)\n\n\u003C\u002Fdiv>\n","\u003Cdiv align=\"center\">\n\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_b8a2f6e674e8.png\" alt=\"Off Grid Logo\" width=\"120\" \u002F>\n\n# Off Grid\n\n### 设备端AI的瑞士军刀\n\n**聊天、生成图像、使用工具、看、听——全部在你的手机或Mac上完成。全程离线，数据完全不出设备。**\n\n[![GitHub 星标](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Falichherawalla\u002Foff-grid-mobile?style=social)](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile)\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-blue.svg)](LICENSE)\n[![Google Play](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FGoogle%20Play-Download-brightgreen?logo=google-play)](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ai.offgridmobile)\n[![App Store](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FApp%20Store-Download-blue?logo=apple)](https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Foff-grid-local-ai\u002Fid6759299882)\n[![平台](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPlatform-Android%20%7C%20iOS%20%7C%20macOS-green.svg)](#install)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile)\n[![Slack](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FSlack-Join%20Community-4A154B?logo=slack)](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA)\n\n\u003C\u002Fdiv>\n\n---\n\n## 不只是一款聊天应用\n\n大多数“本地LLM”应用只是提供一个文本聊天机器人就结束了。而Off Grid则是一个**完整的离线AI套件**——文本生成、图像生成、视觉AI、语音转录、工具调用和文档分析等功能，全部原生运行在你的手机或Mac硬件上。\n\n---\n\n## 它能做什么？\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_4864e9858124.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>引导流程\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_f150821a9fb3.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>文本生成\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_3104836e18c4.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>图像生成\u003C\u002Fb>\u003C\u002Ftd>\n  \u003C\u002Ftr>\n  \u003Ctr>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_7dd9bcaf43cb.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>视觉AI\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_410f1a654b3a.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>附件功能\u003C\u002Fb>\u003C\u002Ftd>\n    \u003Ctd align=\"center\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_55da52896414.gif\" width=\"200\" \u002F>\u003Cbr \u002F>\u003Cb>工具调用\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n**文本生成**——支持Qwen 3、Llama 3.2、Gemma 3、Phi-4等GGUF模型。流式响应、思考模式、Markdown渲染，在旗舰设备上可达15–30 tok\u002Fs。你也可以导入自己的`.gguf`文件。\n\n**远程LLM服务器**——可连接本地网络中的任何OpenAI兼容服务器（如Ollama、LM Studio、LocalAI）。自动发现模型，通过SSE流式接收响应，并将API密钥安全存储在系统钥匙串中。可在本地与远程模型之间无缝切换。\n\n**工具调用**——支持函数调用的模型可以使用内置工具：网页搜索、计算器、日期时间、设备信息以及知识库搜索。具备防失控机制的自动工具循环，搜索结果中还提供可点击链接。\n\n**项目知识库**——可将PDF和文本文档上传至项目知识库。文档会在设备端分块并嵌入，采用捆绑的MiniLM模型进行向量化，再通过余弦相似度检索——所有数据均本地存储于SQLite数据库中。`search_knowledge_base`工具会自动出现在项目对话中。\n\n**图像生成**——设备端Stable Diffusion，实时预览。在骁龙平台上由NPU加速（每张图5–10秒），iOS则使用Core ML。支持20多种模型，包括Absolute Reality、DreamShaper、Anything V5等。\n\n**视觉AI**——只需将相机对准任何物体即可提问。SmolVLM、Qwen3-VL、Gemma 3n等模型可分析文档、描述场景、读取收据。在旗舰设备上耗时约7秒。\n\n**语音输入**——设备端Whisper语音转文字。长按录音，自动转写。音频绝不会离开你的手机。\n\n**文档分析**——可将PDF、代码文件、CSV等附加到对话中。两个平台上均支持原生PDF文本提取。\n\n**AI提示增强**——输入简单提示，输出详细Stable Diffusion提示。你的文本模型会自动优化图像生成提示。\n\n---\n\n## 性能\n\n| 任务 | 旗舰机型 | 中端机型 |\n|------|----------|-----------|\n| 文本生成 | 15–30 tok\u002Fs | 5–15 tok\u002Fs |\n| 图像生成（NPU） | 5–10秒 | — |\n| 图像生成（CPU） | ~15秒 | ~30秒 |\n| 视觉推理 | ~7秒 | ~15秒 |\n| 语音转录 | 实时 | 实时 |\n\n测试设备：骁龙8 Gen 2\u002F3、Apple A17 Pro。具体性能因模型大小和量化方式而异。\n\n---\n\n\u003Ca name=\"install\">\u003C\u002Fa>\n## 安装\n\n\u003Cdiv align=\"center\">\n\u003Ctable>\u003Ctr>\n\u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Foff-grid-local-ai\u002Fid6759299882\">\u003Cimg src=\"https:\u002F\u002Fdeveloper.apple.com\u002Fassets\u002Felements\u002Fbadges\u002Fdownload-on-the-app-store.svg\" alt=\"在App Store下载\" width=\"180\" \u002F>\u003C\u002Fa>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Ca href=\"https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ai.offgridmobile\">\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_1e91d02cf5a9.png\" alt=\"在Google Play获取\" width=\"220\" \u002F>\u003C\u002Fa>\u003C\u002Ftd>\n\u003C\u002Ftr>\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\n或者从[GitHub Releases](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Freleases\u002Flatest)下载最新APK。\n\n> **macOS**：iOS App Store版本可通过Mac Catalyst\u002FiPad兼容性原生运行在Apple Silicon Mac上。\n\n### 从源码构建\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile.git\ncd off-grid-mobile\nnpm install\n\n# Android\ncd android && .\u002Fgradlew clean && cd ..\nnpm run android\n\n# iOS\ncd ios && pod install && cd ..\nnpm run ios\n```\n\n> 需要Node.js 20+、JDK 17 \u002F Android SDK 36（Android）、Xcode 15+（iOS）。详情请参阅[完整构建指南](docs\u002FARCHITECTURE.md#building-from-source)。\n\n---\n\n## 测试\n\n[![CI](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Factions\u002Fworkflows\u002Fci.yml\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Factions\u002Fworkflows\u002Fci.yml)\n[![codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fcodecov.io\u002Fgh\u002Falichherawalla\u002Foff-grid-mobile)\n\n每次PR提交时，都会在三个平台上运行测试：\n\n| 平台 | 框架 | 测试内容 |\n|----------|-----------|----------------|\n| React Native | Jest + RNTL | 存储、服务、组件、屏幕、接口协议 |\n| Android | JUnit | LocalDream、DownloadManager、BroadcastReceiver |\n| iOS | XCTest | PDFExtractor、CoreMLDiffusion、DownloadManager |\n| 端到端 | Maestro | 关键路径流程（启动、聊天、模型、下载） |\n\n```bash\nnpm test              # 运行所有测试（Jest + Android + iOS）\nnpm run test:e2e      # 运行Maestro端到端流程（需先运行应用）\n```\n\n---\n\n## 文档\n\n| 文档 | 描述 |\n|----------|-------------|\n| [架构与技术参考](docs\u002FARCHITECTURE.md) | 系统架构、设计模式、原生模块、性能调优 |\n| [代码库指南](docs\u002Fstandards\u002FCODEBASE_GUIDE.md) | 全面的代码解析 |\n| [设计系统](docs\u002Fdesign\u002FDESIGN_PHILOSOPHY_SYSTEM.md) | 野兽派设计哲学、主题系统、样式变量 |\n| [视觉层级标准](docs\u002Fdesign\u002FVISUAL_HIERARCHY_STANDARD.md) | 视觉层级与布局规范 |\n\n---\n\n## 社区\n\n加入 [**Slack**](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA) 的讨论——提问、分享反馈，并与其他 Off Grid 用户和贡献者交流。\n\n---\n\n## 贡献\n\n欢迎贡献！请先 Fork，再创建分支并提交 Pull Request。代码风格请参考 [开发指南](docs\u002FARCHITECTURE.md#contributing)，设计模式则可参阅 [代码库指南](docs\u002Fstandards\u002FCODEBASE_GUIDE.md)。\n\n---\n\n## 致谢\n\n站在巨人的肩膀上构建：\n[llama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) | [whisper.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fwhisper.cpp) | [llama.rn](https:\u002F\u002Fgithub.com\u002Fmybigday\u002Fllama.rn) | [whisper.rn](https:\u002F\u002Fgithub.com\u002Fmybigday\u002Fwhisper.rn) | [local-dream](https:\u002F\u002Fgithub.com\u002Fxororz\u002Flocal-dream) | [ml-stable-diffusion](https:\u002F\u002Fgithub.com\u002Fapple\u002Fml-stable-diffusion) | [MNN](https:\u002F\u002Fgithub.com\u002Falibaba\u002FMNN) | [Hugging Face](https:\u002F\u002Fhuggingface.co)\n\n---\n\n\n## 星标历史\n\n[![星标历史图表](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_readme_53f21d7d9b3c.png)](https:\u002F\u002Fwww.star-history.com\u002F#alichherawalla\u002Foff-grid-mobile&type=date&legend=top-left)\n\n\u003Cdiv align=\"center\">\n\n**Off Grid** — 属于你的 AI、你的设备、你的数据。\n\n*无需云端，无需订阅，不收集数据——只为你提供随时随地可用的 AI。*\n\n[加入 Slack 社区](https:\u002F\u002Fjoin.slack.com\u002Ft\u002Foff-grid-mobile\u002Fshared_invite\u002Fzt-3q7kj5gr6-rVzx5gl5LKPQh4mUE2CCvA)\n\n\u003C\u002Fdiv>","# Off Grid Mobile AI 快速上手指南\n\nOff Grid 是一款功能全面的端侧 AI 套件，支持文本生成、图像生成、视觉识别、语音转录及工具调用。所有计算均在手机或 Mac 本地运行，数据不出设备，无需联网即可使用。\n\n## 环境准备\n\n在从源码构建之前，请确保您的开发环境满足以下要求：\n\n*   **Node.js**: 版本 20 或更高\n*   **包管理器**: npm (随 Node.js 安装)\n*   **Android 开发 (可选)**:\n    *   JDK 17\n    *   Android SDK 36\n    *   Android Studio (推荐用于模拟器调试)\n*   **iOS\u002FmacOS 开发 (可选)**:\n    *   Xcode 15 或更高版本\n    *   CocoaPods (`sudo gem install cocoapods`)\n*   **硬件建议**:\n    *   Android: 推荐骁龙 8 Gen 2\u002F3 或同等性能设备以获得最佳推理速度。\n    *   iOS\u002FmacOS: 推荐 Apple Silicon (M 系列芯片) 设备。\n\n> **注意**：国内开发者若遇到 `npm install` 依赖下载缓慢，可临时切换至淘宝镜像源：\n> `npm config set registry https:\u002F\u002Fregistry.npmmirror.com`\n\n## 安装步骤\n\n### 1. 克隆项目\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile.git\ncd off-grid-mobile\n```\n\n### 2. 安装依赖\n```bash\nnpm install\n```\n\n### 3. 构建并运行\n\n#### Android 平台\n清理构建缓存并启动应用：\n```bash\ncd android && .\u002Fgradlew clean && cd ..\nnpm run android\n```\n\n#### iOS 平台\n安装 iOS 原生依赖并启动应用：\n```bash\ncd ios && pod install && cd ..\nnpm run ios\n```\n\n> **macOS 用户提示**：构建出的 iOS 应用可通过 Mac Catalyst 直接在 Apple Silicon Mac 上运行，无需额外配置。\n\n### 4. 直接安装成品 (非开发者)\n如果您仅需使用而非开发，可直接通过以下渠道下载：\n*   **Android**: [Google Play](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=ai.offgridmobile) 或 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile\u002Freleases\u002Flatest) 下载 APK。\n*   **iOS\u002FmacOS**: [App Store](https:\u002F\u002Fapps.apple.com\u002Fus\u002Fapp\u002Foff-grid-local-ai\u002Fid6759299882)。\n\n## 基本使用\n\n启动应用后，您将进入一个完全离线的 AI 工作环境。以下是核心功能的最简使用流程：\n\n### 1. 模型加载与文本对话\n*   **内置模型**：应用预置了 Qwen 3, Llama 3.2, Gemma 3 等模型的量化版本，首次打开时会自动下载（仅需一次）。\n*   **自定义模型**：您可以将任何 `.gguf` 格式的模型文件放入设备存储，并在设置中导入。\n*   **开始对话**：在主界面输入框输入问题（例如：“解释量子纠缠”），点击发送。模型将在本地实时流式输出回答，支持 Markdown 渲染。\n\n### 2. 图像生成\n*   在对话中输入描述性文字（例如：“一只在太空中的猫”）。\n*   点击附件图标或选择“生成图像”模式。\n*   系统会自动调用本地的 Stable Diffusion 模型（如 Absolute Reality），利用 NPU\u002FCore ML 加速，通常在 5-15 秒内生成图片。\n\n### 3. 视觉与文档分析\n*   **视觉 AI**：点击相机图标，对准物体拍照或直接取景，然后提问（例如：“这张收据上的总金额是多少？”）。支持 SmolVLM 等视觉模型本地推理。\n*   **文档分析**：点击回形针图标上传 PDF、CSV 或代码文件。文件内容会在本地被切片并向量化存入 SQLite 数据库。随后您可以在对话中使用 `search_knowledge_base` 工具查询文档内容。\n\n### 4. 连接远程模型 (可选)\n虽然主打离线，但也支持局域网内的远程模型：\n*   进入设置，添加 OpenAI 兼容的本地服务器地址（如 Ollama, LM Studio）。\n*   应用会自动发现模型，之后可在对话中无缝切换使用远程算力。\n\n---\n*所有数据处理均在设备本地完成，无云端传输，保障隐私安全。*","一位野外地质勘探队员在深山无信号区域，需要即时分析岩石样本照片、查阅本地技术文档并生成考察报告。\n\n### 没有 off-grid-mobile-ai 时\n- **网络依赖致命**：由于身处无网环境，无法调用云端大模型进行图像识别或文本生成，工作被迫中断。\n- **数据隐私风险**：若勉强寻找微弱信号上传敏感地质数据和照片至公有云，面临核心勘探数据泄露的隐患。\n- **多工具割裂低效**：需分别使用相机拍照、录音笔记录、离线文档阅读器查阅资料，最后手动整理信息，流程繁琐且易出错。\n- **视觉分析缺失**：面对复杂的岩石纹理或仪器读数，缺乏本地 AI 视觉能力辅助解读，只能依靠个人经验盲目判断。\n\n### 使用 off-grid-mobile-ai 后\n- **完全离线运行**：直接调用手机本地的 Llama 3.2 或 Qwen 模型，在无互联网连接下依然流畅完成对话与推理。\n- **数据绝对安全**：所有岩石照片分析、语音转录及文档检索均在设备内部完成，确保珍贵勘探数据零出域。\n- **全能一体化作业**：利用 Vision AI 直接摄像头对准样本提问，通过语音输入快速记录，并自动检索本地 PDF 知识库生成报告，一站式闭环。\n- **智能视觉辅助**：借助端侧部署的 SmolVLM 模型，实时解析现场图像细节，提供专业的地质特征描述与建议。\n\noff-grid-mobile-ai 将强大的多模态 AI 能力装进口袋，让专业工作者在任何极端环境下都能拥有私密、高效且智能的随身助手。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Falichherawalla_off-grid-mobile-ai_b8a2f6e6.png","alichherawalla","Mohammed Ali Chherawalla","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Falichherawalla_b3a78d72.jpg","I build things","CTO, Wednesday Solutions","India","mohammed.ali.chherawalla@gmail.com","aliChherawalla","https:\u002F\u002Fwww.wednesday.is\u002F","https:\u002F\u002Fgithub.com\u002Falichherawalla",[86,90,94,98,102,105,109],{"name":87,"color":88,"percentage":89},"TypeScript","#3178c6",94,{"name":91,"color":92,"percentage":93},"Kotlin","#A97BFF",3.5,{"name":95,"color":96,"percentage":97},"Swift","#F05138",1.9,{"name":99,"color":100,"percentage":101},"Shell","#89e051",0.2,{"name":103,"color":104,"percentage":101},"JavaScript","#f1e05a",{"name":106,"color":107,"percentage":108},"Objective-C","#438eff",0.1,{"name":110,"color":111,"percentage":112},"Ruby","#701516",0,1307,117,"2026-04-04T17:17:57","MIT",1,"Android, iOS, macOS","非必需。Android 端支持 Snapdragon NPU 加速（推荐 Snapdragon 8 Gen 2\u002F3）；iOS\u002FmacOS 端利用 Apple Silicon (Core ML) 加速。无 NVIDIA CUDA 需求。","未说明（依赖具体设备，旗舰设备性能更佳）",{"notes":122,"python":123,"dependencies":124},"该工具主要作为移动端应用（Android\u002FiOS）或通过 Mac Catalyst 在 macOS 上运行，而非传统的服务器端 Python 环境。构建源码需安装 Node.js、JDK 和 Xcode。支持离线运行多种模型（如 Llama 3.2, Qwen 3, Stable Diffusion），数据完全本地化。图像生成在骁龙 NPU 上需 5-10 秒，CPU 上约 15 秒；文本生成在旗舰设备上可达 15-30 tok\u002Fs。","未说明",[125,126,127,128,129,130,131,132],"Node.js 20+","JDK 17","Android SDK 36","Xcode 15+","llama.cpp","whisper.cpp","Stable Diffusion (CoreML\u002FNPU)","MiniLM",[55,14,26],[135,136,137,138,139,140,141,142,143,144,145,146,147],"privacy-first","gguf","llama-cpp","local-ai","edge-ai","offline-llm","stable-diffusion-android","whisper-android","offline-ai","mobile-ai","ondevice","ondevice-ai","tool-calling",null,"2026-03-27T02:49:30.150509","2026-04-06T10:26:32.688364",[],[153,158,163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":154,"version":155,"summary_zh":156,"released_at":157},90320,"v0.0.82","## v0.0.82 的变更内容\n\n### 功能\n- 新增：在引导流程和设置中的邮件反馈选项中添加“由 Wednesday 用心打造”的品牌标识 (56cf6af)\n- Android 功能：增强的下载守护机制、重试逻辑以及电池优化提示 (4486709)\n- 新增：支持视觉模型（GGUF + mmproj）的多文件导入功能 (f07fd25)\n- 新增：在 Android 上启用前台服务，以防止系统限制模型下载速度 (24024df)\n\n### Bug 修复\n- 修复：解决 eslint 关于最大行数和未使用变量的错误 (f03065f)\n- Android 修复：解决 DownloadManagerModule 中的主要合并冲突 (4b1d385)\n- 修复：根据 Gemini 审查意见进行调整——复活保护机制、移除回调和消息、避免在主线程上执行 IO 操作 (11d4706)\n- Android 修复：修复下载卡在 0% 的问题，添加启动超时，并根据 Gemini 审查意见进行调整 (6bc2b63)\n- 修复：在向知识库添加文档时，防止源文件被删除 (a36970a)\n- 修复：解决 lint 错误，并为视觉模型导入添加测试用例 (e4d5b14)\n- 修复：根据 Gemini 和 Greptile 的评审意见进行调整 (8c3da63)\n- 修复：将 Android pre-push lint 检查范围限定仅针对 :app 模块 (16d69a2)\n- 修复：解决前三大生产环境崩溃问题（SIGSEGV、NPE、Whisper 竞态条件）(67ca0dd)\n- 修复：使用 START_NOT_STICKY 标志，防止服务被杀死后出现僵尸通知 (903c8af)\n- 修复：以正确的 git diff 格式重新生成 installreferrer 补丁 (4d8da56)\n- 修复：为 GrapheneOS 移除 react-native-device-info 中的 installreferrer 依赖项 (f7f774b)\n\n### 重构\n- Android 重构：将 BytesTrack 和 StuckAction 移至类作用域，以便测试可见性 (546d71e)\n- 重构：简化 useModelsScreen 中 useEffect 的依赖数组 (80a9bd9)\n- 重构：将导入辅助函数提取为纯顶层函数 (549af29)\n- 重构：将 SafePromise 提取到共享类中，以减少代码重复 (50e3be2)\n- 重构：根据 Gemini 审查意见，在测试中使用状态常量 (ec8dfdf)\n- 重构：根据 Gemini 审查意见，提取状态和标题字符串常量 (0869565)\n- 重构：根据 Gemini 审查意见，使用 Set 来管理活跃状态，并去重 stopForegroundServiceIfIdle 方法 (a8c24c2)\n\n### 日常维护\n- 维护：版本号升级至 0.0.82 [跳过 CI] (40c2ad4)\n\n### 文档更新\n- 文档：更新架构和代码库指南，涵盖前台服务和 LLM 诊断日志记录 (ce0924d)\n\n### 其他\n- 修复 lint 错误 (64a13fe)\n- 修复代码重复，进行 Sonar 分析 (0c3bbd2)\n- 添加 Wednesday 的 logo (3cca3d3)\n- 减少代码行数 (a4792e4)\n- 减少文件代码行数 (ea865e2)\n- 应用代码审查建议 (ee96ef7)\n- 将 iOS 设置界面中的爱心图标改为红色 (f0cf619)\n- 加强 iOS SDXL 验证测试的清理工作 (1948126)\n- 修复 iOS SDXL 模型验证问题 (77df833)\n- 移除 eslint 禁用行 (452d831)\n- 为 seed 文件禁用 Sonar 检查 (5afbb44)\n- 添加注释说明该函数结构良好，属于简单安全的修复 (469b500)\n- 修复 Sonar 错误 (324f47f)\n- ix：在 useEffect 中使用稳定的原生依赖项，而非使用 eslint-disable 注释 (63a3c9b)\n---\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fwednesday-solutions\u002Fsentinel\u002Fcompare\u002Fv0.0.81...v0.0.82\n\n","2026-04-02T10:09:01",{"id":159,"version":160,"summary_zh":161,"released_at":162},90321,"v0.0.81","## v0.0.81 的变更内容\n\n### 功能\n- 新增：在模型卡片上显示已下载\u002F总 MB 数，并为已下载的模型添加勾选标记（8409ad0）\n- 新增：添加 P0 选项卡导航 Maestro 端到端测试（QA §20.1）（8fd60f2）\n- 新增：修复（79d5494）\n- 新增：修复（754b952）\n- 新增：添加 P0 第二次启动无引导流程的 Maestro 端到端测试（QA §1.5）（0844201）\n- 新增：添加 P0 模型首次下载的 Maestro 端到端测试（QA §1.3）（a6f7b93）\n- 新增：添加 P0 跳过引导流程的 Maestro 端到端测试（QA §1.2）（bb4d64c）\n- 新增：成功连接后，在服务器卡片上显示“已连接”徽章（ce849a5）\n- 新增：添加 P0 引导首次启动的 Maestro 端到端测试（QA §1.1）（b6b5fc0）\n### Bug 修复\n- 修复：Podfile（d33132b）\n- 修复：解决 Gemini 和 Greptile 的评审意见（2bbdf25）\n- 修复：LM Studio 思考提示和 Android 弹出框的位置问题（417d779）\n- 修复：在首页模型选择器中显示思考徽章，并为图片进度添加边距（9b8cb64）\n- 修复：修复远程模型选择问题，并添加 useActiveTextModel 钩子（9ffcdd3）\n- 修复：在下载徽章计数中排除过时的图片进度条目（85bf338）\n- 修复：移除未使用的 activeDownloadIds 变量（06b2842）\n- 修复：在 buildDownloadItems 中跳过过时的图片下载条目（32575f8）\n- 修复：为 purgeStaleImageDownloads 添加调试日志，以便调查过时条目（b94cffc）\n- 修复：将删除操作移至详情页，并使 moveCompletedDownload 非阻塞（94ac683）\n- 修复：解决 SonarCloud 的代码异味问题（96236a3）\n- 修复：在初始下载总字节数显示中包含 mmproj 大小（971d388）\n- 修复：在模型列表中添加删除按钮，并停止在下载管理器卸载时轮询终止进程（c4b1430）\n- 修复：移除 freezeOnBlur — 该设置会中断“模型”选项卡上的下载进度（c17ddde）\n- 修复：解决 Lint 错误，并为重构后的组件更新测试用例（54f6d1d）\n- 修复：在进度条右侧显示百分比，下方显示字节数（7547e89）\n- 修复：防止模型卡片上的进度文本换行（b1c87f8）\n- 修复：清除已下载模型的过时图片下载条目（e5fedb0）\n- 修复：在多文件 CoreML 下载完成后清理原生下载条目（cba89a9）\n- 修复：将 pollProgress 恢复为 queue.sync，以恢复实时进度（dad910b）\n- 修复：对于多文件下载，立即解析 Promise 以清除活动状态（c9e15e6）\n- 修复：将 pollProgress 恢复为简单的异步屏障，以恢复事件传递（ce386cb）\n- 修复：在图片模型下载完成时解除 UI 阻塞（3210a1c）\n- 修复：减少多文件下载期间 pollProgress 屏障的竞争（8f13f6a）\n- 修复：在 pollProgress 的逃逸闭包中显式使用 self（6b5d9be）\n- 修复：根据 Greptile 的评审意见——收紧裁剪启发式算法，延迟解析并在持久化后解决（f135123）\n- 修复：iOS 性能卡顿及间歇性视觉模型检测失败问题（b83b130）\n- 修复：Podfile（7d046d5）\n- 修复：根据 Greptile 的评审意见——安全引用、passWithNoTests 并添加测试（fa2af5e）\n- 修复：在验证错误信息中显示实际的头部字节数（cdfbbcf）\n- 修复：通过 --findRelatedTests 将 JS 的预推送测试范围限定在更改过的文件上（c2f9280）\n- 修复：处理 RNFS.read() 在 iOS 桥接中的错误","2026-03-15T11:10:19",{"id":164,"version":165,"summary_zh":166,"released_at":167},90322,"v0.0.80","## v0.0.80 的变更内容\n\n### 功能\n- feat: 重构模型下载界面，支持网络与本地部署（a24b1cf）\n- feat: 在引导页中启动局域网发现功能（ad2496d）\n- feat: 更新引导页第4页，加入关于网络模型的说明（7f3e7f4）\n\n### Bug 修复\n- fix: 防止键盘弹出时 AppSheet 内容溢出屏幕顶部（bc6c5a1）\n- fix: 为 Android 局域网发现功能添加 ACCESS_WIFI_STATE 权限（17dbf25）\n- fix: 解决 SonarCloud 质量门问题——去重测试 Mock、抑制局域网安全热点（7ee5d48）\n- fix: 根据 PR 审查意见修复引导页中的网络发现功能（af70049）\n- fix: 添加“思考中”徽章、旗舰等级卡片，并解决 SwiftLint 警告（a19c784）\n- fix: 将 LLM 连接流程中的系统 Alert 对话框替换为 CustomAlert 底部弹出层（676d10b）\n\n### 代码重构\n- refactor: 将 networkDiscovery 中的共享网络工具函数提取出来（f95c41b）\n\n### 杂项\n- chore: 版本号升级至 0.0.80 [跳过 CI]（8fbd02a）\n- chore: 版本号升级至 0.0.79 [跳过 CI]（7a73e6f）\n- chore: 版本号升级至 0.0.78 [跳过 CI]（81e0313）\n- chore: 执行空提交以在解决 SonarCloud 热点后重新触发 CI 流程（6321384）\n\n### 测试\n- test: 为引导页中的网络发现功能变更添加测试用例（7517d79）\n\n### 文档\n- docs: 将 QA 测试计划移至 docs\u002Ftests 目录，并补充缺失的测试用例（02eac6e）\n\n---\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.77...v0.0.80","2026-03-14T17:16:16",{"id":169,"version":170,"summary_zh":171,"released_at":172},90323,"v0.0.79","## v0.0.79 的变更内容\n\n### 功能\n- feat: 重构模型下载界面，支持网络与本地设置 (a24b1cf)\n- feat: 在引导页中启动局域网发现功能 (ad2496d)\n- feat: 更新引导页第4页，提及网络模型 (7f3e7f4)\n\n### Bug 修复\n- fix: 为 Android 局域网发现功能添加 ACCESS_WIFI_STATE 权限 (17dbf25)\n- fix: 解决 SonarCloud 质量门问题 — 去重测试 Mock，抑制局域网安全热点 (7ee5d48)\n- fix: 根据 PR 审查意见修复引导页网络发现相关问题 (af70049)\n- fix: 添加思考徽章、旗舰等级卡片，并解决 SwiftLint 警告 (a19c784)\n- fix: 将 LLM 连接流程中的系统 Alert 对话框替换为 CustomAlert 底部弹出层 (676d10b)\n\n### 代码重构\n- refactor: 从 networkDiscovery 中提取共享的网络工具函数 (f95c41b)\n\n### 日常维护\n- chore: 版本号升级至 0.0.79 [跳过 CI] (7a73e6f)\n- chore: 版本号升级至 0.0.78 [跳过 CI] (81e0313)\n- chore: 执行空提交以在解决 SonarCloud 热点后重新触发 CI 流程 (6321384)\n\n### 测试\n- test: 为引导页网络发现功能的改动添加测试用例 (7517d79)\n\n### 文档\n- docs: 将 QA 测试计划移至 docs\u002Ftests 目录，并补充缺失的测试用例 (02eac6e)\n\n---\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.77...v0.0.79","2026-03-14T16:10:03",{"id":174,"version":175,"summary_zh":176,"released_at":177},90324,"v0.0.78","## v0.0.78 的变更内容\n\n### 功能\n- feat: 重构模型下载界面，支持网络与本地部署（a24b1cf）\n- feat: 在引导页中启动局域网发现功能（ad2496d）\n- feat: 更新引导页第4页，提及网络模型（7f3e7f4）\n\n### Bug 修复\n- fix: 解决 SonarCloud 质量门问题——去重测试 Mock，抑制局域网安全热点（7ee5d48）\n- fix: 根据 PR 审查意见修复引导页网络发现相关问题（af70049）\n- fix: 添加思考徽章、旗舰等级卡片，并解决 SwiftLint 警告（a19c784）\n- fix: 将 LLM 连接流程中的系统 Alert 对话框替换为 CustomAlert 底部弹出层（676d10b）\n\n### 代码重构\n- refactor: 从 networkDiscovery 中提取共享的网络工具函数（f95c41b）\n\n### 杂项\n- chore: 版本号升级至 0.0.78 [跳过 CI]（81e0313）\n- chore: 提交空提交以在解决 SonarCloud 热点后重新触发 CI（6321384）\n\n### 测试\n- test: 为引导页网络发现功能的改动添加测试用例（7517d79）\n\n### 文档\n- docs: 将 QA 测试计划移至 docs\u002Ftests 目录，并补充缺失的测试用例（02eac6e）\n---\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.77...v0.0.78\n","2026-03-14T15:07:10",{"id":179,"version":180,"summary_zh":181,"released_at":182},90325,"v0.0.77","## v0.0.77 的变更内容\n\n### Bug 修复\n- 修复：解决 Greptile 审查意见——修复竞态条件，细化错误匹配（37f9725）\n- 修复：在停止和生成准备失败时清除聊天存储的流式状态（8a0bfd9）\n- 修复：添加缺失的日志器导入，并修复工具生成中的 TypeScript 错误（94259eb）\n- 修复：解决 SonarCloud 问题——移除断言、提取辅助函数、修复嵌套问题（6a0f1fd）\n- 修复：解决 Lint 错误——减小文件体积、降低复杂度、修复测试（ab52f36）\n- 修复：为 iOS 添加缺失的 TCC 隐私描述，以防止在 iOS 26 上崩溃（09a6b73）\n- 修复：在原生初始化前验证 Whisper 模型文件，以防止 iOS 崩溃（ff10839）\n- 修复：防止并发的 Llama 上下文初始化，以修复 iOS 上的线程池崩溃（1b5e4dd）\n- 修复：更新下载和语音按钮行为变化相关的测试用例（5d5c50e）\n- 修复：防止 CoreML TextEncoder 在 Stable Diffusion 流程中崩溃（834d78c）\n- 修复：解决 Lint 错误——降低复杂度、提取辅助函数、修复未使用的变量（8f4d419）\n- 修复：当语音输入不可用时，直接导航至语音设置页面（db5467d）\n- 修复：使用 safeCompletion 包装工具生成的完成逻辑，以实现原生崩溃恢复（cee44c7）\n- 修复：限制 Android GPU 层的数量，以防止 Adreno ANR 并添加 GPU 初始化超时（9d7ff0e）\n- 修复：保护原生模块的 Promise，使其不受桥接销毁和卸载组件的影响（bd6934b）\n- 修复：在 Android 上禁用 removeClippedSubviews，以防止 ReactViewGroup 截剪导致的崩溃（70dfea2）\n- 修复：防止 whisper finishRealtimeTranscribeJob 中出现 SIGSEGV 崩溃（cce149c）\n- 修复：移除模型下载后的自动激活，以防止 UI 卡死（c816739）\n### 杂项\n- 杂项：将版本号升级至 0.0.77 [跳过 CI]（26f4407）\n### 文档\n- 文档：添加 QA 测试计划（16e7fb1）\n- 文档：要求在 AGENTS.md 中对 PR 审查的每条评论单独回复（3aa312e）\n---\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.76...v0.0.77","2026-03-14T08:03:18",{"id":184,"version":185,"summary_zh":186,"released_at":187},90326,"v0.0.76","## v0.0.76 的更新内容\n\n### Bug 修复\n- 修复：防止后台提供者初始化与用户模型选择之间的竞态条件 (7850b3a)\n- 修复：响应 Gemini 审查意见——提取发现超时常量 (291c33c)\n- 修复：使远程服务器初始化变为非阻塞，以避免应用启动缓慢 (031aac5)\n\n### 杂项\n- 杂项：将版本号升级至 0.0.76 [跳过 CI] (5da0e92)\n---\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.75...v0.0.76\n","2026-03-14T05:35:38",{"id":189,"version":190,"summary_zh":191,"released_at":192},90327,"v0.0.75","## v0.0.75 的变更\n\n### 错误修复\n- 修复：处理 Gemini 和 Greptile 的评审意见 (7d9fd90)\n- 修复：解决 SonarCloud 问题 — 降低复杂度，修复否定条件 (a132013)\n- 修复：保护 messagesForContext 日志，防止测试崩溃 (af1dca8)\n- 修复：Ollama 工具调用、NDJSON\u002FSSE 流解析以及默认知识库工具 (81154f3)\n\n### 杂项\n- 杂项：将版本号升级至 0.0.75 [跳过 CI] (2e488dc)\n---\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.74...v0.0.75\n","2026-03-14T04:49:20",{"id":194,"version":195,"summary_zh":196,"released_at":197},90328,"v0.0.74","## v0.0.74 的更新内容\n\n### 功能\n- feat: 在首页选择器中按服务器名称对远程模型进行分组 (3a22b7f)\n### Bug 修复\n- fix: 修复 RAG 因上下文窗口截断导致的问题，以及重新生成时附件丢失的问题 (3cf9c24)\n- fix: 在使用蜂窝网络时跳过局域网扫描，并延迟到首页渲染后再执行 (3e42dbe)\n- fix: 当未连接 WiFi 时跳过局域网自动扫描，以避免长时间超时 (56790cf)\n### 杂项\n- chore: 将版本号升级至 0.0.74 [skip ci] (1064eba)\n---\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.73...v0.0.74\n","2026-03-14T03:17:58",{"id":199,"version":200,"summary_zh":201,"released_at":202},90329,"v0.0.73","## v0.0.73 的更新内容\n\n### Bug 修复\n- 修复：从 API 检测思考能力，而非硬编码为 `true` (cb35757)\n- 修复：为已完成安装但未完成引导的新用户重置 `checklistDismissed` 标志 (518a004)\n- 修复：保持引导页面的闪烁点可见，并停止在应用启动时自动打开表单页 (a3df201)\n- 修复：在发现页面和提供商默认设置中，为远程模型启用思考模式 (47712b3)\n\n### 杂项\n- 杂项：将版本号升级至 0.0.73 [跳过 CI] (87703f4)\n---\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.72...v0.0.73\n","2026-03-13T13:34:25",{"id":204,"version":205,"summary_zh":206,"released_at":207},90330,"v0.0.72","## What's Changed in v0.0.72\n\n### Features\n- feat: ModelPickerSheet — icon-only unload button, always-visible Add Remote Server (dce7d21)\n### Bug Fixes\n- fix: use discovered capabilities for remote tool-calling\u002Fthinking instead of hardcoded true (f0d8bb3)\n- fix: port-agnostic model capability detection — try both APIs, fall back to name-based (9952efb)\n- fix(.gitignore): split corrupted .yarn exclusion into two lines (892ddac)\n- fix(lint): remove unused OpenAIToolCall import, compact getGpuInfo to fit max-lines (aca15d6)\n- fix(sonar): reduce cognitive complexity, duplication, and code smells (b872289)\n- fix: commit all pending changes — httpClient test signatures, removed eslint-disables, warning fixes (e6e3513)\n- fix: don't overwrite server-API vision metadata with name-pattern heuristics (0c6e7a4)\n- fix(lint): remove unused manager variable in remoteServerManager tests (1b04010)\n- fix(ts): resolve tsc --noEmit errors (5729cf1)\n- fix(lint): resolve max-lines in ChatMessage, fix barrel imports in remoteServerManager (604416d)\n- fix(lint): split httpClient into httpClientSSE+httpClientUtils, bundle streaming params into StreamRequestConfig (ca351b6)\n- fix(lint): bundle callbacks+buildMeta into ctx param, reduce localProvider max-params to ≤3 (92c0d36)\n- fix(lint): extract RemoteServerModal styles\u002Fform-hook\u002Fsubcomponent, reduce to 166 lines (49647d2)\n- fix(lint): extract LAN discovery and remote model handlers, reduce useHomeScreen arrow fn to ≤250 lines (7b62999)\n- fix(lint): extract RemoteServersScreen styles to own file, reduce to 249 lines (0ba9fd2)\n- fix(lint): extract TextTab\u002FImageTab and remoteStyles, fix inline styles, reduce ModelSelectorModal to 219 lines (2387533)\n- fix(lint): extract spotlight logic to useHomeScreenSpotlight, reduce HomeScreen arrow fn to ≤250 lines (68e00c7)\n- fix(lint): extract KnowledgeBaseSection to own file, reduce ProjectDetailScreen to 270 lines (4a106ef)\n- fix(lint): reduce handleAddDocument complexity from 16 to 15 (98f9872)\n- fix(lint): compact single-prop style and add missing useMemo dep (9d22c6e)\n- fix(lint): split useChatScreen — extract handlers and effects to reduce arrow fn to ≤250 lines (7f0ed04)\n- fix(lint): extract ChatMessageArea to own file, reduce index.tsx to 232 lines (d74cac9)\n- fix(lint): reduce llm.ts to ≤350 lines (1ac183c)\n- fix(lint): reduce types\u002Findex.ts to ≤350 lines (f3e5ccc)\n- fix(lint): reduce appStore.ts to ≤350 lines (27d94c8)\n- fix(lint): resolve max-params and max-lines in generationToolLoop (30e3a9b)\n- fix(lint): split remoteServerStore — extract helpers to reduce file to \u003C350 lines (269a798)\n- fix(lint): move ensureRemoteServerStoreHydrated to module scope in App.tsx (145d913)\n- fix(lint): resolve ESLint errors in ModelPickerSheet (274ac38)\n- fix: emit fallback message when model returns empty response after tool calls (287f319)\n- fix: refresh KB doc list after each file during multi-file indexing (0212564)\n- fix: hydrate remote server store before initializing providers on app start (e15e56b)\n- fix: derive supportsVision from remote model capabilities in ChatScreen (165cba6)\n- fix: detect remote model vision capability via server API, not name patterns (89ace7a)\n### Refactors\n- refactor(llm): extract resolveGpuBackend to eliminate nested ternary (e5e20e8)\n- refactor: rename OllamaModelInfo to RemoteModelInfo, reduce cognitive complexity (ae3f20a)\n- refactor: remove dead code — tempProvider in discoverModels, enrichModelsWithCapabilities (d4e0313)\n- refactor(openAICompatibleProvider): split file to fix 5 lint errors (26f684c)\n- refactor(generationService): split into helpers file to fix file-too-long lint error (2cd4488)\n### Chores\n- chore: bump version to 0.0.72 [skip ci] (b9ae5e7)\n- chore: remove LocalAI from LAN discovery — support Ollama and LM Studio only (c1f4383)\n### Tests\n- test: fix remoteServerManager tests after detectVisionCapability extraction (3929f9f)\n- test: update and add tests for remote vision, Ollama images, LocalAI removal (d11b62d)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.71...v0.0.72\n","2026-03-13T10:43:37",{"id":209,"version":210,"summary_zh":211,"released_at":212},90331,"v0.0.71","## What's Changed in v0.0.71\n\n### Features\n- feat: remote model thinking, tool loop fixes, and LAN discovery improvements (ffc4653)\n- feat: wire up LAN auto-discovery to Remote Servers screen (5734130)\n- feat: tap pending-settings banner to reload text model (fe64537)\n- feat: show active project badge in chat header; fix project selector not opening from settings (4f27cb2)\n- feat: pass generation options to OpenAI-compatible API requests (e05f3ff)\n- feat: initialize remote server providers on app startup (6985720)\n- feat: add remote model selection to ModelSelectorModal (a3fa8b2)\n- feat: enable remote model usage in chat (de25602)\n- feat: add remote model selection to homescreen (31c09d9)\n- feat: add remote server management UI (f657cc7)\n- feat: integrate remote providers into generation service (ce56d40)\n- feat: integrate remote providers into generation service (bc142a9)\n- feat: add provider infrastructure and remote server manager (1356a70)\n- feat: add HTTP client with XHR streaming for React Native (c1f2200)\n- feat: add remote server types and store (66e1583)\n- feat: add KnowledgeBaseScreen with document preview (4ed7d12)\n- feat: update ProjectDetailScreen with 50\u002F50 layout (7d8a3fd)\n- feat: add ProjectChatsScreen and DocumentPreviewScreen (90025b3)\n- feat: replace FTS5\u002FBM25 keyword search with semantic embedding search (6aa8688)\n- feat: initialize RAG database on app startup (1b2a9f4)\n- feat: add Knowledge Base UI section to ProjectDetailScreen (9dc9f21)\n- feat: inject RAG context into project conversation prompts (6183741)\n- feat: extend Project type and store with RAG support (4450bc7)\n- feat: add core RAG services for project-scoped knowledge base (a6bc9bc)\n- feat: add op-sqlite dependency and jest configuration for RAG (6cbcb62)\n### Bug Fixes\n- fix: revert modelDeps to settings dep in handleReloadTextModel — avoids new lint warning (b37a667)\n- fix: address all PR review comments — remove debug logs, tighten LAN discovery, gate LM Studio kwargs (4a655fd)\n- fix: replace ReDoS-vulnerable regex in remoteServerManager endpoint dedup (0546fef)\n- fix: scope HTTP allowances — remove NSAllowsArbitraryLoads from iOS, clarify Android base-config (f3a3f18)\n- fix: resolve all test failures across 4 test suites (ed57d31)\n- fix: compact discovered model list items further, drop empty capabilities row (46fa3d7)\n- fix: reduce discovered model list item size and padding (ebd8eff)\n- fix: make discovered models list scrollable, cap at ~3 visible, reduce margins (08fb4d4)\n- fix: show discovered models above action buttons in remote server modal (84b7caf)\n- fix: show Test Connection and Add Server buttons side by side (26d265e)\n- fix: auto-test connection when manually adding a remote server (c02f356)\n- fix: scroll-to-bottom button overlapping chat input on Android (4c91603)\n- fix: keyboard input, stop button, pre-tool text, server deduplication, LAN discovery improvements (e189ef1)\n- fix:  fallback (143ad34)\n- fix: test failures and wifi icon overflow in model card (1d7bcbd)\n- fix: add reasoning and thinking fields to OpenAI delta type (d61cecb)\n- fix: resolve test isolation issue in tools\u002Fhandlers.test.ts (8f98c45)\n- fix: use correct probe paths and validate private IP for LAN discovery (789b5d5)\n- fix: allow HTTP to LAN servers on Android and iOS (c7467b0)\n- fix: update Podfile.lock to sync with upgraded node_modules (43b5470)\n- fix: use explicit path for AndroidManifest.xml Sonar exclusion (c272746)\n- fix: exclude AndroidManifest.xml from SonarCloud analysis (5cecb94)\n- fix: move NOSONAR to permission line in AndroidManifest (cb6a8ab)\n- fix: suppress SonarCloud hotspot for CAMERA permission in AndroidManifest (2c470af)\n- fix: remove unused activeRemoteTextModelId destructure in generationService (4053698)\n- fix: address Gemini review — debug logs, Android camera, timer sync (de81c5e)\n- fix: remove duplicate test and reduce SonarCloud duplication below 3% (5a0c24c)\n- fix: resolve remaining SonarCloud hotspots and reduce duplication (b80d223)\n- fix: resolve SonarCloud reliability bug and reduce test duplication (1c93193)\n- fix: suppress SonarCloud security hotspots in test files (c09a1c2)\n- fix: add settings to handleReloadTextModel useCallback deps (4ee299c)\n- fix: resolve TypeScript errors in test files (4ff963b)\n- fix: resolve lint errors in test files (ca70771)\n- fix: resolve remaining lint errors (a923742)\n- fix: resolve lint errors in ChatScreen files (86a0e92)\n- fix: add NSCameraUsageDescription to Info.plist (27af829)\n- fix: force unload before reload so setLoadedSettings always runs (746074e)\n- fix: truncate long model names in header; hide local-only UI for remote models (d5d664e)\n- fix: move project indicator to subtitle row in chat header (f01e952)\n- fix: persist loadedSettings so pending-settings warning survives app restart (9666446)\n- fix: always show project badge in chat header (show Default when no project) (416a474)\n- fix: enable tool calling for remote models via OpenAI-compatible API (69d48d6)\n- f","2026-03-12T19:25:12",{"id":214,"version":215,"summary_zh":216,"released_at":217},90332,"v0.0.70","## What's Changed in v0.0.70\n\n### Bug Fixes\n- fix: chat input issues - keyboard-aware popover and always-on tools (93141ea)\n### Chores\n- chore: bump version to 0.0.70 [skip ci] (00f8931)\n- chore: bump version to 0.0.70 [skip ci] (8dc514b)\n### Other\n- Revert \"chore: bump version to 0.0.70 [skip ci]\" (1b61814)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.69...v0.0.70\n","2026-03-08T06:07:41",{"id":219,"version":220,"summary_zh":221,"released_at":222},90333,"v0.0.69","## What's Changed in v0.0.69\n\n### Features\n- feat: replace toolbar icons with quick settings and attach popovers (d463ea0)\n- feat: add thinking mode toggle with \u002Fno_think support (954c8bd)\n- feat: update recommended models to Qwen 3.5 lineup (9bf560b)\n### Bug Fixes\n- fix: always strip think tags when model supports thinking (9d4edac)\n- fix: append \u002Fno_think for image-only messages when thinking disabled (6425910)\n- fix: use Dimensions for popover positioning instead of magic number (89e2ae8)\n- fix: remove redundant Cancel button from image attach alert (7828e10)\n- fix: exclude BF16 mmproj files when selecting F16 variant (9e19d59)\n### Refactors\n- refactor: reduce cognitive complexity in QuickSettingsPopover (86c0c46)\n### Chores\n- chore: bump version to 0.0.69 [skip ci] (39176fe)\n- chore: claude no more (e11be3a)\n### Other\n- Move quality gates to pre-push (913e9e7)\n- Fix Sonar hotspot and review warnings (638d91a)\n- Fix llama.rn thinking and tool streaming (b060c09)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.68...v0.0.69\n","2026-03-08T03:20:41",{"id":224,"version":225,"summary_zh":226,"released_at":227},90334,"v0.0.68","## What's Changed in v0.0.68\n\n### Features\n- feat: add Low RAM Core ML image model entries with original attention variant (f6dd14c)\n### Bug Fixes\n- fix: resolve SwiftLint warnings in DownloadManagerModule (099a2a9)\n- fix: remove low-mem iOS workarounds that cause crashes (a3a47b4)\n- fix: extract nested ternary in LoadingOverlay into helper function (8959198)\n- fix: resolve lint errors and refine low-memory image loading (04e5a98)\n- fix: address PR review comments and fix CI failures (e13ca7d)\n- fix: delay share prompt until second text generation (64fe518)\n- fix: enable image model loading on low-memory devices (1c11e5c)\n- fix: iPhone XS fixes (a4cabcb)\n- fix: guard excludePathFromBackup call for Android compatibility (4444723)\n### Chores\n- chore: bump version to 0.0.68 [skip ci] (c0ba42d)\n### Tests\n- test: fix mock isolation in excludeFromBackup tests (54b701a)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.67...v0.0.68\n","2026-03-07T10:43:13",{"id":229,"version":230,"summary_zh":231,"released_at":232},90335,"v0.0.67","## What's Changed in v0.0.67\n\n### GPU Acceleration (MNN OpenCL)\n- Upgraded MNN binary from 3.2.1 to 3.4.0 with OpenCL GPU acceleration\n- Image generation now uses GPU (OpenCL) instead of CPU — **~2x faster** on supported devices\n- Added GPU acceleration toggle and Clear GPU Cache button in image generation settings\n- Reduced default image steps from 20 → 8 (DPM Solver produces good quality with fewer steps on MNN 3.4.0)\n- First-run OpenCL kernel compilation takes ~60s, then cached for subsequent runs\n\n| Metric | Before | After |\n|---|---|---|\n| Default steps | 20 | 8 |\n| Time (Snapdragon 8s Gen 3) | ~90s | ~41s |\n| Acceleration | CPU only | OpenCL GPU |\n\n### LLM Inference Performance\n- GPU offloading for LLM inference with larger batches and KV cache reuse\n- Auto-detect GPU capability, cap auto-context at 4096 for mobile\n- Flash attention is now user-configurable with Android GPU layers guard\n- Platform-aware GPU defaults and optimized thread count\n\n### Settings UI Overhaul\n- Restructured settings with basic\u002Fadvanced split, removed Performance tab\n- GPU acceleration controls integrated into settings\n- Hardened prompt enhancement\n\n### iCloud Backup Fix\n- Downloaded model files no longer consume iCloud storage (previously 10+ GB)\n- Added `isExcludedFromBackup` handling for all model directories on iOS\n- Existing users get retroactive fix on first app launch after updating\n\n### Bug Fixes\n- Fixed thread leak: shut down executor on catalyst instance destroy\n- Fixed download stuck at zero bytes on Android\n\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.66...v0.0.67","2026-03-06T12:44:51",{"id":234,"version":235,"summary_zh":236,"released_at":237},90336,"v0.0.66","## What's Changed in v0.0.66\n\n### Bug Fixes\n- fix: shut down executor on catalyst instance destroy to prevent thread leak (df2f00e)\n- fix: validate redirect host against allowlist to prevent SSRF bypass (eb50b7c)\n- fix: address Gemini review — sanitize fileName, validate URL host, use executor (d0f86fe)\n- fix: pre-resolve HuggingFace redirects to fix 0-byte downloads on Android (bf38e1a)\n- fix: use explicit null check for pendingStop to satisfy SonarCloud (f029130)\n- fix: address review — abort guard after drain, expand if blocks (03b678f)\n- fix: resolve stop generation race conditions causing stuck UI (fd840b1)\n\n### Refactors\n- refactor: extract shared pre-generation setup into prepareGeneration helper (65de213)\n\n### Other\n- Update README.md (cc5ca81)\n- Update README.md (bf8276e)\n\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.65...v0.0.66\n","2026-03-05T15:11:59",{"id":239,"version":240,"summary_zh":241,"released_at":242},90337,"v0.0.65","## What's Changed in v0.0.65\n\n### Bug Fixes\n- fix: compare raw float for mmproj size check, not rounded string (3604e36)\n- fix: use explicit null check for activeCompletionPromise (5833a55)\n- fix: remove redundant try-catch on always-resolving promise (e9b54b3)\n- fix: address SonarCloud - log catch blocks, remove non-null assertion (f6548d8)\n- fix: prevent SIGSEGV by draining active completion before context release (b531e1f)\n### Chores\n- chore: bump version to 0.0.65 [skip ci] (1500143)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.64...v0.0.65\n","2026-03-05T04:01:37",{"id":244,"version":245,"summary_zh":246,"released_at":247},90338,"v0.0.64","## What's Changed in v0.0.64\n\n### Features\n- feat: stop showing share prompt after engagement, add community links to Settings (d92fca3)\n- feat: add share prompt to encourage GitHub stars and X shares (0c90e0c)\n### Bug Fixes\n- fix: make generation count increments atomic (23454d6)\n- fix: add top padding to onboarding sheet progress bar (8d77bba)\n- fix: prevent QNN image model failures on non-Qualcomm and older devices (#99) (05658e0)\n- fix: ios builds should be triggerable through scripts\u002Frelease.sh as well; (3d025e2)\n### Refactors\n- refactor: reduce test duplication in SharePromptSheet tests (ea20948)\n- refactor: address Gemini review - type safety, named constants, extract helper (1cda1bd)\n### Chores\n- chore: bump version to 0.0.64 [skip ci] (e41b173)\n### Other\n- Update README.md (d5e2166)\n- Add files via upload (996a68f)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.63...v0.0.64\n","2026-03-04T13:44:09",{"id":249,"version":250,"summary_zh":251,"released_at":252},90339,"v0.0.63","## What's Changed in v0.0.63\n\n### Bug Fixes\n- fix: prevent OOM crash on low-RAM iOS devices (iPhone XS) (#98) (b8aa3ed)\n### Chores\n- chore: bump version to 0.0.63 [skip ci] (1cbac1b)\n- chore: bump version to 0.0.62 [skip ci] (579c913)\n- chore: add local release script for Android + iOS builds (67627f2)\n---\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Falichherawalla\u002Foff-grid-mobile-ai\u002Fcompare\u002Fv0.0.62...v0.0.63\n","2026-03-03T11:25:43"]