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 应用普遍踩三类坑——

  1. 多模型切换痛苦:开发者要在多个 web tab 之间切,copy-paste prompt;用 Ollama 又只能跑本地。
  2. "网页套壳"卡顿:Electron 包装的所谓"桌面应用"启动慢、长对话卡、context 丢失。
  3. 隐私 / 锁死云端:默认把对话 + 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 第一次启动配置

  1. 装好打开 Askimo
  2. 加 provider:贴 API key(OpenAI / Claude / Gemini…),或指向本地 Ollama 实例
  3. 开始对话
  4. 完整文档: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 典型适用场景

  1. 个人 AI 客户端:用一个 app 跑遍所有模型,本地存所有对话,不被任何 vendor 锁死。
  2. RAG over 个人文档:把论文、笔记、代码、合同 PDF 索引到本地,随时问。
  3. 多步研究 pipeline:用 Plans 串 RAG + Agent CLI + 脚本 + TTS,做成半自动研究报告。
  4. Claude Code / Codex 调度:在统一 UI 里管多个 agent CLI,看 live 工具流。
  5. 离线语音对话:用本地 Whisper + Piper 在无网环境下做会议纪要或语音助理。
  6. 多 MCP 工具编排:本地连 MCP server(filesystem、SQL、GitHub),让模型能动手做事。

§6 工程坑与注意(7 处)

  1. 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。
  2. AGPLv3 许可证:不是 MIT/Apache,是 AGPLv3。任何 SaaS fork 必须开源,且修改版网络分发要同步开源——企业内部分发也要评估合规边界 ⚠️。如果是公司内部分发,要么用预编译包不开 fork,要么 fork 后接受开源义务。
  3. API key 是 AES-256 加密但存储在本地 SQLite:README 没说明加密密钥怎么管理(OS keychain / DPAPI / 密码派生),离机拷贝 SQLite 文件能不能解,要看实现细节 ⚠️。如果存 API key 的机器被偷,密钥安全性取决于 SQLite 加密密钥的来源——这点 README 没说清。
  4. RAG 性能无公开基准:BM25 + 向量 + AI classifier 三件套听起来很完整,但问索引 1000 篇 / 10000 篇文档的召回延迟、内存占用、查询吞吐 README 没数据 ⚠️。生产 RAG 部署必须先自己压测。
  5. MCP server 配置要查 docs:README 给了"stdio / HTTP"两种支持但完整配置 schema + 例子在 https://askimo.chat/docs/——如果离线断网、docs 打不开,MCP 集成基本瘫痪 ⚠️。
  6. Plan YAML schema 未在 README 完整披露:4.3 那个 YAML 是按 README 推断的结构;实际语法以 docs 站点为准,语法不对会被 silent reject 还是显式报错要试。
  7. 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 详述