Skip to main content

agent_kit — 智能体工程学模板与同步工具

单一源头:把 event_bus 项目中沉淀的「智能体工程学」设计(AGENT.md + .agents/ 体系) 抽成可参数化模板,一条命令安装 / 更新到任意项目。

背景

多项目各自维护一份 .agents/ 会逐渐漂移(如 psyche 的副本已落后于 event_bus)。 本仓是这套设计的唯一源头:模板在此演进,通过 agent-kit 分发到各项目。

体系构成

安装到目标项目后产生:

项目根/
├── AGENT.md                      # 引导入口(目录树 + 工作流)
└── .agents/
    ├── agent_kit.toml            # 项目配置(名称 / 工具链 / 启用技能)
    ├── FOR_AGENT.md              # 行为准则与编码规范
    ├── SKILLS/                   # 任务技能
    │   ├── modify-core-api.md
    │   ├── pre-commit-check.md
    │   ├── write-tests.md
    │   ├── write-docs.md
    │   ├── write-skill.md
    │   ├── init-project.md
    │   └── setup-cicd.md
    ├── MEMORY/                   # 跨会话记忆(memorys/ 不入库)
    └── TEMP_FILES/               # 会话临时文件(tmps/ 不入库)

快速开始

用 uv 直接运行(无需克隆本仓;PyPI 包名 infinity-agent-kit,命令行名 agent-kit):

# 安装到目标项目
uvx --from infinity-agent-kit agent-kit install --target /path/to/project

# 更新(模板演进后同步到项目;memorys/ 与 tmps/ 永不触碰)
uvx --from infinity-agent-kit agent-kit update --target /path/to/project
uvx --from infinity-agent-kit agent-kit update --target /path/to/project --check   # 仅检查漂移(退出码 1 = 有漂移)

# 查看技能目录
uvx --from infinity-agent-kit agent-kit list

长期使用建议持久安装,之后直接调用 agent-kit:

uv tool install infinity-agent-kit
agent-kit install --target /path/to/project

配置

安装时自动探测(pyproject.toml 的 name / description / module-name、src 布局包名), 结果写入目标项目 .agents/agent_kit.toml,可手工微调后运行 update 生效:

字段 说明
project.name 项目名(模板 {{PROJECT_NAME}})
project.summary 一句话概述(--summary 可覆盖)
project.package / src_dir 包名与源码目录(--package 可覆盖)
project.repo_url / pypi_name 发布技能所需(启用 publish 时必填)
project.extra_sources 追加到「信息源」表的行,如 "example.py :: 可运行示例"
toolchain.* setup / lint / format / typecheck / test 命令(渲染进技能步骤)
toolchain.extras 提交前检查的附加步骤,如 "uv run python example.py :: 示例冒烟"
skills.enabled 启用的技能列表(默认:除 publish 外全部)

启用 publish 技能:先安装,再编辑配置补上 repo_url / pypi_name 并把 "publish" 加入 skills.enabled,最后运行 agent-kit update。

模板占位符

模板存于 src/agent_kit/template/,支持以下占位符({{TOKEN}} 之外的文字原样保留):

占位符 来源
{{PROJECT_NAME}} {{PROJECT_SUMMARY}} {{PACKAGE}} {{SRC_DIR}} {{PACKAGE_INIT}} [project] 配置
{{SETUP_CMD}} {{LINT_CMD}} {{FORMAT_CMD}} {{TYPECHECK_CMD}} {{TEST_CMD}} [toolchain] 配置
{{SKILLS_TREE}} {{SKILLS_SUMMARY}} {{SKILLS_TABLE}} 由启用技能生成
{{GATE_STEPS}} 由工具链命令生成(pre-commit-check 步骤)
{{EXTRA_SOURCES}} 由 extra_sources 生成
{{REPO_URL}} {{PYPI_NAME}} [project] 配置(publish 技能)

设计原则

  • 单一源头:静态规则只能通过模板演化 + update 分发;项目内直接修改会被覆盖
  • 运行时数据永不被 update 触碰:memorys/ 与 tmps/ 只在安装时创建
  • 前端无关:不引入 YAML 头、特定工具名等任一端专属格式(见 write-skill 技能)
  • 可校验:update --check 可接入各项目 CI,发现规则漂移

开发

uv sync --extra dev
uv run agent-kit list                  # 从源码运行 CLI
uv run pre-commit install              # 可选:每次提交自动运行质量门
uv run pre-commit run --all-files      # 全量本地质量门

质量门由 .pre-commit-config.yaml 定义(ruff / pyright / interrogate / 覆盖率); 其中 agent-kit-check 钩子校验受管文件(AGENT.md、.agents/)必须与模板渲染 结果一致——直接修改受管文件或改动模板后忘记 update 都会被阻止提交。

CI(.github/workflows/test.yml)在三个平台 × Python 3.12/3.13/3.14 上运行相同 质量门;推送 v* 标签触发 .github/workflows/publish.yml 构建并发布到 PyPI (Trusted Publisher,需先在 PyPI 注册受信发布者)。

License

MIT

Part of InfinitySystem

icon

Metadata

Release files for infinity-agent-kit 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for infinity-agent-kit 1.0.0
File Size Uploaded
infinity_agent_kit-1.0.0.tar.gz 24.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for infinity-agent-kit 1.0.0
File Interpreter ABI Platform
infinity_agent_kit-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 57.6 kB

Release files / infinity_agent_kit-1.0.0.tar.gz

Download URL infinity_agent_kit-1.0.0.tar.gz
Size 24.7 kB
Tags Source
SHA-256 checksum
How to use checksums
f6e1b7a2f66bcb0472b22148ac8f374657bcb22cbfa541f674d6bad1be1edbb3
BLAKE2b-256 checksum
How to use checksums
2b82d1ad00a4c021a61180dae48806d600090aa652037fab985333a26f4e2714
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / infinity_agent_kit-1.0.0-py3-none-any.whl

Download URL infinity_agent_kit-1.0.0-py3-none-any.whl
Size 32.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
946f409699c91b023b3a5297d656c4baf0d6f8078cbf87e4452f7f4d7c1a5c69
BLAKE2b-256 checksum
How to use checksums
28e10a26fee6fd241d96ff293243736cda2da192129e1ae51b29c7a6e10f2ac9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.13.0 {"installer":{"name":"uv","version":"0.13.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page