【攻略】Agent-Native使用指南
Agent-Native把同一个action同时暴露为界面、HTTP、MCP、A2A和CLI能力,适合需要快速搭建可被人和Agent共同操作的全栈应用。本篇从安装、密钥、数据库、部署到常见坑逐步说明。
【攻略】Agent-Native使用指南
很多Agent项目的真正麻烦不在模型调用,而在“同一项业务能力要接多少层接口”:网页要能点,服务端要能调用,MCP工具要能发现,其他Agent要能通过A2A协作,运维人员还希望从CLI触发。
Builder.io开源的Agent-Native试图把这些入口统一起来。开发者定义一次action,框架可以把它暴露到UI、Agent、HTTP、MCP、A2A和CLI等不同表面。它不是一个单独的聊天组件,而是一套面向Agent原生应用的全栈框架。
项目基本信息
- 项目名称:Agent-Native
- 维护组织:BuilderIO
- 开源协议:MIT
- 官方仓库:BuilderIO/agent-native
- 官方文档:agent-native.com
- 最近活动:仓库在2026年8月24日仍有新版本发布,正式包与nightly版本都保持高频更新
- 环境要求:Node.js 22及以上,项目开发文档建议Node.js 24或更高;pnpm 10及以上
仓库仍处在快速变化期。高频更新适合试验新能力,也意味着生产项目应固定版本、保留升级记录,不要长期依赖latest自动漂移。
最快启动方式
先确认本机Node.js版本,然后启用Corepack并创建项目:
node --version\ncorepack enable\nnpx @agent-native/core@latest create my-app\ncd my-app\npnpm install\npnpm dev
创建命令还支持模板和运行方式参数。例如:
npx @agent-native/core@latest create my-chat --template chat\nnpx @agent-native/core@latest create my-service --headless\nnpx @agent-native/core@latest create my-app --standalone
chat模板适合快速理解框架的会话、工具和界面组织;headless更适合只需要服务端能力的项目;standalone用于减少对工作区其他包的依赖。具体参数可能随版本变化,执行前应再次查看官方CLI帮助。
API Key怎么配置
Agent-Native不强制只使用一家模型。项目FAQ将其描述为“自带API Key”的模式,可接入Anthropic、OpenAI等提供商。
模板通常会生成环境变量示例。以常见配置为例:
ANTHROPIC_API_KEY=your_key_here\nDATABASE_URL=your_database_url
如果改用其他模型提供商,就按照对应适配器和模板要求配置变量。真实Key不要写进仓库、前端代码、README或部署日志,应通过部署平台的Secret管理功能注入。
认证场景还需要稳定的BETTER_AUTH_SECRET。启用跨工作区或A2A签名能力时,项目可能需要A2A_SECRET。这些值一旦进入生产,应纳入轮换和备份策略,不能使用示例值。
为什么生产环境必须认真处理数据库
本地开发可以使用项目生成的SQLite文件,但官方文档明确提醒:无状态、弹性或Serverless生产环境不能把本地SQLite当作可靠持久化存储。实例重启、扩缩容或重新部署后,本地文件可能丢失或彼此不一致。
生产环境应配置持久SQL数据库:
DATABASE_URL=libsql://your-database\nDATABASE_AUTH_TOKEN=your_database_token
具体是否需要DATABASE_AUTH_TOKEN取决于数据库提供商。把Agent-Native嵌入已有SaaS时,最好为它准备独立数据库或独立schema,避免认证、工作区、消息和action等表与既有业务表发生命名或迁移冲突。
文件上传也要区分开发和生产。SQL回退方案便于本地验证,但生产系统更适合接对象存储或CDN,并单独设置访问控制、生命周期和容量限制。
一个action为什么值得先定义清楚
Agent-Native的核心思路是“能力先于入口”。先把业务动作定义成action,再决定哪些用户、Agent和协议可以调用。
一个合格的action至少要写清楚:输入结构、返回结构、权限条件、可观察日志、失败方式以及是否会改变外部状态。读取天气与删除数据显然不是同一种风险;调用模型生成草稿与直接对外发布,也不应共享同一审批门槛。
如果action会产生外部副作用,建议同时具备幂等键、超时、重试上限、审计记录和人工确认。框架能把入口统一起来,但业务安全边界仍然需要项目自己设计。
部署方式
Agent-Native基于Nitro组织服务端,可部署到Node服务器、Docker、Vercel、Netlify、Cloudflare Pages或Workers、AWS Lambda、Deno和Azure等环境。
部署前至少完成以下检查:
- 固定Node.js、pnpm和Agent-Native包版本。
- 将数据库、模型Key和认证Secret迁移到平台Secret管理。
- 把本地SQLite和本地文件上传替换为可持久化服务。
- 检查对外开放的HTTP、MCP、A2A和CLI入口,关闭不需要的表面。
- 对会产生外部动作的action增加权限、日志和重复执行保护。
- 在独立环境完成数据库迁移、回滚和负载测试。
常见坑
第一,看到“一个action多入口”就把所有入口全部打开。统一定义不等于统一权限,实际项目应按调用方和环境分别授权。
第二,在Serverless环境继续使用本地SQLite。开发时一切正常,上线后可能出现数据消失或多实例不一致。
第三,直接跟随nightly版本。nightly适合验证新功能,不适合作为没有锁版本和回归测试的生产基线。
第四,把示例认证Secret带到线上。认证Secret变化会影响会话和签名,泄露则会扩大风险。
第五,只验证聊天页面,不验证HTTP、MCP或A2A调用后的副作用。真正的验收应覆盖权限、失败重试、重复请求和审计日志。
适合与不适合的团队
Agent-Native适合准备从零搭建Agent原生SaaS、希望同一业务动作被人和Agent共同操作、愿意接受全栈框架约束,并且能够承担数据库、认证和权限治理的团队。
如果项目已有成熟后端、接口治理和前端体系,只需要增加一个轻量MCP服务,整体迁移到新框架未必划算。对缺少Node.js工程经验、只想调用一次模型API的团队,它也可能显得过重。
最稳妥的使用方式,是先用独立原型定义一到两个真实action,跑通UI、HTTP和MCP三条路径,再决定是否扩大到完整产品。