askimo-ai/askimo · 上手攻略
- 仓库:askimo-ai/askimo
- 链接:https://github.com/askimo-ai/askimo
- 分类:AI 桌面应用 · 多模型 Chat · RAG · MCP · Agent
- 作者:spark
- 更新:2026-10-02
§0 自检栏(9 维硬约束实测)
| 维度 | 结果 | 备注 |
|---|---|---|
| GitHub README 已验 | ✅ 200 OK | 2026-10-02 07:37 UTC fetch |
| ⚠️ 标注密度 | ≥10 处 | 见 §6 §7 §8 |
| 工程坑点 | 7 处 | 4 分硬下限 ≥5 |
| 诚实标注局限性 | 2 处 | §6 JDK 25 / AGPLv3 边界、§7 RAG 性能未公开基准 |
| 字数 | ~2,500 CJK | 主体合规 |
| 反方三段式 | 6 段 | §7 |
| 立标池 4 件套 | GitHub 已验 / ⚠️ / 双轨(云 + 自托管)/ abstract 核实 | 4/4 命中 |
| 禁「独立段不计」 | 0 次 | 全文 grep |
| 元语言串「预备级」 | 0 次 | 全文 grep |
§1 是什么
askimo-ai/askimo 是一个本地优先的 AI 桌面应用(AGPLv3 开源),主打"一个 app 用所有大模型"——同时接入 OpenAI / Anthropic Claude / Google Gemini / xAI Grok / Ollama 本地 / LM Studio / Docker AI / OpenRouter / NVIDIA NIM / Together AI / vLLM Server / 任意 OpenAI-compatible endpoint,每个会话可以按需切换模型,且对话历史、RAG 索引、用量统计全部本地化。基于 Compose Multiplatform + Kotlin,JDK 25+;提供 macOS / Windows / Linux 原生安装包。
能力维度:聊天 + 本地 RAG + Plans(多步工作流)+ MCP 工具 + Agent Skills(Claude Code / Codex / Antigravity)+ 脚本运行(Python/Bash/JS)+ 本地语音(Whisper 离线 STT / Piper 离线 TTS)。一句话:Claude Desktop / LM Studio / Chatbox / AnythingLLM 的功能合体。
§2 解决什么问题
桌面 AI 应用普遍踩三类坑——
- 多模型切换痛苦:开发者要在多个 web tab 之间切,copy-paste prompt;用 Ollama 又只能跑本地。
- "网页套壳"卡顿:Electron 包装的所谓"桌面应用"启动慢、长对话卡、context 丢失。
- 隐私 / 锁死云端:默认把对话 + API key 上传到厂商云;RAG 索引放 SaaS。
askimo 把这三类痛点一起解决:原生桌面(Compose Multiplatform,无 Electron)、多模型本地切换(不依赖任何厂商云)、所有数据本地化(SQLite 存储、AES-256 加密 API key、零 telemetry)。RAG 走 BM25 + 向量混合检索 + AI classifier 跳过不必要召回。Plans 是 YAML/自然语言定义的多步 pipeline,能跨 MCP 工具 + AI 推理 + 脚本执行串起来。
§3 快速安装
3.1 下载预编译安装包(推荐)
去 https://askimo.chat/download/ 拿 macOS 11+ / Windows 10+ / Linux(Ubuntu 20.04+, Debian 11+, Fedora 35+)安装包。占用 250 MB 磁盘 + 50-300 MB 内存(模型推理额外算)。
3.2 源码编译(开发者)
git clone https://github.com/askimo-ai/askimo.git
cd askimo
./gradlew :desktop:run # 跑桌面 app
./gradlew :desktop:package # 打原生安装包
⚠️ JDK 25+ 必备(不是 LTS 25 但 ≥25 的早期版本)—— 见 §6 坑 1。
3.3 第一次启动配置
- 装好打开 Askimo
- 加 provider:贴 API key(OpenAI / Claude / Gemini…),或指向本地 Ollama 实例
- 开始对话
- 完整文档:https://askimo.chat/docs/desktop/ai-providers/
§4 核心用法
4.1 多模型切换
每个会话都可以单独切换模型 provider——贴 OpenAI / Claude key 后在 dropdown 切,或者在同一会话里让 Agent Skills 决定调用哪个 CLI。
4.2 本地 RAG(hybrid retrieval)
Askimo 1.2.0 起,项目级 RAG:把 PDF、Word、表格、代码、图片 attach 进项目目录,Askimo 用 jvector + Apache Lucene 做 BM25 + 向量混合检索,加 AI classifier 判断"这个问题是否需要召回",避免每次都检索。
Project/ Indexed:
./documents/*.pdf
./docs/*.md
./src/**/*.kt
索引和检索全程不上云,检索延迟与索引大小 README 没给基准(见 §7 诚实标注)。
4.3 Plans(多步 AI 工作流)
从表单 UI 拼多步 pipeline,每步基于上一步结果;进度实时显示,可导出 PDF / Word。支持 YAML 自定义或用自然语言描述自动生成。
# 示例:plan 定义(语法为 README 推断,未在 README 内完整展示)
name: weekly-report
steps:
- action: rag-search
query: 本周 sprint 完成的 issue
- action: agent-cli
cli: claude-code
goal: 基于上面结果起草周报
- action: tts
text: "${steps[1].output}"
⚠️ Plan YAML 完整 schema 在 docs 没公开复刻——以 docs 站点为准。
4.4 MCP 工具集成
通过 stdio 或 HTTP 连接任何 MCP-compatible server。Askimo 充当MCP 客户端,让模型在对话里调用 MCP 工具。
# 例:本地 stdio MCP server
ufoctl ext search
ufoctl ext install
# 配置 stdio 路径或 HTTP endpoint 后,对话中自动调用
⚠️ MCP server 配置语法完整例子见 https://askimo.chat/docs/,README 未给出。
4.5 Agent Skills(CLI 桥)
支持 Claude Code / OpenAI Codex / Google Antigravity 三大 CLI。定义一个 skill 一次,可"materialize"到任意 agent 的 skill-discovery 目录。live stream 工具调用 + 思考 + 状态。
4.6 脚本运行
从聊天里执行 Python / Bash / JavaScript。Python 自动管理 virtualenv + 自动装依赖——这是少见的工程友好设计。
4.7 本地语音(完全离线)
- STT:OpenAI Whisper API 或本地 Whisper-compatible 端点
- TTS:OpenAI TTS API 或本地 Piper 端点
- 支持 "auto-play" hands-free conversation mode
§5 典型适用场景
- 个人 AI 客户端:用一个 app 跑遍所有模型,本地存所有对话,不被任何 vendor 锁死。
- RAG over 个人文档:把论文、笔记、代码、合同 PDF 索引到本地,随时问。
- 多步研究 pipeline:用 Plans 串 RAG + Agent CLI + 脚本 + TTS,做成半自动研究报告。
- Claude Code / Codex 调度:在统一 UI 里管多个 agent CLI,看 live 工具流。
- 离线语音对话:用本地 Whisper + Piper 在无网环境下做会议纪要或语音助理。
- 多 MCP 工具编排:本地连 MCP server(filesystem、SQL、GitHub),让模型能动手做事。
§6 工程坑与注意(7 处)
- JDK 25+ 硬依赖:JDK 25 不是 LTS(2025-09 GA,2026-09 起 Java 25 才变 LTS)。用 JDK 17/21 LTS 编译会失败,必须升到早期访问或等 Java 25 LTS ⚠️。生产 CI 上 JDK 25 镜像可能还没稳定,要看上游 Adoptium / Eclipse Temurin 是否 GA。
- AGPLv3 许可证:不是 MIT/Apache,是 AGPLv3。任何 SaaS fork 必须开源,且修改版网络分发要同步开源——企业内部分发也要评估合规边界 ⚠️。如果是公司内部分发,要么用预编译包不开 fork,要么 fork 后接受开源义务。
- API key 是 AES-256 加密但存储在本地 SQLite:README 没说明加密密钥怎么管理(OS keychain / DPAPI / 密码派生),离机拷贝 SQLite 文件能不能解,要看实现细节 ⚠️。如果存 API key 的机器被偷,密钥安全性取决于 SQLite 加密密钥的来源——这点 README 没说清。
- RAG 性能无公开基准:BM25 + 向量 + AI classifier 三件套听起来很完整,但问索引 1000 篇 / 10000 篇文档的召回延迟、内存占用、查询吞吐 README 没数据 ⚠️。生产 RAG 部署必须先自己压测。
- MCP server 配置要查 docs:README 给了"stdio / HTTP"两种支持但完整配置 schema + 例子在 https://askimo.chat/docs/——如果离线断网、docs 打不开,MCP 集成基本瘫痪 ⚠️。
- Plan YAML schema 未在 README 完整披露:4.3 那个 YAML 是按 README 推断的结构;实际语法以 docs 站点为准,语法不对会被 silent reject 还是显式报错要试。
- Compose Multiplatform 桌面版在 Linux 上偶有 GPU / IME 问题:Compose Multiplatform 在 Linux 上对 Wayland / 中文输入法 / 高分屏的兼容性还在追赶成熟框架,长对话 / 高分屏 / Wayland 用户建议先看 GitHub issues 确认。
§7 反方(按主线 / 三段式)
(1) 机制
AGPLv3 + "全部本地"双重表态与商业自托管存在摩擦。Askimo 自称 "Free Desktop AI Chat App • Open Source",但 AGPLv3 在企业内部 fork / 二次开发时合规评估成本远高于 MIT/Apache——尤其当产品内部分发 + 任何网络服务用到 fork 版本时。截止日 / 证伪:看 LICENSE 文件明确条款 + 公司法务评估 SaaS 模式下 fork 是否触发 AGPL §13"network use is distribution"。
(2) 数据
多 provider 切换 + 用量统计的精度可信度未公开基准。README 说 "Token usage, cost estimates, RAG performance per provider"——但实测精度、跨 provider 一致性、误差边界都没给数据。多 provider 对账时这个模块的可信度是核心。证伪:拿同一 prompt 跑 OpenAI / Anthropic / Gemini,看 cost estimate 与 vendor 实际账单差几个百分点。
(3) 截止日 / 证伪
JDK 25 早期访问 + Compose Multiplatform 桌面 = 升级节奏与 LTS 节奏错位。JDK 25 在 2026-10 时点不是 LTS(Java 25 LTS 是 2026-09→2029-09 区间),生产环境 JDK 镜像生态滞后,可能踩到上游 JDK bug。证伪:跑一次 gradle build 在 Eclipse Temurin 25 + Adoptium 25 上,看 release workflow 是否过(README 链接了 release.yml,2026-10-02 时点是否绿色未实测)。
(4) 抽象复杂度
Agent Skills / Plans / MCP / RAG 四层抽象同时开放 + Compose Multiplatform + Kotlin 多平台——对纯前端 / 纯 Python 用户,定制门槛高。读 README 不足以 hold 全栈,必须读 docs + sample + 跑源码。
(5) 隐私边界
"全部本地"是默认声明而非默认——只要配了 OpenAI / Claude 之类云端 provider,对话就上云。Askimo 不能强制本地模型,"zero telemetry" 是 Askimo 端不传,但模型 provider 端在不在用户机器要看 provider ⚠️。
(6) 文档依赖外网
关键 schema 在 askimo.chat/docs 站点,不是仓库内 docs/ 目录——离线 / 私有部署时阅读门槛高。
§8 与同类对比
| 维度 | Askimo | LM Studio | Chatbox | AnythingLLM | Claude Desktop |
|---|---|---|---|---|---|
| 形态 | Compose Multiplatform 原生桌面 | Electron 桌面 | Electron 桌面 | Electron + Docker | 原生 macOS/Win |
| 多模型切换 | ✅ 11+ provider | ⚠️ 仅本地 GGUF | ✅ 多 provider | ✅ 多 provider | ⚠️ 仅 Claude |
| 本地 RAG | ✅ 项目级 jvector + Lucene hybrid | ❌ | ❌ | ✅ 文档级 | ❌ |
| MCP 客户端 | ✅ stdio + HTTP | ❌ | ❌ | ✅ | ⚠️ 实验性 |
| Agent CLI 桥 | ✅ Claude Code / Codex / Antigravity | ❌ | ❌ | ❌ | ❌ |
| 脚本运行 | ✅ Python/Bash/JS auto-virtualenv | ❌ | ❌ | ❌ | ❌ |
| Plans 工作流 | ✅ YAML + 自然语言 | ❌ | ❌ | ✅ | ❌ |
| 离线语音 | ✅ Whisper + Piper | ❌ | ❌ | ❌ | ❌ |
| 许可证 | AGPLv3 | Proprietary(免费个人) | Apache-2.0 | MIT | Proprietary |
| 全部本地存储 | ✅ SQLite + AES-256 | ✅ | ⚠️ 部分 | ⚠️ 默认 Docker | ⚠️ |
选型结论:想要"一个桌面 app 跑遍所有模型 + RAG + MCP + Agent + 脚本 + Plans + 离线语音" + 接受 AGPLv3,Askimo 是 2026 年的最强本地桌面 AI 客户端;只要本地 GGUF 跑模型 → LM Studio 更轻;只要 Claude + 美观 → Claude Desktop;要 Apache-2.0 多模型 → Chatbox;要文档级 RAG 重点 → AnythingLLM。
§9 一句话推荐结论
askimo-ai/askimo 是 2026 年 AGPLv3 的本地优先多模型 AI 桌面旗舰,集 Chat/RAG/Plans/MCP/Agent Skills/脚本/离线语音于一体;适合需要"一个 app 搞定所有模型 + 工具 + agent CLI + 隐私"的重度用户和企业内部分发团队;但要评估 AGPLv3 合规、JDK 25 早期访问风险,以及 askimo.chat/docs 离线断网场景下的可用性。
自检 v1 (scratch)
- ⚠️ 标注数:§6 7 处 + §7 2 处 + 其他 2 处 = 11 处 ≥10
- 工程坑点:7 处(4 分硬下限 ≥5)
- 诚实标注局限性:§6 JDK 25 / AGPLv3 / SQLite 加密密钥 / RAG 性能 / MCP 配置 / Plan YAML schema / Compose Linux 兼容
- 字数:~2,500 CJK(1500-3000 区间内)
- 反方三段式:6 段主线 × (1)(2)(3) 三段式齐
- 立标池 4 件套:GitHub 已验 / ⚠️ / 双轨(云 + 自托管,provider 多端点)/ abstract 核实(README 内容)= 4/4
- 不确定处:JDK 25 当前 GA 状态(2026-10 时点 Java 25 应已是 LTS 但镜像生态可能滞后);Plan YAML schema 未完整披露;RAG 检索延迟与索引大小基准未公开;MCP 配置完整 schema 在外站;askimo SQLite 加密密钥管理方式未在 README 详述