开源 AI 编码代理 Eva 发布:先把过程写进磁盘再执行
独立团队推出开源 AI 编码代理 Eva,采用终端聊天形态,支持 Anthropic 和 OpenAI,核心特点是所有交…
独立开源项目 Eva 以「Show HN」形式亮相,定位为「自主、多租户、AI 原生的软件工厂」。与多数 AI 工具不同的是,Eva 采用「先写盘、再读取」的架构:每一次提问、回答、重试和 token 消耗,都会实时落盘为本地文件,终端界面再从该文件回读呈现。这一设计使得整个会话过程天然可审计、可回放。
项目定位与当前能力边界
Eva 由 missingstudio 团队开发,采用 Go 语言编写,以 MIT 协议开源。项目自述仍处于非常早期的阶段:当下的形态只是一个「终端聊天客户端」,尚不能读取用户文件、运行测试,也未接入任何 shell 工具。作者明确表示,工具调用与更完整的代理能力将在后续版本中补齐。
安装与模型接入
项目提供四种安装方式:
- macOS 通过 Homebrew:
brew install --cask missingstudio/tap/eva - macOS / Linux 通用脚本:curl 安装,安装前会校验发布 checksum
- Go 工具链:
go install github.com/missingstudio/eva/cmd/eva@latest - 从源码构建(需 Go 1.26+)
模型层面,Eva 默认对接 Anthropic,仅需设置 ANTHROPIC_API_KEY 环境变量即可启动。如需切换到 OpenAI,可执行 eva init 在 ~/.eva/config.toml 中指定 provider;同时支持 ChatGPT 或 Codex 订阅登录(eva login 后设置 auth = "subscription"),通过 eva auth status 可查看当前生效的凭据。作者强调,API Key 不会被写入配置文件、日志或会话历史。
命令与脚本化使用
核心命令包括:
eva:打开交互式聊天eva -p "<问题>":单次问答后输出到 stdout 退出,失败时返回非零状态码,适合嵌入脚本管道eva init、eva login、eva auth status、eva help
聊天内可通过 / 触发本地命令(/help、/cost、/clear、/model),这些指令不会发送给模型,因此不产生 token 费用。
配置与团队协作
eva init 会生成一份所有选项均注释掉的 ~/.eva/config.toml,项目默认无需任何配置即可运行。仓库内可放置 .eva/config.toml 以共享团队的主题与快捷键,并通过 allow-list 限制其修改范围。文档结构上,项目提供了 first-run 教程、按任务拆分的使用指南、完整命令与配置参考、设计决策记录以及术语表(CONTEXT.md),并以 make verify 作为 CI 校验门槛。
总体来看,Eva 目前更像是为后续能力铺设的「地基」,而非完整可用的编码助手;对希望提前关注 AI 原生代理架构的开发者值得关注,但要进入实际编码工作流仍需等待工具调用等关键能力上线。
