agency-agents-app
本地AI Agent管理工具,跨Claude Code/Cursor/Codex等工具统一安装人格配置
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
本地AI Agent管理工具,跨Claude Code/Cursor/Codex等工具统一安装人格配置
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
如果你同时使用Claude Code写后端、用Cursor做前端、靠Copilot补全文档,可能会遇到一个荒诞的现实——每个工具的Agent配置格式完全不同。Claude Code读.claude/agents/*.md,Cursor要.cursor/rules/*.mdc,Codex又用~/.codex/agents/*.toml。你辛辛苦苦为Claude Code调教好的专家人格,换个工具就全丢了。
Michael Sitarzewski解决的就是这个问题。他先是维护了 agency-agents 仓库,收集了251+个专业AI Agent人格定义,覆盖多个工具。但问题是,每个工具安装Agent的方式各异,用户体验割裂。
Agency Agents App 就是这个问题的原生桌面解法——一个用Tauri 2 + Svelte 5构建的本地"AI Agent应用商店",让用户在一个界面里浏览、预览、安装和管理跨平台的AI Agent人格。

亮色主题下的Dashboard,展示了Agent安装健康度、跨工具覆盖情况和分类目录视图
2024年以来,AI编程工具进入爆发期。Claude Code、OpenAI Codex、Cursor AI、Qwen Code、Gemini CLI……每个工具都支持加载自定义的"Agent人格"或"规则集",但实现方式完全不同:
~/.claude/agents/.cursor/rules/目录下的.mdc文件,遵循MCP协议格式~/.codex/agents/.github/agents/和.copilot/agents/这意味着如果你在Claude Code里配置了一个"资深Rust后端工程师"Agent,想在Cursor里复用,要么手动转换格式并复制到正确路径,要么干脆放弃。
agency-agents仓库试图用转换脚本解决格式问题,但脚本终归是CLI工具,没有图形界面,普通用户难以驾驭。Agency Agents App应运而生——把转换和安装逻辑封装成原生应用,让配置工作变得可视化。
这个项目的技术选型非常务实。选Tauri 2而不是Electron,意味着运行时只有约1MB的二进制文件(对比Electron动辄100MB+),且内存占用极低。开发者Michael在README中明确提到"Built with Tauri 2 — native app shell without the Electron footprint",这是项目的核心理念之一。
前端用SvelteKit构建单页应用,运行在Tauri提供的系统WebView里。源码src/lib/components/目录下有43个Svelte组件,覆盖了几乎所有交互场景:
AgentsWorkspace.svelte — 主浏览/安装界面,三栏布局(分类→Agent列表→详情)CatalogByDivision.svelte — 按部门/角色分类的目录视图ToolsView.svelte — 工具状态面板,显示各AI工具的安装情况CoverageMatrix.svelte — 覆盖度矩阵,直观展示Agent对各工具的支持情况DiffModal.svelte — 文件变更对比,安装后检测外部修改Settings 目录 — 包含Catalog、GitHub、Network、Updates等完整设置体系前端状态管理采用Svelte 5的Runes模式,通过.svelte.ts文件管理store逻辑,共13个store模块覆盖catalog、install、github、settings等。
Rust后端按职责划分成独立模块:
corpus/ — Agent目录的来源、索引和刷新逻辑,支持从捆绑数据、本地克隆~/.agency-agents或用户指定路径加载render/ — 各工具格式的确定性渲染器,将统一格式转换为目标工具的配置文件,测试用例与上游scripts/convert.sh输出一致install/ — 安装、卸载、Ledger和文件变更检测(reconciliation)github/ — GitHub OAuth Device Flow集成,Token存储在系统Keychain而非前端registry.rs — 工具注册表管理,tools.json作为前端后端共享的工具定义来源关键设计决策:后端不调用shell命令。渲染逻辑完全在Rust中实现,保证了确定性输出和跨平台一致性。

各AI工具的安装路径可视化,不同工具写入不同目录
Agency Agents App围绕四个核心概念组织功能:Agents(谁)、Tools(怎么装)、Teams(装什么组合)、Projects(在哪里用)。
这是应用的主界面。三栏式浏览体验:
安装状态分五类:current(最新)、outdated(有更新)、modified(被外部修改)、removed(已删除)、foreign(非本应用安装)。这种分类让用户对安装状态一目了然。
显示注册表中的所有AI工具,区分两类:
将多个Agent打包成预设组合,方便一键部署。应用内置了官方Teams,用户也可以创建自己的组合。替代了早期版本的"Loadouts"概念,同时保留了Agentfile的导出/导入能力。
支持项目级别的Agent安装隔离。每个项目有独立的Agent集合,避免全局安装带来的版本冲突。Master-detail导航设计让项目管理直观清晰。
这是应用最有技术深度的部分。安装后,系统会:
当Agent定义更新后,用户可以查看diff(通过DiffModal),确认变更内容后再决定是否升级,避免自动更新覆盖了用户的本地修改。
项目的安全设计值得称道:
tauri-plugin-shell,前端无法构造任意shell命令网络访问全部显式声明:GitHub API刷新目录、OAuth流程、更新检查——无遥测、无崩溃报告、无广告像素。
没有项目是完美的,Agency Agents App也有需要注意的地方:
1. 平台局限性明显
这是一个桌面原生应用,不是Web服务。虽然支持macOS/Linux/Windows三平台,但不支持容器化部署,无法在服务器环境使用。Quick Deploy评估为partially_supported,因为它不提供Docker镜像。
2. 工具覆盖还不完整
README明确提到Windsurf、Aider、OpenClaw、Kimi等工具的输出格式"需要额外工作才能作为一流安装目标暴露",目前这些工具在Tools面板中以dimmed(暗淡)状态显示,仅识别但无法安装。
3. 依赖上游仓库
应用本身不创造Agent人格,而是依赖agency-agents上游仓库。如果上游仓库停止维护或格式变更,应用也需要跟进更新。
4. 版本尚在0.x
当前版本v0.3.0,属于早期阶段。自动更新功能仅在macOS上完全可用,Linux/Windows为opt-in状态,生产环境使用需谨慎。
Agency Agents App代表了一个有趣的趋势:当AI Agent成为主流编程范式时,行业需要类似npm/pip的包管理机制。目前这个领域:
Agency Agents试图用本地应用的方式填补这个空白。它不完美,但它是目前最接近"AI Agent包管理器"的东西——至少在你自己的多工具工作流中。

暗色主题下的Dashboard
| 维度 | 内容 |
|---|---|
| 语言 | TypeScript(前端)+ Rust(后端) |
| 框架 | Tauri 2 + SvelteKit + Svelte 5 |
| 许可 | MIT |
| 前端组件数 | 43个Svelte组件 |
| 后端模块 | corpus、render、install、github、registry等 |
| 支持的Agent目标 | Claude Code、Codex、Gemini CLI、Copilot、Qwen Code、Cursor、opencode、Osaurus |
| 最低系统要求 | macOS 13+ / Linux x86_64 / Windows x64 |
| 安装方式 | 官方安装包 + Homebrew(macOS) |
| 安全特性 | Keychain存储、IPC typed commands、路径白名单、签名更新 |