生命周期规范

文件

AgentSeek 从当前目录向上查找生命周期规范:

.agentseek/lifecycle.toml

其他项目文件不参与生命周期发现。

形状

version = 1
template = "bub/default"
name = "My Bub Agent"
env_file = ".env"

[tools]
required = ["uv", "node", "npm"]

[paths]
required = ["frontend/package.json", "frontend/node_modules"]

[env.BUB_MODEL]
required = true
default = "openai:gpt-4o-mini"

[env.BUB_API_KEY]
required = true
aliases = ["BUB_OPENAI_API_KEY"]

[services.app]
url = "http://127.0.0.1:5173"

[processes.frontend]
command = ["npm", "run", "dev"]
cwd = "frontend"

[checks.frontend]
type = "http"
target = "http://127.0.0.1:5173"
timeout = 2
attempts = 3

[tasks.frontend]
description = "Install frontend dependencies."
command = ["npm", "install", "--prefix", "frontend"]

段落

段落 作用
env_file 可选项目本地 env 文件,只用于声明的环境检查。它不会注入子进程。
tools 项目需要的可执行文件。
paths 必需的本地文件或目录。
env.<name> AgentSeek 应检查的环境变量。默认值优先级低于 env_file 和 shell 变量。
services.<name> agentseek info 展示的公开本地服务端点。
processes.<name> agentseek dev 启动的长运行命令。
checks.<name> agentseek doctor --live 使用的 HTTP live 就绪检查。2xx 和 3xx 响应成功。
tasks.<name> agentseek task <name> 运行的一次性任务。cwd 是项目相对路径,且必须存在。

环境检查

AgentSeek 从生命周期默认值、可选 env_file 和当前进程环境检查环境需求:

lifecycle default < env_file < shell environment

只有 [env.<name>] 下声明的 key 及其 aliases 会从 env_file 读取。 模板不需要声明项目可能使用的每一个运行时变量。AgentSeek 不会把 env 文件或 生命周期默认值传给子进程。

第一阶段范围

Version 1 支持必需工具、必需路径、项目环境需求、HTTP live 检查、长运行进程和一次性任务。 它不支持可选 tool/path 检查、TCP 检查、进程级环境覆盖、多个 env 文件或 env 插值。

公开命令

命令 行为
agentseek info [--verbose] 打印生命周期规范里的项目事实。
agentseek doctor [--live] [--strict] 检查 tools、paths、env 和可选 live endpoints。
agentseek dev [--dry-run] [--skip-check] 打印或启动声明的开发进程。--skip-check 只跳过预先的 strict doctor 检查。
agentseek task --list 列出 tasks 下声明的任务。
agentseek task <name> 运行一个声明的一次性任务。

错误

条件 结果
缺少 .agentseek/lifecycle.toml Exit code 2
生命周期规范版本不支持 Exit code 2
生命周期规范无效 Exit code 2