这个项目能做什么

ainess 是一款桌面应用程序(基于 Tauri 2,采用 MIT 许可),它能将您已经安装的 AI 编码 CLI 转化为一个协调的团队。它并不捆绑模型或 API 密钥,而是检测并驱动现有工具 —— 包括 Claude Code、Antigravity、GitHub Copilot CLI、Gemini CLI、Codex CLI、opencode、Ollama 和 Aider —— 并且可以通过设置面板安装其中大多数工具。一种“自定义”代理类型可以运行任何命令,并将其参数中的 {prompt} 进行替换。会话和凭据保留在每个 CLI 存储的位置;该应用声明绝不会请求、存储或读取密钥。Windows 是其开发和测试的平台。 编排工作原理 代理是单次运行的 CLI 进程。每次调用被称为一次“运行”(run),而对话在多次运行之间得以持久化,因为每个提供者都通过其自身的会话 ID 恢复。代理按角色分层排列:规划者(planner)负责推理、拆分工作和委派但不实施;执行者(implementers)负责具体工作;审核者(reviewers)负责检查。委派通过规划者回答中的围栏块(fenced block)实现,编排器将其解析为运行并反馈结果 —— 这一循环被称为一个“轮次”(round),且最大轮次可配置。由于子代理无法看到规划者的对话,因此任务必须能够独立存在。代理还可以暂停并向用户提出带有选项的问题,回答后运行将在同一会话中继续。 应用内部 项目指向工作区文件夹,并保留各自的团队、状态、历史记录和聊天;保存的“编队”(formation)及其技能和 MCP 服务器可应用于新项目。一个包含六列(从待办到完成)的看板会自动填充:提示词创建任务,委派任务挂载其下,审批等待在“需要您”中,完成的运行则移至审核或就绪状态。同样的任务可以渲染为分层依赖图,通过拖拽连接声明阻塞关系。其他视图包括:与编排器的聊天线程(工具使用、可折叠的委派、保存的提示词“指令”)、显示委派关系和剩余配额的分层图、带有原始事件流和真实 PTY 终端的右侧停靠栏、可按代理或全局要求的审批、直接和共享的多代理聊天、通知、git 仓库状态(分支、脏文件、领先/落后、带有 CI 状态的开放 PR)以及上下文右键菜单。每个代理拥有独立分支的 git worktrees,允许两个执行者同时工作而不会在 git index 上产生冲突;面板可以打开、合并或丢弃它们,且在有未提交工作时拒绝合并。 远程与 CLI 内置服务器通过局域网将相同的 React UI 发布为单个自包含页面,由 URL 中的令牌保护(无令牌则返回 401),因此手机可以查看看板、发送任务、停止运行和回答问题。可选的公共 URL 可通过 cloudflared 或 ngrok 实现,并支持静态域名。只要页面在后台运行,即可提供浏览器通知(需要安全上下文)。带有令牌认证的 HTTP API 公开了状态、SSE 事件流,以及 prompt、instruct、stop、approve 和 chat 接口。相同的编排器可通过 CLI 以无头模式使用,提供运行任务、管理项目/代理/编队、检测安装、检查配额与用量、浏览历史、处理审批、聊天以及提供手机页面等命令。 附加功能与数据 技能、MCP 服务器、共享上下文和配置文件会被注入到代理提示词中。钩子(Hooks)可对编排器事件(如 task.started、task.finished、delegation 或 approval.requested)做出反应,支持 Slack/Discord 或通用 Webhooks、本地命令、系统通知,或使用模板变量链式触发另一个代理。所有配置、历史记录、聊天、任务看板、配额标记和日志都存储在用户 AppData 文件夹下的纯文本文件中;历史记录每个项目保留最近 300 次运行和 3000 条消息,日志每日轮转并保留 14 天,令牌在写入前会被掩码处理。界面翻译为西班牙语、英语、巴西葡萄牙语、简体中文、日语、法语和德语,无需重启即可切换,以西班牙语为基础字典。发布版本通过 GitHub Actions 在 main 分支版本提升后构建并签名,安装后的应用可自动更新。