[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-shubham0204--SmolChat-Android":3,"tool-shubham0204--SmolChat-Android":65},[4,17,27,35,48,57],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"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 真正成长为懂上",156804,2,"2026-04-15T11:34:33",[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},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,3,"2026-04-06T11:19:32",[15,26,14,13],"图像",{"id":28,"name":29,"github_repo":30,"description_zh":31,"stars":32,"difficulty_score":10,"last_commit_at":33,"category_tags":34,"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,15],{"id":36,"name":37,"github_repo":38,"description_zh":39,"stars":40,"difficulty_score":10,"last_commit_at":41,"category_tags":42,"status":16},2268,"ML-For-Beginners","microsoft\u002FML-For-Beginners","ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程，旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周，包含 26 节精炼课程和 52 道配套测验，内容涵盖从基础概念到实际应用的完整流程，有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。\n\n无论是希望转型的开发者、需要补充算法背景的研究人员，还是对人工智能充满好奇的普通爱好者，都能从中受益。课程不仅提供了清晰的理论讲解，还强调动手实践，让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持，通过自动化机制提供了包括简体中文在内的 50 多种语言版本，极大地降低了全球不同背景用户的学习门槛。此外，项目采用开源协作模式，社区活跃且内容持续更新，确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路，ML-For-Beginners 将是理想的起点。",85092,"2026-04-10T11:13:16",[26,43,44,45,14,46,15,13,47],"数据工具","视频","插件","其他","音频",{"id":49,"name":50,"github_repo":51,"description_zh":52,"stars":53,"difficulty_score":54,"last_commit_at":55,"category_tags":56,"status":16},5784,"funNLP","fighting41love\u002FfunNLP","funNLP 是一个专为中文自然语言处理（NLP）打造的超级资源库，被誉为\"NLP 民工的乐园”。它并非单一的软件工具，而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。\n\n面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点，funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具，还独特地收录了丰富的垂直领域资源，如法律、医疗、金融行业的专用词库与数据集，甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性，从基础的字典词典到前沿的 BERT、GPT-2 模型代码，再到高质量的标注数据和竞赛方案，应有尽有。\n\n无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师，还是从事人工智能研究的学者，都能在这里找到急需的“武器弹药”。对于开发者而言，它能大幅减少寻找数据和复现模型的时间；对于研究者，它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神，极大地降低了中文自然语言处理的开发与研究成本，是中文 AI 社区不可或缺的宝藏仓库。",79857,1,"2026-04-08T20:11:31",[15,43,46],{"id":58,"name":59,"github_repo":60,"description_zh":61,"stars":62,"difficulty_score":54,"last_commit_at":63,"category_tags":64,"status":16},6590,"gpt4all","nomic-ai\u002Fgpt4all","GPT4All 是一款让普通电脑也能轻松运行大型语言模型（LLM）的开源工具。它的核心目标是打破算力壁垒，让用户无需依赖昂贵的显卡（GPU）或云端 API，即可在普通的笔记本电脑和台式机上私密、离线地部署和使用大模型。\n\n对于担心数据隐私、希望完全掌控本地数据的企业用户、研究人员以及技术爱好者来说，GPT4All 提供了理想的解决方案。它解决了传统大模型必须联网调用或需要高端硬件才能运行的痛点，让日常设备也能成为强大的 AI 助手。无论是希望构建本地知识库的开发者，还是单纯想体验私有化 AI 聊天的普通用户，都能从中受益。\n\n技术上，GPT4All 基于高效的 `llama.cpp` 后端，支持多种主流模型架构（包括最新的 DeepSeek R1 蒸馏模型），并采用 GGUF 格式优化推理速度。它不仅提供界面友好的桌面客户端，支持 Windows、macOS 和 Linux 等多平台一键安装，还为开发者提供了便捷的 Python 库，可轻松集成到 LangChain 等生态中。通过简单的下载和配置，用户即可立即开始探索本地大模型的无限可能。",77307,"2026-04-11T06:52:37",[15,13],{"id":66,"github_repo":67,"name":68,"description_en":69,"description_zh":70,"ai_summary_zh":70,"readme_en":71,"readme_zh":72,"quickstart_zh":73,"use_case_zh":74,"hero_image_url":75,"owner_login":76,"owner_name":77,"owner_avatar_url":78,"owner_bio":79,"owner_company":80,"owner_location":81,"owner_email":80,"owner_twitter":80,"owner_website":82,"owner_url":83,"languages":84,"stars":101,"forks":102,"last_commit_at":103,"license":104,"difficulty_score":10,"env_os":105,"env_gpu":106,"env_ram":107,"env_deps":108,"category_tags":116,"github_topics":117,"view_count":10,"oss_zip_url":80,"oss_zip_packed_at":80,"status":16,"created_at":124,"updated_at":125,"faqs":126,"releases":159},7803,"shubham0204\u002FSmolChat-Android","SmolChat-Android","Running any GGUF SLMs\u002FLLMs locally, on-device in Android","SmolChat-Android 是一款专为安卓设备打造的本地大语言模型聊天应用，让用户无需联网即可在手机端直接运行各类 GGUF 格式的小型语言模型（SLM）。它有效解决了用户对数据隐私的担忧以及网络依赖问题，让 AI 对话完全在设备本地完成，既安全又高效。\n\n这款工具非常适合希望体验本地 AI 的普通用户，同时也为开发者提供了简洁易懂、易于扩展的代码库，便于进行二次开发或学习移动端模型部署。其核心亮点在于基于高性能的 llama.cpp 引擎，通过 C++ 与 Kotlin 的 JNI 绑定技术，实现了在移动芯片上流畅推理 GGUF 模型。用户不仅可以自由导入或删除模型文件，还能灵活调整系统提示词及温度等推理参数，甚至快速创建特定任务场景。无论是想保护隐私的日常使用者，还是研究端侧智能的技术人员，SmolChat-Android 都提供了一个轻量且强大的解决方案。","\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_958d1130bad4.png\" alt=\"app icon\" width=\"256\"\u002F>\n\n# SmolChat - On-Device Inference of SLMs in Android\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_f43bafd92dc3.png\" alt=\"app_img_01\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_4487b779e4f3.png\" alt=\"app_img_02\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_cd51410fb613.png\" alt=\"app_img_03\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_15f1a1175318.png\" alt=\"app_img_04\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_e949b53a8a95.png\" alt=\"app_img_05\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_c673924c6208.png\" alt=\"app_img_06\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Installation\n\n### Google Play\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fpioug\u002Fgoogle-play-badges\u002F06ccd9252af1501613da2ca28eaffe31307a4e6d\u002Fsvg\u002FEnglish.svg)\n\n**[Get it on Google Play](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=io.shubham0204.smollmandroid)**\n\n### GitHub\n\n1. Download the latest APK from [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Freleases\u002F) and transfer it to your Android device.\n2. If your device does not downloading APKs from untrusted sources, search for **how to allow downloading APKs from unknown sources** for your device.\n\n### Obtainium\n\n[Obtainium](https:\u002F\u002Fobtainium.imranr.dev\u002F) allows users to update\u002Fdownload apps directly from their sources, like GitHub or FDroid. \n\n1. [Download the Obtainium app](https:\u002F\u002Fobtainium.imranr.dev\u002F) by choosing your device architecture or 'Download Universal APK'.\n2. From the bottom menu, select '➕Add App'\n3. In the text field labelled 'App source URL *', enter the following URL and click 'Add' besides the text field: `https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android`\n4. SmolChat should now be visible in the 'Apps' screen. You can get notifications about newer releases and download them directly without going to the GitHub repo.\n\n## Project Goals\n\n- Provide a usable user interface to interact with local SLMs (small language models) locally, on-device\n- Allow users to add\u002Fremove SLMs (GGUF models) and modify their system prompts or inference parameters (temperature, \n  min-p)\n- Allow users to create specific-downstream tasks quickly and use SLMs to generate responses\n- Simple, easy to understand, extensible codebase\n\n## Setup\n\n1. Clone the repository with its submodule originating from llama.cpp,\n\n```commandline\ngit clone --depth=1 https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\ncd SmolChat-Android\ngit submodule update --init --recursive\n```\n\n2. Android Studio starts building the project automatically. If not, select **Build > Rebuild Project** to start a project build.\n\n3. After a successful project build, [connect an Android device](https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Frun\u002Fdevice) to your system. Once connected, the name of the device must be visible in top menu-bar in Android Studio.\n\n## Working\n\n1. The application uses llama.cpp to load and execute GGUF models. As llama.cpp is written in pure C\u002FC++, it is easy \n   to compile on Android-based targets using the [NDK](https:\u002F\u002Fdeveloper.android.com\u002Fndk). \n\n2. The `smollm` module uses a `llm_inference.cpp` class which interacts with llama.cpp's C-style API to execute the \n   GGUF model and a JNI binding `smollm.cpp`. Check the [C++ source files here](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Ftree\u002Fmain\u002Fsmollm\u002Fsrc\u002Fmain\u002Fcpp). On the Kotlin side, the [`SmolLM`](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fblob\u002Fmain\u002Fsmollm\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Fshubham0204\u002Fsmollm\u002FSmolLM.kt) class provides \n   the required methods to interact with the JNI (C++ side) bindings.\n\n3. The `app` module contains the application logic and UI code. Whenever a new chat is opened, the app instantiates \n   the `SmolLM` class and provides it the model file-path which is stored by the [`LLMModel`](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fblob\u002Fmain\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Fshubham0204\u002Fsmollmandroid\u002Fdata\u002FDataModels.kt) entity.\n   Next, the app adds messages with role `user` and `system` to the chat by retrieving them from the database and\n   using `LLMInference::addChatMessage`.\n\n4. For tasks, the messages are not persisted, and we inform to `LLMInference` by passing `_storeChats=false` to\n   `LLMInference::loadModel`.\n\n## Technologies\n\n* [ggerganov\u002Fllama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) is a pure C\u002FC++ framework to execute machine learning \n  models on multiple execution backends. It provides a primitive C-style API to interact with LLMs \n  converted to the [GGUF format](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md) native to [ggml](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fggml)\u002Fllama.cpp. The app uses JNI bindings to interact with a small class `smollm.\n  cpp` which uses llama.cpp to load and execute GGUF models.\n\n* [noties\u002FMarkwon](https:\u002F\u002Fgithub.com\u002Fnoties\u002FMarkwon) is a markdown rendering library for Android. The app uses \n  Markwon and [Prism4j](https:\u002F\u002Fgithub.com\u002Fnoties\u002FPrism4j) (for code syntax highlighting) to render Markdown responses \n  from the SLMs.\n\n## More On-Device ML Projects\n\n- [shubham0204\u002FAndroid-Doc-QA](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FAndroid-Document-QA): On-device RAG-based question \n  answering from documents\n- [shubham0204\u002FOnDevice-Face-Recognition-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FOnDevice-Face-Recognition-Android): \n  Realtime face recognition with FaceNet, Mediapipe and ObjectBox's vector database\n- [shubham0204\u002FFaceRecognition_With_FaceNet_Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FOnDevice-Face-Recognition-Android):\n  Realtime face recognition with FaceNet, MLKit\n- [shubham0204\u002FCLIP-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FCLIP-Android): On-device CLIP inference in Android \n  (search images with textual queries)\n- [shubham0204\u002FSegment-Anything-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSegment-Anything-Android): Execute Meta's \n  SAM model in Android with onnxruntime\n- [shubham0204\u002FDepth-Anything-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FDepth-Anything-Android): Execute the \n  Depth-Anything model in Android with onnxruntime for monocular depth estimation\n- [shubham0204\u002FSentence-Embeddings-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSentence-Embeddings-Android): Generate \n  sentence-embeddings (from models like `all-MiniLM-L6-V2`) in Android\n\n## Future\n\nThe following features\u002Ftasks are planned for the future releases of the app:\n\n- Assign names to chats automatically (just like ChatGPT and Claude)\n- Add a search bar to the navigation drawer to search for messages within chats\n- Add a background service which uses BlueTooth\u002FHTTP\u002FWiFi to communicate with a desktop application to send queries \n  from the desktop to the mobile device for inference\n- Enable auto-scroll when generating partial response in `ChatActivity`\n- Measure RAM consumption\n- Integrate [Android-Doc-QA](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FAndroid-Document-QA) for on-device RAG-based question answering from documents\n- Check if llama.cpp can be compiled to use Vulkan for inference on Android devices (and use the mobile GPU)","\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_958d1130bad4.png\" alt=\"app icon\" width=\"256\"\u002F>\n\n# SmolChat - 在 Android 设备上进行 SLM 的本地推理\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_f43bafd92dc3.png\" alt=\"app_img_01\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_4487b779e4f3.png\" alt=\"app_img_02\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_cd51410fb613.png\" alt=\"app_img_03\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_15f1a1175318.png\" alt=\"app_img_04\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_e949b53a8a95.png\" alt=\"app_img_05\">\n\u003C\u002Ftd>\n\u003Ctd>\n\u003Cimg src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_readme_c673924c6208.png\" alt=\"app_img_06\">\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## 安装\n\n### Google Play\n\n![](https:\u002F\u002Fraw.githubusercontent.com\u002Fpioug\u002Fgoogle-play-badges\u002F06ccd9252af1501613da2ca28eaffe31307a4e6d\u002Fsvg\u002FEnglish.svg)\n\n**[在 Google Play 获取](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=io.shubham0204.smollmandroid)**\n\n### GitHub\n\n1. 从 [GitHub Releases](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Freleases\u002F) 下载最新的 APK，并将其传输到您的 Android 设备。\n2. 如果您的设备不允许从未知来源下载 APK，请搜索适用于您设备的“如何允许从未知来源下载 APK”。\n\n### Obtainium\n\n[Obtainium](https:\u002F\u002Fobtainium.imranr.dev\u002F) 允许用户直接从其源（如 GitHub 或 FDroid）更新或下载应用程序。\n\n1. [下载 Obtainium 应用程序](https:\u002F\u002Fobtainium.imranr.dev\u002F)，选择您的设备架构或“下载通用 APK”。\n2. 从底部菜单中，选择“➕添加应用”。\n3. 在标有“应用源 URL *”的文本框中，输入以下 URL 并点击文本框旁边的“添加”：`https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android`\n4. 现在，SmolChat 应该会显示在“应用”屏幕上。您可以接收有关新版本的通知，并直接下载它们，而无需访问 GitHub 仓库。\n\n## 项目目标\n\n- 提供一个可用的用户界面，以便在本地设备上与小型语言模型 (SLM) 进行交互。\n- 允许用户添加或删除 SLM（GGUF 模型），并修改其系统提示或推理参数（温度、min-p）。\n- 允许用户快速创建特定下游任务，并使用 SLM 生成响应。\n- 代码库简单易懂且易于扩展。\n\n## 设置\n\n1. 克隆包含来自 llama.cpp 子模块的仓库：\n\n```commandline\ngit clone --depth=1 https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\ncd SmolChat-Android\ngit submodule update --init --recursive\n```\n\n2. Android Studio 会自动开始构建项目。如果没有，请选择 **Build > Rebuild Project** 来启动项目构建。\n\n3. 项目成功构建后，[连接 Android 设备](https:\u002F\u002Fdeveloper.android.com\u002Fstudio\u002Frun\u002Fdevice) 到您的系统。连接成功后，设备名称应显示在 Android Studio 的顶部菜单栏中。\n\n## 工作原理\n\n1. 该应用程序使用 llama.cpp 加载和执行 GGUF 模型。由于 llama.cpp 是用纯 C\u002FC++ 编写的，因此可以使用 [NDK](https:\u002F\u002Fdeveloper.android.com\u002Fndk) 轻松编译到基于 Android 的目标平台上。\n\n2. `smollm` 模块使用一个 `llm_inference.cpp` 类，该类通过 llama.cpp 的 C 风格 API 执行 GGUF 模型，并通过 JNI 绑定 `smollm.cpp` 实现。请查看 [此处的 C++ 源文件](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Ftree\u002Fmain\u002Fsmollm\u002Fsrc\u002Fmain\u002Fcpp)。在 Kotlin 方面，[`SmolLM`](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fblob\u002Fmain\u002Fsmollm\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Fshubham0204\u002Fsmollm\u002FSmolLM.kt) 类提供了与 JNI（C++ 方面）绑定交互所需的方法。\n\n3. `app` 模块包含应用程序逻辑和 UI 代码。每当打开一个新的聊天时，应用程序会实例化 `SmolLM` 类，并为其提供由 [`LLMModel`](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fblob\u002Fmain\u002Fapp\u002Fsrc\u002Fmain\u002Fjava\u002Fio\u002Fshubham0204\u002Fsmollmandroid\u002Fdata\u002FDataModels.kt) 实体存储的模型文件路径。接下来，应用程序会从数据库中检索消息，并使用 `LLMInference::addChatMessage` 将角色为 `user` 和 `system` 的消息添加到聊天中。\n\n4. 对于任务，消息不会被持久化，我们通过将 `_storeChats=false` 传递给 `LLMInference::loadModel` 来通知 `LLMInference`。\n\n## 技术\n\n* [ggerganov\u002Fllama.cpp](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fllama.cpp) 是一个纯 C\u002FC++ 框架，用于在多个执行后端上运行机器学习模型。它提供了一个原始的 C 风格 API，用于与转换为 [GGUF 格式](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fggml\u002Fblob\u002Fmaster\u002Fdocs\u002Fgguf.md) 的 LLM 交互，该格式是 [ggml](https:\u002F\u002Fgithub.com\u002Fggerganov\u002Fggml)\u002Fllama.cpp 的原生格式。该应用程序使用 JNI 绑定与一个小类 `smollm.cpp` 交互，该类使用 llama.cpp 加载和执行 GGUF 模型。\n\n* [noties\u002FMarkwon](https:\u002F\u002Fgithub.com\u002Fnoties\u002FMarkwon) 是一个用于 Android 的 Markdown 渲染库。该应用程序使用 Markwon 和 [Prism4j](https:\u002F\u002Fgithub.com\u002Fnoties\u002FPrism4j)（用于代码语法高亮）来渲染来自 SLM 的 Markdown 响应。\n\n## 更多设备端机器学习项目\n\n- [shubham0204\u002FAndroid-Doc-QA](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FAndroid-Document-QA)：基于 RAG 的文档问答，在设备端进行。\n- [shubham0204\u002FOnDevice-Face-Recognition-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FOnDevice-Face-Recognition-Android)：使用 FaceNet、Mediapipe 和 ObjectBox 向量数据库进行实时人脸识别。\n- [shubham0204\u002FFaceRecognition_With_FaceNet_Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FOnDevice-Face-Recognition-Android)：使用 FaceNet 和 MLKit 进行实时人脸识别。\n- [shubham0204\u002FCLIP-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FCLIP-Android)：在 Android 设备上进行 CLIP 推理（通过文本查询搜索图像）。\n- [shubham0204\u002FSegment-Anything-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSegment-Anything-Android)：在 Android 上使用 onnxruntime 执行 Meta 的 SAM 模型。\n- [shubham0204\u002FDepth-Anything-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FDepth-Anything-Android)：在 Android 上使用 onnxruntime 执行 Depth-Anything 模型，用于单目深度估计。\n- [shubham0204\u002FSentence-Embeddings-Android](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSentence-Embeddings-Android)：在 Android 上生成句子嵌入（例如使用 `all-MiniLM-L6-V2` 模型）。\n\n## 未来计划\n\n以下功能和任务计划在未来的应用程序版本中实现：\n\n- 自动为聊天命名（就像 ChatGPT 和 Claude 一样）。\n- 在导航抽屉中添加搜索栏，以搜索聊天中的消息。\n- 添加后台服务，使用蓝牙\u002FHTTP\u002FWiFi 与桌面应用程序通信，将桌面端的查询发送到移动设备进行推理。\n- 在 `ChatActivity` 中生成部分响应时启用自动滚动。\n- 测量 RAM 使用情况。\n- 集成 [Android-Doc-QA](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FAndroid-Document-QA)，以实现基于 RAG 的文档问答。\n- 检查是否可以编译 llama.cpp，使其在 Android 设备上使用 Vulkan 进行推理（并利用移动 GPU）。","# SmolChat-Android 快速上手指南\n\nSmolChat-Android 是一款专为 Android 设备设计的本地小语言模型（SLM）推理应用。它基于 `llama.cpp`，支持在手机上离线运行 GGUF 格式的模型，提供聊天交互、参数调整及特定任务生成等功能。\n\n## 环境准备\n\n*   **操作系统**：Windows, macOS 或 Linux\n*   **开发工具**：Android Studio (最新稳定版)\n*   **核心依赖**：\n    *   Android NDK (用于编译 C\u002FC++ 代码)\n    *   Git (需支持 submodule 初始化)\n*   **测试设备**：一台已开启“开发者选项”和\"USB 调试”的 Android 手机（建议内存 8GB 以上以获得更好的模型运行体验）\n\n## 安装步骤\n\n### 方式一：直接安装 APK（普通用户推荐）\n\n1.  **Google Play**: 访问 [Google Play 商店页面](https:\u002F\u002Fplay.google.com\u002Fstore\u002Fapps\u002Fdetails?id=io.shubham0204.smollmandroid) 直接安装。\n2.  **GitHub Releases**:\n    *   访问 [Releases 页面](https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Freleases\u002F) 下载最新版本的 `.apk` 文件。\n    *   将文件传输至手机，若系统拦截，请在设置中允许“安装未知来源应用”。\n3.  **Obtainium (自动更新)**:\n    *   安装 [Obtainium](https:\u002F\u002Fobtainium.imranr.dev\u002F)。\n    *   点击 `➕Add App`，输入源地址：`https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android` 并添加。\n\n### 方式二：源码编译（开发者推荐）\n\n1.  **克隆仓库**（包含 `llama.cpp` 子模块）：\n    ```commandline\n    git clone --depth=1 https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\n    cd SmolChat-Android\n    git submodule update --init --recursive\n    ```\n    > **提示**：国内开发者若遇到克隆速度慢的问题，可配置 Git 加速代理或使用 Gitee 镜像（如有）。\n\n2.  **构建项目**：\n    *   使用 Android Studio 打开项目目录。\n    *   IDE 通常会自动开始构建。若未启动，请点击菜单栏 **Build > Rebuild Project**。\n    *   确保 NDK 已正确安装并在 `local.properties` 中配置。\n\n3.  **运行调试**：\n    *   通过 USB 连接 Android 设备。\n    *   确认设备名称出现在 Android Studio 顶部工具栏。\n    *   点击 **Run** 按钮将应用部署到设备。\n\n## 基本使用\n\n1.  **准备模型**：\n    *   下载任意兼容的 **GGUF** 格式小语言模型文件（例如来自 HuggingFace 的 `SmolLM` 系列或其他量化模型）。\n    *   将 `.gguf` 文件存入手机存储。\n\n2.  **加载模型**：\n    *   打开 SmolChat 应用。\n    *   在模型管理界面选择“添加模型”，浏览并选中刚才存入的 `.gguf` 文件。\n    *   可选：调整系统提示词（System Prompt）、温度（Temperature）或 `min-p` 等推理参数。\n\n3.  **开始对话**：\n    *   创建新聊天会话，应用会自动实例化 `SmolLM` 引擎并加载模型。\n    *   输入问题，模型将在本地即时生成回复（支持 Markdown 渲染及代码高亮）。\n    *   对于临时任务，可选择“不保存聊天记录”模式进行快速推理。\n\n> **注意**：首次加载大模型可能需要数秒至数十秒，具体取决于手机性能和模型大小。推理过程完全在本地进行，无需联网。","一位经常出差的野外数据分析师，需要在无网络信号的山区利用手机快速整理和初步分析采集到的文本日志。\n\n### 没有 SmolChat-Android 时\n- **完全依赖云端**：一旦进入信号盲区，无法使用任何基于云端的 AI 服务，工作被迫中断。\n- **隐私泄露风险**：若通过热点连接处理敏感的客户现场记录，数据需上传至第三方服务器，存在合规隐患。\n- **响应延迟严重**：在网络边缘地带，即使勉强联网，高昂的网络延迟也让多轮对话变得极其卡顿，效率低下。\n- **环境适配困难**：缺乏能在普通 Android 手机上直接运行量化大模型（GGUF 格式）的轻量级应用，只能携带笨重的笔记本电脑。\n\n### 使用 SmolChat-Android 后\n- **纯离线运行**：直接在手机端加载 GGUF 格式的轻量级大模型（SLM），在无网环境下也能流畅进行文本摘要和分类。\n- **数据本地闭环**：所有推理过程均在设备本地完成，敏感的业务数据无需离开手机，彻底杜绝隐私外泄。\n- **即时交互体验**：利用 NDK 加速的 llama.cpp 引擎，即便在低端安卓设备上也能实现低延迟的实时对话反馈。\n- **灵活模型管理**：支持随时导入或切换不同参数的模型文件，并自定义系统提示词，快速适配“日志清洗”或“故障预判”等特定任务。\n\nSmolChat-Android 将强大的大语言模型推理能力从云端下沉至每一台安卓设备，让智能助手真正实现了随时随地、安全可控的贴身服务。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Fshubham0204_SmolChat-Android_958d1130.png","shubham0204","Shubham Panchal","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Fshubham0204_31cd76df.jpg","Building On-Device ML for Android, ML\u002FCS enthusiast",null,"Pune, Maharashtra, India","https:\u002F\u002Fshubham0204.github.io","https:\u002F\u002Fgithub.com\u002Fshubham0204",[85,89,93,97],{"name":86,"color":87,"percentage":88},"Kotlin","#A97BFF",75,{"name":90,"color":91,"percentage":92},"Java","#b07219",19.1,{"name":94,"color":95,"percentage":96},"C++","#f34b7d",4.7,{"name":98,"color":99,"percentage":100},"CMake","#DA3434",1.3,774,132,"2026-04-14T10:58:28","Apache-2.0","Android","非必需。主要依赖 CPU (通过 NDK 编译的 llama.cpp)。未来计划支持 Vulkan 以利用移动设备 GPU，目前未强制要求特定显卡或 CUDA 版本。","未说明（取决于所加载的 SLM\u002FGGUF 模型大小及 Android 设备性能）",{"notes":109,"python":110,"dependencies":111},"这是一个原生 Android 应用，无需 Python 环境。开发需安装 Android Studio 和 NDK。运行时需在设备上手动下载并加载 GGUF 格式的小型语言模型文件。支持通过 Google Play、GitHub APK 或 Obtainium 安装。","不需要",[112,113,114,115],"llama.cpp (C\u002FC++)","Android NDK","Markwon","Prism4j",[15],[118,119,120,121,122,123],"android","cpp","ggml","kotlin","llamacpp","small-language-models","2026-03-27T02:49:30.150509","2026-04-16T03:30:05.476669",[127,132,137,141,146,150,154],{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},34943,"如何在 GrapheneOS 上解决应用生成乱码或随机内容的问题？","GrapheneOS 的内存限制可能导致此问题。请进入系统设置：设置 > 应用 > 选择 SmolChat > 启用“漏洞利用保护兼容模式”（Exploit protection compatibility mode）。这将切换内存分配器并调整地址空间大小，从而使应用正常运行。","https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fissues\u002F6",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},34944,"如何减少模型运行时的电池消耗或控制 CPU 使用量？","可以在聊天设置中调整 `llama.cpp` 执行模型时使用的线程数。减少线程数（例如从 8 核减至 2 核）可以显著降低电池消耗和发热，虽然速度可能略有下降，但在许多模型上差异不明显。该功能已在 v0.0.5 版本中添加。","https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fissues\u002F50",{"id":138,"question_zh":139,"answer_zh":140,"source_url":136},34945,"退出聊天或按下返回键后，模型是否仍在后台运行导致发热？","早期版本存在退出后模型未卸载的问题。该问题已在 #52 中修复。现在当用户退出聊天或应用时，模型会自动卸载，不再在后台占用资源。如果仍遇到此问题，请确保升级到最新版本。",{"id":142,"question_zh":143,"answer_zh":144,"source_url":145},34946,"如何为老旧的 32 位 ARM 设备（armeabi-v7a）编译或优化以提升速度？","项目已支持 armv7a CPU 扩展。构建时可使用特定的 CMake 标志来优化性能，例如：\n-DGGML_OPENMP=OFF \n-DGGML_LLAMAFILE=OFF \n-CMAKE_C_FLAGS=\"-march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=softfp\"\n详细文档请参阅项目中的 build_arm_flags.md。","https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fissues\u002F28",{"id":147,"question_zh":148,"answer_zh":149,"source_url":145},34947,"哪些 GGUF 量化格式不被支持，可能导致崩溃？","以下旧的量化格式不再被支持，使用时可能导致崩溃：MOSTLY_Q4_2, MOSTLY_Q4_3, MOSTLY_Q4_0_4_4, MOSTLY_Q4_0_4_8, MOSTLY_Q4_0_8_8。建议使用标准的 Q4_K_M, Q8_0 等现代量化格式。",{"id":151,"question_zh":152,"answer_zh":153,"source_url":145},34948,"如何自定义模型的上下文长度（Context Size）以平衡速度和回答质量？","从 v5 版本开始，应用中已提供更改推理时模型上下文长度的设置选项。减小上下文长度可以提高生成速度，但可能会影响处理复杂问题的能力。您可以在设置中找到该选项进行调整。",{"id":155,"question_zh":156,"answer_zh":157,"source_url":158},34949,"如何在 NixOS 上配置 Android SDK 以构建该项目？","可以使用 Nix Flakes 创建定制的 Android 环境。示例 `flake.nix` 配置如下：\ninputs = { nixpkgs.url = \"github:NixOS\u002Fnixpkgs\u002Fnixos-unstable\"; };\noutputs = { self, nixpkgs }: let pkgs = import nixpkgs { ... }; in {\n  androidEnv = pkgs.androidenv.composeAndroidPackages {\n    buildToolsVersions = [ \"35.0.0\" ];\n    platformVersions = [ \"35\" \"36\" ];\n    ndkVersions = [ \"27.2.12479018\" ];\n    includeNDK = true;\n  };\n};\n确保在配置中允许非自由软件（allowUnfree = true）并接受 Android SDK 许可证。","https:\u002F\u002Fgithub.com\u002Fshubham0204\u002FSmolChat-Android\u002Fissues\u002F128",[160,165,170,175,180,185,190,195,200,205,210,215,220,225,230],{"id":161,"version":162,"summary_zh":163,"released_at":164},272270,"v14","- 该应用现已支持自动语音识别（语音转文本），以便向模型提供查询。\n  语音转文本功能由 [Moonshine](https:\u002F\u002Fgithub.com\u002Fmoonshine-ai\u002Fmoonshine) 提供，其打包好的模型可在 [HuggingFace](https:\u002F\u002Fhuggingface.co\u002Fshubhxm0204\u002Fmoonshine-asr-models\u002Ftree\u002Fmain) 上找到。\n  - 语音将在设备端由 Moonshine 提供的 ASR 模型转换为文本。用户仅在从上述 HuggingFace 模型仓库下载 ASR 模型时才需要网络连接。\n  - 目前支持的语言包括英语（`en`）和中文（`zh`）。尽管 Moonshine 目前支持更多语言，SmolChat 未来会逐步增加对这些语言的支持。\n\n- 优化了从 HuggingFace 下载模型时的用户界面。得益于 Android Studio 中的 Gemini 工具，HuggingFace 模型浏览器界面得到了改进和现代化。\n\n- 修复了一个在修改模型设置后导致应用崩溃的 bug（#114）。感谢 @jkkj 的贡献。","2026-03-01T09:35:13",{"id":166,"version":167,"summary_zh":168,"released_at":169},272271,"v13","- 该应用允许对聊天中使用的模型进行基准测试。在任意聊天中前往 `设置 > 基准测试模型`，然后点击“开始基准测试”。基准测试结果包括 `pp`（提示词处理的每秒令牌数）和 `tg`（令牌生成的每秒令牌数）。","2026-02-08T06:28:56",{"id":171,"version":172,"summary_zh":173,"released_at":174},272272,"v12","- 增加对葡萄牙语的支持（在已有的英语和简体中文支持基础上）。\n- 清除聊天时，即删除当前聊天中的所有消息时，同时清空模型上下文\u002F记忆。\n- 屏幕旋转时避免重新加载模型。\n\n### UI 优化\n\n- 此前，用户必须点击文件夹名称才能展开它。现在，点击箭头图标也可以展开文件夹。\n- 在聊天列表中，任务名称后会附加“[Task]”字样，以将其与其他聊天区分开来。","2026-01-01T08:07:57",{"id":176,"version":177,"summary_zh":178,"released_at":179},272273,"v11","- 修复了一个 bug：切换模型后，应用的内存占用会持续增加，即选择新模型时，之前模型所占用的内存未能正确释放。\n- 与上游 llama.cpp 仓库同步。\n- 将默认推理参数调整为与 `llama` 可执行文件中一致。\n\n### UI 改进\n\n- 长按聊天消息后会弹出对话框，提供分享、复制、编辑等操作选项。\n- 修复了图标显示不清晰或溢出的问题，以提升用户体验。\n- 在浏览 Hugging Face 时打开模型时，保留搜索框中的查询文本。","2025-09-19T14:31:51",{"id":181,"version":182,"summary_zh":183,"released_at":184},272274,"v10","- 与 llama.cpp 主分支同步\n- 应用程序现在使用一套新的图标，外观更加美观、清新\n- 修复了一个 bug：在切换模型后，应用程序的内存占用会持续增加，即切换到新模型时，之前模型所占用的内存未能正确释放。","2025-08-03T02:52:44",{"id":186,"version":187,"summary_zh":188,"released_at":189},272275,"v9","- 修复 `ChatActivity` 中的 bug，该 bug 在应用启动时会导致 `NullPointerException`（据 Google Play 统计，这是导致大多数崩溃的原因）\n- 使“下载模型”界面可滚动，以确保在小屏幕设备上正常显示\n- 添加对 16 KB 页面大小的支持\n- 改进 `SmolLM` API，并为其方法添加文档","2025-06-15T02:02:07",{"id":191,"version":192,"summary_zh":193,"released_at":194},272276,"v8","- 允许将聊天分组到文件夹中\n- 增加在聊天界面显示设备内存使用情况的选项\n- 该应用现在可以在模拟的 Android 设备上运行\n- 与上游 llama.cpp 进行同步\n\n### UI\u002FUX 变更\n\n- 改进了添加新模型的向导（便于初学者和非技术人员操作）\n- 改进了聊天界面顶部的应用栏\n- 改进了聊天列表抽屉，新增“标记”以指示当前选中的聊天\n- 新的应用图标\n- 应用采用了新的配色方案，并更换了字体为 San Francisco。","2025-05-18T14:31:48",{"id":196,"version":197,"summary_zh":198,"released_at":199},272277,"v7-fdroid","- 为 `armv7` 架构（32 位 Android 设备）添加 CPU 指令集扩展，以降低推理延迟\n- 为用户发布的消息添加“复制”和“分享”操作 (#68)\n- 与上游 llama.cpp 代码库同步\n\n### 小幅 UI 调整\n\n- 在 Hugging Face 模型浏览器中，以 GB 为单位显示模型大小，保留两位小数\n- 检查所选文件是否为 GGUF 格式\n- 在删除模型的对话框中显示模型名称\n- 修复模型思考响应的渲染问题","2025-05-03T15:01:57",{"id":201,"version":202,"summary_zh":203,"released_at":204},272278,"v7","- 为 `armv7` 架构（32 位 Android 设备）添加 CPU 指令集扩展，以降低推理延迟\n- 允许编辑聊天中的最后一条“用户”消息\n- 为用户发送的消息添加“复制”和“分享”操作 (#68)\n- 与上游 llama.cpp 代码库同步\n\n### 小幅界面改动\n\n- 在 Hugging Face 模型浏览器中，以 GB 为单位显示模型大小，保留两位小数\n- 检查所选文件是否为 GGUF 格式\n- 在删除模型的对话框中显示模型名称\n- 修复模型思考响应的渲染问题","2025-05-03T13:20:07",{"id":206,"version":207,"summary_zh":208,"released_at":209},272279,"v6","- 该应用现在可以从其他应用接收查询文本（在其他应用中点击“分享”时，SmolChat 会作为选项之一出现）。\n- 该应用可以为特定任务创建动态快捷方式。这些快捷方式还可以添加到主屏幕，以便快速访问。（#2）\n- 已从 ObjectBox 迁移到 Room（尤其针对 #58）。\n- 该应用现在拥有自定义图标（如果您觉得还有改进空间，请告诉我）。\n- CI 曾出现一个问题，导致构建过程未能从原生库中移除符号，从而增大了 APK 的体积。此问题现已修复，因此 APK 的大小已减小。","2025-04-07T02:44:31",{"id":211,"version":212,"summary_zh":213,"released_at":214},272280,"v5","- Add translations for zh-CN (Chinese Simplified) (#47)\n- Add dark-theme to the app (#25)\n- Off-load model when the app is not visible on the screen (#52)\n- Add more options for configuring chat - `use_mmap`, `use_mlock`, `chat_template` and `n_threads` (#38)","2025-03-17T07:56:14",{"id":216,"version":217,"summary_zh":218,"released_at":219},272281,"v0.0.4","- The 'Download Models' screen now includes an interface to browse HuggingFace models and download them from the app\n  directly (#17)\n- Improved error handling for errors occurring in the native code (#31)\n- The 'Chat Settings' screen now includes a field to configure the model's context size (#34)\n- Sync with upstream llama.cpp (particularly for DeepSeek support)","2025-01-31T17:01:32",{"id":221,"version":222,"summary_zh":223,"released_at":224},272282,"v0.0.3","- This version comes with performance improvements for arm64 devices by compiling llama.cpp with Arm64-specific CPU \n  flags. (#18)\n- The chat messages can now highlight links\u002FURLs and make them clickable.\n- The height of the list in the select model dialog is fixed to avoid overlapping with the `Add Model` button. (#12)\n- The dialog to select models includes a button to sort models by name or date added.\n- The time taken (in seconds) to generate the response is now displayed below the last response from the LLM. (#7)","2024-12-31T09:10:46",{"id":226,"version":227,"summary_zh":228,"released_at":229},272283,"v0.0.2","- Clear previous chat messages when `LLMInference::load_model` is called\n- Allow rendering non-ASCII characters on the chat interface generated by the LLMs\u002FSLMs\n- Show token generation speed (in tokens\u002Fsecond) for the latest message in the chat interface (#1)","2024-12-08T08:41:18",{"id":231,"version":232,"summary_zh":233,"released_at":234},272284,"v0.0.1","This release:\n\n- adds a button to stop response generation\n- disables chat options when no chat is selected ","2024-12-02T16:36:30"]