AgentEnv 是什么
AgentEnv 是一个 AI Agent 的环境管理器——把它想象成 conda,但管理的是 skills、MCP 服务器、agent 定义、tools、hooks 和 prompts。六种包类型、四种框架适配器(Claude Code、OpenCode、Cursor、Codex)、六种源协议——声明式 agent.yaml + PubGrub 依赖解析 + 锁文件。
目前它能做什么:
agentenv create my-project --agent opencode
agentenv add skill code-reviewer --source github:myorg/code-reviewer
agentenv lock && agentenv install && agentenv activate my-project但它缺了最关键的一步——框架版本管理。
缺失的拼图
假设你的团队用 OpenCode 开发 Agent。你在 agent.yaml 里声明了 skills 和 MCPs,agentenv lock 锁定了所有依赖的版本。你的同事 clone 了项目,agentenv activate 激活了环境。
但你们的 OpenCode 版本可能不一样。 你的 agent.yaml 不定义框架版本——框架版本是隐式的,取决于每个人本地装了什么。如果 OpenCode 0.8 的某个 MCP 行为变了,你的环境在同事的机器上可能表现不一致。
类比 conda:conda 不只管 numpy 的版本,也管 Python 本身的版本。environment.yml 里的 python=3.10 是环境定义的核心部分。AgentEnv 也应该管框架版本。
解决方案——框架版本管理
核心思路非常简单:在 agent.yaml 中声明框架及其版本约束。
name: my-project
framework:
type: opencode
version: ">=0.7.0"
skills:
code-reviewer:
source: github:myorg/code-reviewer
version: "^1.0"agentenv activate 时检查本地安装的 OpenCode 版本是否满足约束。如果不满足,直接报错告诉你需要哪个版本。
这和 conda 的 python=3.10 一模一样——AgentEnv 管框架版本,OpenCode/Cursor/Claude Code 仍然是激活目标,开发者仍然用自己熟悉的工具。
实现计划
完整的实现计划在 docs/superpowers/plans/2026-05-26-runtime-management.md。核心是 8 个任务,约 300 行新增代码:
| 任务 | 变更 | 说明 |
|---|---|---|
| Types | +15 行 | FrameworkSpec 类型 + Environment.Framework 字段 |
| Envfile | +60 行 | reader/writer/validator 支持 framework 字段 |
| Create | +10 行 | --agent opencode 写入 agent.yaml(不只是 state.json) |
| Adapter | +30 行 | 新增 GetInstalledVersion() 方法,检查本地框架版本 |
| Activate | +30 行 | 激活时校验框架版本是否满足约束 |
| Info | +15 行 | agentenv info 显示框架声明 |
| Tests | +80 行 | framework 字段 round-trip + create 集成测试 |
| Docs | +30 行 | README + agent-yaml.md 更新 |
不做的事情:
- 不造 AgentMini 或内置任何运行时。激活目标仍然是 OpenCode/Cursor/Claude Code/Codex。
- 不加 deploy 命令。环境管理不变成部署工具。
- 不把 gocode 特殊对待。如果将来有人想用 gocode——写一个适配器就行,和 OpenCode 完全对等。
为什么这个方向是正确的
经过几轮架构讨论,我意识到之前”部署给甲方”的思路把 AgentEnv 带偏了。AgentEnv 的价值不是让非开发者跑 Agent——而是让开发者之间的环境可复现。
conda → 管 Python 版本 + numpy 版本
AgentEnv → 管 OpenCode 版本 + skill/MCP 版本同一个类比,同一个抽象层。框架版本管理是这个类比的最后一环——补上它,AgentEnv 的环境模型就完整了。
寻找合作者
这个项目目前是我一个人在维护。路线图上的事情比我一个人能干的多。我在找对这些方向感兴趣的人:
核心需求(Go 后端):
- 适配器扩展(实现各框架的
GetInstalledVersion) agentenv activate的版本校验逻辑完善agentenv lock对框架版本的支持(将 framework 纳入锁文件)- 新增 Aider、Gemini CLI 等框架适配器
锦上添花(全栈):
agentenv doctor健康检查命令(并行检查 runtime + adapters + store)- 无参运行时的信息面板(TTY 检测 + 环境状态概览)
- Golden 测试基础设施
- 下一步提示(
create后提示add,lock后提示install)
如果你对以上任何方向感兴趣,欢迎:
- 在 GitHub Issues 里开 discussion
- 直接提 PR——路线图上的每一项都有详细的实现计划
- 发邮件给我:lorenzo@lorenzofeng.top
Agent 开发正在从”每个人在自己机器上调配置”的阶段走向工程化。AgentEnv 想成为 conda 对 Python 生态做的事——让 Agent 开发环境可以被声明、版本化、复现。如果你认同这个方向,一起来做。