打包发布
Ageniti 可以把同一个 app definition 转成可分发的 CLI、MCP、manifest 和 skill 文档产物。
会生成什么
bundle target 会写出:
ageniti.manifest.json
ageniti.actions.json
ageniti.mcp.json
cli.mjs
mcp-stdio.mjs
GUIDE.md
package.json
README.md
ageniti.bundle.json这些文件描述 app、提供可运行 launcher,并让 app 可以被安装或审查。
生成出来的 README.md 不是占位文件。它会跟着 bundle 一起交付,告诉下游用户如何运行、安装、发布和接入这些 app surface。
必需的 App Module
Launcher target 需要一个 Node-safe module 来 export 你的 Ageniti app。
src/ageniti/app.js不要从这个入口 import React components、browser-only APIs、route files 或 mobile runtime code。
Build
task-app build bundle --app-module ./src/ageniti/app.js --app-export app --out-dir ./dist/ageniti如果项目里有 ageniti.config.json,build command 可以读取其中的默认配置。
Package
task-app package --app-module ./src/ageniti/app.js --app-export app --out-dir ./dist/ageniti这个命令会构建 bundle,并在生成的 output directory 里运行 npm pack。
输出会是类似这样的 tarball:
task-app-ageniti-0.1.0.tgz你可以用同样的安装形态做本地验证:
npm install -g ./dist/ageniti/task-app-ageniti-*.tgz
task-app
task-app-mcpPublish
task-app publish --app-module ./src/ageniti/app.js --app-export app --out-dir ./dist/agenitipublish 默认是 dry run。只有确定要真实发布时,才传 --live。
task-app publish --live --access public --tag latest --app-module ./src/ageniti/app.js --app-export app --out-dir ./dist/ageniti如果 npm 要求两步验证,按 npm 在发布过程中的额外验证提示完成即可。
发布之后,下游用户安装的是你生成出来的 app package,不是 Ageniti SDK 本身:
npm install -g task-app-ageniti
task-app
task-app-mcpMCP Descriptor
ageniti.mcp.json 包含 command metadata,以及常见 MCP host 的配置片段。生成的 stdio command 指向:
node ./mcp-stdio.mjs本地开发时,MCP client 可以指向生成出来的 bundle 目录:
{
"mcpServers": {
"task-app": {
"command": "node",
"args": ["./mcp-stdio.mjs"],
"cwd": "/absolute/path/to/dist/ageniti"
}
}
}全局安装后,很多 MCP client 可以直接调用生成的 MCP bin:
{
"mcpServers": {
"task-app": {
"command": "task-app-mcp",
"args": []
}
}
}具体 bundle 以 ageniti.mcp.json 里的 snippets 为准。
CLI 部署
生成的 CLI 可以直接从 bundle 里运行:
node ./dist/ageniti/cli.mjs actions
node ./dist/ageniti/cli.mjs manifest通过 npm 安装后,用户运行生成的 bin:
task-app actions
task-app manifest
task-app create-task --json '{"title":"Follow up"}'bin 名称来自 ageniti.config.json 里的 package.binName。
HTTP 部署
HTTP 通常部署在你自己的后端里,而不是从这个静态 bundle 直接启动。你在 server process 里挂同一个 Ageniti app:
const handle = app.createHttpHandler();请求路径是:
GET /ageniti/actions
POST /ageniti/actions/<action-name>/invoke这样 auth、session、网络策略和 hosting 都仍然由你的基础设施负责。可以用 npx @ageniti/core init host-http 生成 starter。
Skill 文档
GUIDE.md 从 app 和 action metadata 生成。它给 Agent、coding assistant 和自动化系统提供一份紧凑的能力使用说明。
发布前审查
发布新 bundle 前建议:
- 检查
ageniti.manifest.json - 检查
ageniti.actions.json - 检查
ageniti.mcp.json - 运行生成的
cli.mjs - 用 MCP host 测试生成的
mcp-stdio.mjs - 用
task-app diff对比新旧 manifests