Ankita 桌面 AI 工作台
把对话、真实工具、项目和定时任务装进桌面伴侣与终端,让 AI 在你自己的电脑上干活。
- Star 数
- ★ 11
- 最近更新
- 今天
- License
- MIT
- 主语言
- JavaScript
- FA 评分
- 54/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配ChatGPT · OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 在 Windows 上想要一个能直接改代码、跑命令、看 diff 再批准的本地助手,而不是只会在聊天框里输出的工具。
- 不适合
- 需要 macOS/Linux 正式支持桌面的团队(本版本仅在 Windows 上验证)
- 只需在 IDE 内写代码、不需要桌面工作台与定时任务的开发者
- 源码审查
- 54/100 · 缺口较多
这个 Agent 能做什么,适合哪些场景?
Ankita 是一个面向个人电脑的 AI 工作台,提供三种入口:Electron 桌面工作区(desktop/electron、desktop/renderer)、常驻的悬浮岛伴侣,以及终端 CLI(ankita 命令)。三者共用同一套 agent 运行时和工具集,可以读写文件、执行命令、操作浏览器、做网页抓取、管理 Git 与 HTTP 请求,并将工具调用、结果和审批请求都留在对话里。它支持 ChatGPT Browser、GitHub Copilot、Groq、Kilo 以及任意 OpenAI 兼容提供方,模型与凭据在设置或 .env 中配置。项目、任务、上下文笔记和个人记忆各自分层存储;schedule 工具可以把对话中的任务变成定时作业,结果通过所属队友回传。频道设置可把 Telegram 消息路由给指定队友,桌面与 Telegram 共享同一线程。整个软件以 MIT 许可证开源,Windows x64 是当前发布的验证目标。
在对话中,它通过工具族执行具体动作:文件与代码读写编辑补丁、命令与后台作业管理、Git 与 HTTP 请求、网页搜索与可读内容提取、Playwright 隔离浏览器与 Chrome 连接下的点击填表与截图、图片生成与 Unsplash/Pixabay 搜索、MCP 服务器与 Composio 集成。长时间命令可转为后台作业,带状态、输出、stdin 和停止控制。schedule 工具按描述的时间与成功标准创建任务,作业使用独立的浏览器配置运行,并在所属队友线程中返回可展开的执行证据。项目侧提供 Overview/Tasks/Context 三个面板,对话结束后自动生成一条有界的 Recent work 记录并可用 Undo 撤销。记忆分为个人偏好事实与项目记录,召回有长度上限。桌面快捷键 Ctrl+K 检索命令、技能与定时任务,CLI 侧 /commands、/skills、/project、/browser、/sessions 等命令来自统一注册表。
- 在 Windows 上想要一个能直接改代码、跑命令、看 diff 再批准的本地助手,而不是只会在聊天框里输出的工具。
- 需要把重复性网页任务(如每日检查某页面、提交表单)设成定时作业,并在无人值守时保留执行证据的个人用户。
- 希望把 Telegram 当作远程入口,用手机把任务派给桌面上的同一个队友并收到结果。
- 想用已登录的 ChatGPT 会话驱动本地文件、命令和浏览器操作,同时保留原有模型与账号额度。
- 需要在终端里做一次性总结、管道式调用或常驻后台自动化(ankita -p、--daemon)的开发者。
如何安装或部署这个 Agent?
Windows 用户从最新 Release 下载安装包:
setup-x64.exe # 安装版,支持应用内更新
portable-x64.exe # 便携版,需手动下载新版本替换从源码运行需要先克隆并安装依赖:
# 安装版
npm ci
npm run desktop:dev生产渲染器构建:
npm run desktop:build
npm run desktop:startCLI 安装与首次配置:
npm link
ankita复制环境变量模板(PowerShell 与 POSIX 写法不同):
cp .env.example .envCopy-Item .env.example .env如何使用这个 Agent?
打开 Ankita 后先在 Settings → Providers 选择提供方(全新安装默认是 Kilo 的免费模型),再创建一个队友。选择 GitHub Copilot 时按应用给出的设备登录流程完成授权;自定义提供方需填写 API base URL 与凭据。之后在对话里直接下达任务,审批卡片出现时检查命令或 diff 再批准。CLI 的首个可用调用:
ankita -p "Summarize this repository"其他常用入口:
ankita --continue
ankita --list-models
ankita --voice
ankita --daemon要把 Telegram 接入,在 Settings → Channels 填入 bot token、允许的 chat ID 与负责回答的队友;同一 bot token 只能有一个活跃的轮询进程。网页捕获辅助扩展需要另外在 Chrome/Edge 扩展页开启开发者模式、Load unpacked 指向 helper 文件夹,并粘贴 Ankita 中复制的配对码。
这个 Agent 有哪些优点和局限?
- 桌面工作区、悬浮岛伴侣和 CLI 共用同一 agent 运行时与工具集,切换入口不丢上下文。
- 工具审批是一等公民:命令、文件 diff、后台作业和浏览器动作都会先请求确认,并保留可展开的执行证据。
- 提供方不锁死,可在 ChatGPT Browser、GitHub Copilot、Groq、Kilo 与任意 OpenAI 兼容端点之间切换。
- 定时作业使用独立浏览器配置运行,结果通过所属队友线程回传,桌面最小化后仍在托盘继续调度。
- 记忆、项目记录与聊天历史分账管理,召回有界,且有默认的密钥擦除与设备加密保险库。
- 桌面端只在 Windows x64 上验证,macOS/Linux 虽声明了打包目标但未验证。
- 源码运行对 Node 版本有硬约束(20.19+、22.12+ 或 23+),桌面开发与打包要求 22.12+。
- 语音需要额外装 ffmpeg/ffplay,隐身抓取层还要 Python 与 Scrapling,属于可选但额外的依赖。
- 浏览器自动化、网页捕获扩展和 Telegram 频道都需要单独配对或配置,第一次上手步骤偏多。
- 密钥擦除只覆盖已识别形态;未标注的密钥或被拆分的值可能漏检,且实时请求仍会把粘贴内容发给模型。
这个 Agent 与同类方案有什么区别?
与相关度最高的同类 agent 并排比较关键指标。
| Agent | 源码审查 | 形态 / 费用 | Star | 最近更新 | 主语言 | 完整支持的平台 |
|---|---|---|---|---|---|---|
| Ankita 桌面 AI 工作台 当前 | 54 · 缺口较多 | 桌面应用免费 + 模型费 | ★ 11 | 今天 | JavaScript | ChatGPT · OpenAI API |
| Skales | 36 · 缺口较多 | 桌面应用免费版 + 付费版 | ★ 2.2k | 8 天前 | — | ChatGPT · OpenAI API · Claude API |
| Abu 桌面助理 | 61 · 存在缺口 | 桌面应用免费 + 模型费 | ★ 404 | 今天 | TypeScript | OpenAI API · Claude API |
| Waku | 47 · 缺口较多 | 命令行工具免费 + 模型费 | ★ 2.1k | 15 天前 | Python | OpenAI API · Claude API |
FollowAgents 如何评估这个 Agent?
查看各维度的扣分理由
README 与计划文档显示文件工具受工作区边界约束、Web 工具拦截私有主机与重定向、MCP/Composio 有 auto-allow/ask-once/always-ask/deny 分级审批,且命令与文件改动需批准,故 least_privilege 与 user_confirmation 给 2;但 skill 的 plugin.json permissions 明确只是“advisory author metadata,不是运行时沙箱”,扣分。数据流方面 README 说明密钥清洗默认开启、凭据存设备加密库、模型只见引用而非明文,但明确承认“实时模型请求仍可能收到粘贴内容、任意未标注或跨消息拆分的密钥可能检测不到”,故 data_flow_transparency 与 sensitive_data_handling 各 2 而非 3。依赖安全仅见 package.json 固定版本与 release 工作流 npm ci,无审计/SBOM/漏洞扫描证据,给 1。external_effects 涉及浏览器自动化、Telegram 通道、计划任务、Computer Use 等真实外部副作用,虽有审批与 Stop/takeover,但计划文档自述“ownerless 任务会回退到最近更新的 teammate 继续运行”属未决风险,给 1。rollback 仅有项目级 Undo 与 /project undo,缺少对命令、浏览器动作、外部发布的通用回滚,给 1。source_attribution 有 MIT 版权署名、第三方 NOTICES、skill 贡献者与 PR 引用,给 2。
self_consistency 有 CHANGELOG、findings 文档与计划文档相互印证(如 2.5.2 启动修复、computer-direct-config 崩溃修复),且计划文档诚实记录“脚本化登录 worker 失败、该路径未复验”,给 2。dependency_availability 仅声明 Node 版本范围与可选 ffmpeg/Python,未提供锁文件内容或离线可用性证据,且 findings 记录过本地安装落后于 lockfile 导致 ERR_MODULE_NOT_FOUND,给 1。failure_messages 有 provider 错误分类、部分工作回执、fresh observation 与协议纠正等描述,给 2。
audience_and_scenarios 覆盖桌面、悬浮岛、CLI、Telegram、计划任务等多场景,给 2。capability_boundaries 有工具族表、skill 权限说明、浏览器/Computer Use 边界与“MFA 需前台输入”等明确边界,给 2。trigger_precision 依赖 skill 的 auto-tools 与描述匹配、命令注册表,但缺少对误触发/漏触发的量化证据,给 1。environment_fit 明确仅 Windows x64 经发布验证,macOS/Linux 仅声明未验证,给 1。
information_architecture 有清晰目录树与文档索引,给 2。install_notes 有 Windows 安装、源码运行、Node 版本、.env 复制与浏览器 helper 加载步骤,给 2。naming_stability 存在仓库名 A.N.K.I.T.A 与包名 ankita、CLI 名 ankita/ankita-chat、配置目录 ~/.copilot-chat-cli 等不一致,给 1。examples_and_faq 有 skill 手册完整示例、CLI 命令表与快捷键表,给 2。known_limitations 在 README 与计划文档“Remaining limits”中详尽列出,给 2。license 为完整 MIT 文本,给 2。versioning_changelog 有 CHANGELOG、语义化版本与 release 工作流,给 2。maintenance_responsibility 发布者未经验证、作者字段仅“Ankita”、无治理或安全联系渠道,给 1。
output_usability 有 Markdown 流式、工具卡片、diff 审阅、后台任务与结构化回执,给 2。marginal_value 相对通用编码代理增加了桌面伴侣、计划任务、浏览器与记忆等差异化能力,给 2。cost_benefit 缺少 token/成本量化,计划文档提到浏览器请求成本研究但未给出结论性数据,且依赖较重(Electron、Playwright、Chromium),给 1。
claim_traceability 有 findings 文档给出复现命令、错误堆栈与测试计数,计划文档给出具体日志路径与命令,给 2。cross_source_corroboration 部分声明(如 832 项测试、打包验证)仅见于计划文档自述,README 与 CHANGELOG 未独立佐证,且计划文档自承部分路径未复验,给 1。fact_inference_separation 文档区分了“本地测试系统而非公共站点”“脚本化 fixture 而非真实模型”等,给 2。
- 发布者身份未经验证,作者字段仅为“Ankita”,无安全联系渠道或治理说明;安装前应自行核验来源。
- skill 的 plugin.json permissions 只是作者声明,不是运行时沙箱;安装第三方 skill 不会自动获得权限隔离。
- 密钥清洗仅覆盖已标注/已知形态,实时模型请求仍可能收到粘贴的敏感内容,跨消息拆分的密钥可能漏检。
- 计划文档自述 ownerless 计划任务会回退到最近更新的 teammate 并继续运行,属未决风险,需在启用计划任务前确认。
- 仅 Windows x64 经发布验证,macOS/Linux 打包目标仅声明未验证;Computer Use 与浏览器自动化会带来真实外部副作用。
- 依赖较重(Electron、Playwright、Chromium),且无依赖审计或 SBOM 证据;findings 记录过本地安装落后于 lockfile 导致模块缺失。