1000 字
5 分钟
AgentEnv 路线图——从包管理器到完整环境管理,寻找合作者
7emotions
/
agentenv
Waiting for api.github.com...
00K
0K
0K
Waiting...

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 后提示 addlock 后提示 install

如果你对以上任何方向感兴趣,欢迎:

Agent 开发正在从”每个人在自己机器上调配置”的阶段走向工程化。AgentEnv 想成为 conda 对 Python 生态做的事——让 Agent 开发环境可以被声明、版本化、复现。如果你认同这个方向,一起来做。

AgentEnv 路线图——从包管理器到完整环境管理,寻找合作者
https://lorenzofeng.top/posts/agentenv-runtime-roadmap/
作者
Lorenzo Feng
发布于
2026-05-26
许可协议
CC BY-NC-SA 4.0