@sakanano-moe/agenthelm 6.5.3 → 6.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -0
- package/README.zh-CN.md +28 -0
- package/bin/agenthelm.js +1 -1
- package/package.json +2 -2
- package/runtime/index.json +80 -0
- package/runtime/plugins/agent-pack/.codex-plugin/plugin.json +26 -0
- package/runtime/plugins/agent-pack/.mcp.json +12 -0
- package/runtime/plugins/agent-pack/hooks/hooks.json +16 -0
- package/runtime/plugins/agent-pack/mcp.json +14 -0
- package/runtime/plugins/agent-pack/plugin.json +20 -0
- package/runtime/plugins/agent-pack/references/capability-config.md +148 -0
- package/runtime/plugins/agent-pack/runtime/agent_pack_claude.py +448 -0
- package/runtime/{agent_pack_config.py → plugins/agent-pack/runtime/agent_pack_config.py} +178 -22
- package/runtime/{agenthelm.py → plugins/agent-pack/runtime/agenthelm.py} +42 -1
- package/runtime/plugins/agent-pack/runtime/agenthelm_runtime.py +388 -0
- package/runtime/{mcp_server.py → plugins/agent-pack/runtime/mcp_server.py} +30 -8
- package/runtime/plugins/agent-pack/skills/agent-pack/SKILL.md +46 -0
- package/runtime/plugins/agents-init/.codex-plugin/plugin.json +22 -0
- package/runtime/plugins/agents-init/content.json +31 -0
- package/runtime/plugins/agents-init/plugin.json +19 -0
- package/runtime/plugins/agents-init/skills/agents-init/AGENT.template.md +376 -0
- package/runtime/plugins/agents-init/skills/agents-init/SKILL.md +119 -0
- package/runtime/plugins/agents-init/skills/agents-init/index.html +357 -0
- package/runtime/plugins/agents-init/skills/agents-init/launcher.sh +93 -0
- package/runtime/plugins/agents-init/skills/agents-init/project.schema.json +171 -0
- package/runtime/plugins/agents-init/skills/agents-init/scripts/init_project.py +1190 -0
- package/runtime/plugins/agents-init/skills/agents-init/scripts/test_init_project.py +678 -0
- package/runtime/plugins/agents-init/skills/agents-init/skill.json +122 -0
- package/runtime/plugins/opinion-manager/.codex-plugin/plugin.json +26 -0
- package/runtime/plugins/opinion-manager/catalog/README.md +15 -0
- package/runtime/plugins/opinion-manager/catalog/rules/.gitkeep +0 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.align-requirements/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.assumptions-authority/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.batch-questions/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.bilingual-terms/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.calculations/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.chinese-response/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.clean-deliverable/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.complete-options/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.conclusion-first/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.concrete-titles/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.consistent-items/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.device-readable/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.editable-diagrams/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.evidence-inference/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.maintenance-chinese/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.maintenance-project-language/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.markdown-structure/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.portable-files/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.report-context/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.report-formats/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.report-review/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.response-brief/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.response-dense/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.rules-tools/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.semantic-wrap/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.solutions-proportional/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.solutions-three-level/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.tables-compact/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.tables-list-first/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.test-evidence/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/rules/om.versioned-files/versions/1.0.0.json +11 -0
- package/runtime/plugins/opinion-manager/catalog/templates/.gitkeep +0 -0
- package/runtime/plugins/opinion-manager/catalog/templates/delivery-standard/compact-tables/versions/1.0.0.json +21 -0
- package/runtime/plugins/opinion-manager/catalog/templates/delivery-standard/list-first/versions/1.0.0.json +21 -0
- package/runtime/plugins/opinion-manager/catalog/templates/development-standard/chinese-maintenance/versions/1.0.0.json +15 -0
- package/runtime/plugins/opinion-manager/catalog/templates/development-standard/project-language/versions/1.0.0.json +15 -0
- package/runtime/plugins/opinion-manager/catalog/templates/response-style/brief-chinese/versions/1.0.0.json +19 -0
- package/runtime/plugins/opinion-manager/catalog/templates/response-style/dense-chinese/versions/1.0.0.json +19 -0
- package/runtime/plugins/opinion-manager/catalog/templates/scenario/concise-project/versions/1.0.0.json +39 -0
- package/runtime/plugins/opinion-manager/catalog/templates/scenario/reviewed-project/versions/1.0.0.json +39 -0
- package/runtime/plugins/opinion-manager/catalog/templates/work-method/proportional/versions/1.0.0.json +20 -0
- package/runtime/plugins/opinion-manager/catalog/templates/work-method/three-level/versions/1.0.0.json +20 -0
- package/runtime/plugins/opinion-manager/content.json +63 -0
- package/runtime/plugins/opinion-manager/plugin.json +18 -0
- package/runtime/plugins/opinion-manager/references/lock.schema.json +14 -0
- package/runtime/plugins/opinion-manager/references/onboarding.md +57 -0
- package/runtime/plugins/opinion-manager/references/profile.schema.json +56 -0
- package/runtime/plugins/opinion-manager/references/rule.schema.json +16 -0
- package/runtime/plugins/opinion-manager/references/template.schema.json +71 -0
- package/runtime/plugins/opinion-manager/references/versioned-template.schema.json +19 -0
- package/runtime/plugins/opinion-manager/references/versioning.md +263 -0
- package/runtime/plugins/opinion-manager/runtime/constants.py +7 -0
- package/runtime/plugins/opinion-manager/runtime/context.py +180 -0
- package/runtime/plugins/opinion-manager/runtime/lifecycle.py +395 -0
- package/runtime/plugins/opinion-manager/runtime/opinion_manager.py +419 -0
- package/runtime/plugins/opinion-manager/runtime/versioned.py +705 -0
- package/runtime/plugins/opinion-manager/skills/opinion-manager/SKILL.md +62 -0
- package/runtime/plugins/opinion-manager/skills/opinion-manager/agents/openai.yaml +4 -0
- package/runtime/plugins/opinion-manager/templates/.gitkeep +1 -0
- package/runtime/plugins/project-orchestrator/.codex-plugin/plugin.json +24 -0
- package/runtime/plugins/project-orchestrator/content.json +37 -0
- package/runtime/plugins/project-orchestrator/plugin.json +19 -0
- package/runtime/plugins/project-orchestrator/references/asset-synonyms.example.json +8 -0
- package/runtime/plugins/project-orchestrator/references/case-workspaces.md +159 -0
- package/runtime/plugins/project-orchestrator/references/case.schema.json +31 -0
- package/runtime/plugins/project-orchestrator/runtime/assets.py +1288 -0
- package/runtime/plugins/project-orchestrator/runtime/case.py +557 -0
- package/runtime/plugins/project-orchestrator/runtime/case_workspace.py +350 -0
- package/runtime/plugins/project-orchestrator/runtime/memory.py +363 -0
- package/runtime/plugins/project-orchestrator/runtime/project_base.py +107 -0
- package/runtime/plugins/project-orchestrator/runtime/project_cli.py +599 -0
- package/runtime/plugins/project-orchestrator/runtime/project_demo.py +504 -0
- package/runtime/plugins/project-orchestrator/runtime/project_maintain.py +470 -0
- package/runtime/plugins/project-orchestrator/runtime/project_menu.py +394 -0
- package/runtime/plugins/project-orchestrator/runtime/project_real.py +522 -0
- package/runtime/plugins/project-orchestrator/runtime/project_write.py +329 -0
- package/runtime/plugins/project-orchestrator/runtime/wf.py +439 -0
- package/runtime/plugins/project-orchestrator/skills/project-orchestrator/SKILL.md +230 -0
- package/runtime/plugins/project-orchestrator/skills/project-orchestrator/agents/openai.yaml +4 -0
- package/runtime/plugins/project-orchestrator/templates/CASE.md +39 -0
- /package/runtime/{mcp_env_launcher.py → plugins/agent-pack/runtime/mcp_env_launcher.py} +0 -0
package/README.md
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# @sakanano-moe/agenthelm
|
|
2
|
+
|
|
3
|
+
**English** · [简体中文](https://github.com/lc4t/agenthelm/blob/main/packages/cli/README.zh-CN.md)
|
|
4
|
+
|
|
5
|
+
The command line for [agenthelm](https://github.com/lc4t/agenthelm), a set of cross-agent project management plugins for Claude Code, Codex and Cursor: **agents-init** (project contract), **project-orchestrator** (project lifecycle), **agent-pack** (Plugin / Skill / MCP management) and **opinion-manager** (Agent behavior rules).
|
|
6
|
+
|
|
7
|
+
> The interface and the Skills are currently written in Chinese. An English interface is planned for a later release.
|
|
8
|
+
|
|
9
|
+
## What it does
|
|
10
|
+
|
|
11
|
+
- **Install, check and update the plugins** through each client's own marketplace. Every write previews first; add `--apply` to run it.
|
|
12
|
+
- **User-level runtime**: install the deterministic tools once into `~/.local/share/agenthelm/`. After that, project launchers work without npx, without network access and without any AI client.
|
|
13
|
+
- **Project menu without an AI agent**: `agenthelm project` (or the project's root launcher, `./menu` by default) finds files, shows progress, explains the project, checks and maintains it, and records work items. It never calls a model.
|
|
14
|
+
|
|
15
|
+
## Requirements
|
|
16
|
+
|
|
17
|
+
- Python 3.11 or later
|
|
18
|
+
- Node.js 18 or later (only for `npx`)
|
|
19
|
+
- Verified on macOS and Linux. The runtime commands do not support Windows.
|
|
20
|
+
|
|
21
|
+
## Quick start
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npx @sakanano-moe/agenthelm install # preview installing the plugins into detected clients
|
|
25
|
+
npx @sakanano-moe/agenthelm install --apply
|
|
26
|
+
npx @sakanano-moe/agenthelm runtime install --apply # once: the user-level runtime
|
|
27
|
+
npx @sakanano-moe/agenthelm project --demo study # try the project menu on a fictional project
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
In an initialized project:
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
./menu # interactive menu
|
|
34
|
+
./menu find notes 2026-10 # find files by keyword and date
|
|
35
|
+
./menu progress # items grouped by status
|
|
36
|
+
./menu health # checks, each with its reason, impact and next step
|
|
37
|
+
./menu --help
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Add `--output json` to any subcommand for scripts and agents. Commands never wait for input when they are not in a terminal. Exit codes: 0 success, 1 nothing found or something must be handled, 2 usage error, 3 runtime missing or incompatible, 4 capability unavailable, 5 write conflict, 6 execution failed.
|
|
41
|
+
|
|
42
|
+
## Offline
|
|
43
|
+
|
|
44
|
+
Download `agenthelm-v<version>.tar.gz` from [GitHub Releases](https://github.com/lc4t/agenthelm/releases), extract it, then run:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
python3 <extracted>/plugins/agent-pack/runtime/agenthelm.py runtime install --apply
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
Without network access you can still find files, see progress, read the guide and run local checks. Update checks use the cached version information and show when it was fetched.
|
|
51
|
+
|
|
52
|
+
## Check and update
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
npx @sakanano-moe/agenthelm check # read-only: plugins, project templates and Opinion
|
|
56
|
+
npx @sakanano-moe/agenthelm update # preview
|
|
57
|
+
npx @sakanano-moe/agenthelm update --apply
|
|
58
|
+
agenthelm runtime update --apply # new runtime beside the old one
|
|
59
|
+
agenthelm runtime use <version> --apply # switch back
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Links
|
|
63
|
+
|
|
64
|
+
- Repository and full documentation: https://github.com/lc4t/agenthelm
|
|
65
|
+
- Site and version source: https://agenthelm.sakanano.moe/
|
|
66
|
+
- Changes: [CHANGELOG.md](https://github.com/lc4t/agenthelm/blob/main/CHANGELOG.md) · Migration: [MIGRATION.md](https://github.com/lc4t/agenthelm/blob/main/MIGRATION.md)
|
|
67
|
+
|
|
68
|
+
License: MIT
|
package/README.zh-CN.md
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# @sakanano-moe/agenthelm
|
|
2
|
+
|
|
3
|
+
[English](https://github.com/lc4t/agenthelm/blob/main/packages/cli/README.md) · **简体中文**
|
|
4
|
+
|
|
5
|
+
[agenthelm](https://github.com/lc4t/agenthelm) 的命令行。agenthelm 是跨 Agent 的项目管理插件集,适用于 Claude Code、Codex 与 Cursor,包含四个插件:agents-init(项目契约)、project-orchestrator(项目生命周期)、agent-pack(Plugin / Skill / MCP 管理)和 opinion-manager(Agent 行为规则)。
|
|
6
|
+
|
|
7
|
+
- **安装、检查与更新插件**:经各客户端自己的市场完成。写操作默认只预览,加 `--apply` 才执行。
|
|
8
|
+
- **用户级运行时**:一次 `npx @sakanano-moe/agenthelm runtime install --apply`,之后项目启动器打开菜单不联网、不经过 npx,也不需要 AI 客户端。
|
|
9
|
+
- **不需要 AI Agent 的项目菜单**:`agenthelm project` 或项目根目录的 `./menu`,用来找资料、看进展、读项目指南、检查与维护、记录事项,全程不调用模型。
|
|
10
|
+
|
|
11
|
+
需要 Python 3.11+(使用 npx 时另需 Node.js 18+)。只在 macOS 与 Linux 上验证过。离线时,从 GitHub Releases 下载发布包,解压后运行 `python3 <解压目录>/plugins/agent-pack/runtime/agenthelm.py runtime install --apply`。完整中文说明见仓库的 [README](https://github.com/lc4t/agenthelm#readme) 与 [INSTALL.md](https://github.com/lc4t/agenthelm/blob/main/INSTALL.md)。
|
|
12
|
+
|
|
13
|
+
## 常用命令
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx @sakanano-moe/agenthelm install # 预览:安装插件到检测到的客户端
|
|
17
|
+
npx @sakanano-moe/agenthelm install --apply
|
|
18
|
+
npx @sakanano-moe/agenthelm runtime install --apply # 只需一次:用户级运行时
|
|
19
|
+
npx @sakanano-moe/agenthelm project --demo study # 用虚构项目体验项目菜单
|
|
20
|
+
./menu # 在已初始化的项目里打开菜单
|
|
21
|
+
./menu find 笔记 2026-10 # 不进菜单:直接查;--output json 给脚本用
|
|
22
|
+
npx @sakanano-moe/agenthelm check # 只读:插件、项目模板与 Opinion 是否落后
|
|
23
|
+
npx @sakanano-moe/agenthelm update --apply # 更新(先不加 --apply 预览)
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
退出码:0 成功;1 没有结果或有必须处理的项;2 用法错误;3 运行时缺失或不兼容;4 能力不可用;5 写入冲突;6 执行失败。
|
|
27
|
+
|
|
28
|
+
许可证:MIT
|
package/bin/agenthelm.js
CHANGED
|
@@ -5,7 +5,7 @@ const { spawnSync } = require("node:child_process");
|
|
|
5
5
|
const { existsSync } = require("node:fs");
|
|
6
6
|
const { join } = require("node:path");
|
|
7
7
|
|
|
8
|
-
const script = join(__dirname, "..", "runtime", "agenthelm.py");
|
|
8
|
+
const script = join(__dirname, "..", "runtime", "plugins", "agent-pack", "runtime", "agenthelm.py");
|
|
9
9
|
if (!existsSync(script)) {
|
|
10
10
|
console.error("agenthelm: runtime is missing from this package; reinstall @sakanano-moe/agenthelm.");
|
|
11
11
|
process.exit(2);
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sakanano-moe/agenthelm",
|
|
3
|
-
"version": "6.
|
|
4
|
-
"description": "agenthelm
|
|
3
|
+
"version": "6.7.0",
|
|
4
|
+
"description": "agenthelm CLI: install, check and update the agenthelm plugins for Claude Code, Codex and Cursor; a user-level runtime; and a project menu that works without any AI agent.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
7
7
|
"agenthelm": "bin/agenthelm.js"
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"site": {
|
|
3
|
+
"id": "agenthelm",
|
|
4
|
+
"name": "agenthelm",
|
|
5
|
+
"description": "Cross-agent project management plugins: project contract, lifecycle, extension capabilities and behavior rules. 跨 Agent 的项目管理插件集。",
|
|
6
|
+
"version": "0.7.0",
|
|
7
|
+
"updated_at": "2026-10-25",
|
|
8
|
+
"homepage": "./index.html",
|
|
9
|
+
"domain": "agenthelm.sakanano.moe",
|
|
10
|
+
"legacy_domain": "skill.sakanano.moe"
|
|
11
|
+
},
|
|
12
|
+
"plugin": {
|
|
13
|
+
"manifest": "./plugins/agents-init/plugin.json",
|
|
14
|
+
"version": "6.7.0",
|
|
15
|
+
"install_unit": "marketplace",
|
|
16
|
+
"bundled_plugins": [
|
|
17
|
+
"./plugins/project-orchestrator/plugin.json",
|
|
18
|
+
"./plugins/agent-pack/plugin.json",
|
|
19
|
+
"./plugins/opinion-manager/plugin.json"
|
|
20
|
+
],
|
|
21
|
+
"agent_install": "./INSTALL.md",
|
|
22
|
+
"llms": "./llms.txt",
|
|
23
|
+
"bootstrap_and_init": "./scripts/bootstrap_and_init.py",
|
|
24
|
+
"marketplace": "./.claude-plugin/marketplace.json",
|
|
25
|
+
"latest": "./latest.json",
|
|
26
|
+
"cli": "npx @sakanano-moe/agenthelm"
|
|
27
|
+
},
|
|
28
|
+
"skills": [
|
|
29
|
+
{
|
|
30
|
+
"id": "agents-init",
|
|
31
|
+
"name": "agents-init v6 / Project Profile initialization and migration",
|
|
32
|
+
"description": "Create or migrate the project skeleton and root launcher; checks that project-orchestrator, agent-pack and opinion-manager from the same release are present before writing.",
|
|
33
|
+
"version": "6.6.1",
|
|
34
|
+
"status": "stable",
|
|
35
|
+
"entrypoints": {
|
|
36
|
+
"browser": "./plugins/agents-init/skills/agents-init/index.html",
|
|
37
|
+
"agent": "./plugins/agents-init/skills/agents-init/SKILL.md",
|
|
38
|
+
"metadata": "./plugins/agents-init/skills/agents-init/skill.json",
|
|
39
|
+
"template": "./plugins/agents-init/skills/agents-init/AGENT.template.md"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"id": "project-orchestrator",
|
|
44
|
+
"name": "project-orchestrator / project lifecycle orchestration",
|
|
45
|
+
"description": "Organizes Case workspaces or keeps existing Task/Case layouts; search, lossless migration, verification, scoped Git delivery, and a project menu that works without any AI agent.",
|
|
46
|
+
"version": "1.8.1",
|
|
47
|
+
"status": "stable",
|
|
48
|
+
"entrypoints": {
|
|
49
|
+
"agent": "./plugins/project-orchestrator/skills/project-orchestrator/SKILL.md",
|
|
50
|
+
"metadata": "./plugins/project-orchestrator/plugin.json",
|
|
51
|
+
"runtime": "./plugins/project-orchestrator/runtime/project_cli.py"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"id": "agent-pack",
|
|
56
|
+
"name": "agent-pack / Agent extension capability management",
|
|
57
|
+
"description": "Inventory, verify, install, sync, migrate and reconcile Plugins, Skills and MCP between projects and Codex / Cursor / Claude; the agenthelm command line and user-level runtime.",
|
|
58
|
+
"version": "1.8.0",
|
|
59
|
+
"status": "stable",
|
|
60
|
+
"entrypoints": {
|
|
61
|
+
"agent": "./plugins/agent-pack/skills/agent-pack/SKILL.md",
|
|
62
|
+
"metadata": "./plugins/agent-pack/plugin.json",
|
|
63
|
+
"mcp": "./plugins/agent-pack/mcp.json",
|
|
64
|
+
"reference": "./plugins/agent-pack/references/capability-config.md"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"id": "opinion-manager",
|
|
69
|
+
"name": "opinion-manager / Agent behavior rule management",
|
|
70
|
+
"description": "Three first-run entry points plus optional memory candidates; one content confirmation, then Profile, body and lock are saved separately, with exact versions and protection of personal edits.",
|
|
71
|
+
"version": "0.4.2",
|
|
72
|
+
"status": "experimental",
|
|
73
|
+
"entrypoints": {
|
|
74
|
+
"agent": "./plugins/opinion-manager/skills/opinion-manager/SKILL.md",
|
|
75
|
+
"metadata": "./plugins/opinion-manager/plugin.json",
|
|
76
|
+
"runtime": "./plugins/opinion-manager/runtime/opinion_manager.py"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agent-pack",
|
|
3
|
+
"version": "1.8.0",
|
|
4
|
+
"description": "Deterministic Agent-extension capability management for configured workspaces.",
|
|
5
|
+
"author": {
|
|
6
|
+
"name": "lc4t"
|
|
7
|
+
},
|
|
8
|
+
"skills": "./skills/",
|
|
9
|
+
"mcpServers": "./.mcp.json",
|
|
10
|
+
"interface": {
|
|
11
|
+
"displayName": "Agent Pack",
|
|
12
|
+
"shortDescription": "Inventory, verify, install, sync and migrate Agent Plugins, Skills and MCP servers",
|
|
13
|
+
"longDescription": "Deterministic Agent-extension capability manager: inventory / doctor / bootstrap / sync / transfer / reconcile across projects, plugin directories and Codex / Cursor clients. Writes default to dry-run; name clashes and MCP entries that contain secrets fail closed. The project lifecycle (Task/Case/routing/verification/Git) belongs to project-orchestrator, not this plugin. Also ships the agenthelm command line and the user-level runtime. 中文:确定性的 Agent 扩展能力管理器:在项目、插件目录与 Codex / Cursor 客户端之间 inventory / doctor / bootstrap / sync / transfer / reconcile。所有写操作默认 dry-run,重名与含密钥的 MCP 条目失败关闭。项目生命周期(Task/Case/路由/验证/Git)由 project-orchestrator 承担,不在本包内。",
|
|
14
|
+
"developerName": "lc4t",
|
|
15
|
+
"category": "Developer Tools",
|
|
16
|
+
"capabilities": [
|
|
17
|
+
"capability-inventory",
|
|
18
|
+
"capability-doctor",
|
|
19
|
+
"plugin-bootstrap",
|
|
20
|
+
"client-sync",
|
|
21
|
+
"skill-transfer",
|
|
22
|
+
"capability-reconcile"
|
|
23
|
+
],
|
|
24
|
+
"defaultPrompt": "Use $agent-pack to inventory this project's Agent Plugins, Skills, and MCP servers and report drift against the declared contract."
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"hooks": {
|
|
3
|
+
"SessionStart": [
|
|
4
|
+
{
|
|
5
|
+
"matcher": "startup",
|
|
6
|
+
"hooks": [
|
|
7
|
+
{
|
|
8
|
+
"type": "command",
|
|
9
|
+
"command": "python3 \"${CLAUDE_PLUGIN_ROOT}/runtime/agenthelm.py\" check --hook --hook-format claude-hook",
|
|
10
|
+
"timeout": 10
|
|
11
|
+
}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
]
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/mcp.schema.json",
|
|
3
|
+
"mcpServers": {
|
|
4
|
+
"agent-pack": {
|
|
5
|
+
"type": "stdio",
|
|
6
|
+
"command": "python3",
|
|
7
|
+
"args": ["${PLUGIN_ROOT}/runtime/mcp_server.py"],
|
|
8
|
+
"env": {
|
|
9
|
+
"PYTHONPATH": "${PLUGIN_ROOT}/runtime"
|
|
10
|
+
},
|
|
11
|
+
"cwd": "${PLUGIN_ROOT}"
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
|
|
3
|
+
"name": "agent-pack",
|
|
4
|
+
"version": "1.8.0",
|
|
5
|
+
"description": "Deterministic Agent-extension capability management: inventory, doctor, bootstrap, sync, transfer, and reconcile Agent Plugins / Skills / MCP servers across Codex, Cursor, Claude Code, and project sources. Ships a stdio MCP.",
|
|
6
|
+
"author": {
|
|
7
|
+
"name": "lc4t"
|
|
8
|
+
},
|
|
9
|
+
"repository": "https://github.com/lc4t/agenthelm",
|
|
10
|
+
"license": "MIT",
|
|
11
|
+
"keywords": [
|
|
12
|
+
"agent-pack",
|
|
13
|
+
"agent-plugins",
|
|
14
|
+
"mcp",
|
|
15
|
+
"capability-management",
|
|
16
|
+
"inventory",
|
|
17
|
+
"doctor",
|
|
18
|
+
"bootstrap"
|
|
19
|
+
]
|
|
20
|
+
}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Agent 能力配置
|
|
2
|
+
|
|
3
|
+
仅在盘点、迁移、同步或验证 Agent Plugin、Skill、MCP 时读取本参考。
|
|
4
|
+
|
|
5
|
+
## 可移植项目结构
|
|
6
|
+
|
|
7
|
+
`agents-init v5` 创建以下能力包:
|
|
8
|
+
|
|
9
|
+
```text
|
|
10
|
+
.agents/
|
|
11
|
+
├── plugin.json
|
|
12
|
+
├── skills/
|
|
13
|
+
├── mcp.json
|
|
14
|
+
└── moe.sakanano.agent-pack/
|
|
15
|
+
└── project.json
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
- `plugin.json` 与 `mcp.json` 面向 Agent Plugins 1.0.0。
|
|
19
|
+
- `skills/` 的直接子目录包含 `SKILL.md`。
|
|
20
|
+
- `project.json` 是客户端扩展,也是机器可读的 Project Profile。
|
|
21
|
+
- 个人偏好和凭据禁止进入可移植公开模板。
|
|
22
|
+
|
|
23
|
+
## CLI
|
|
24
|
+
|
|
25
|
+
从已加载 Skill 解析插件根目录,再运行:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json inventory --source project:/path/to/project
|
|
29
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json inventory --source client:codex
|
|
30
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json inventory --source client:cursor
|
|
31
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json inventory --source client:claude
|
|
32
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json doctor --project /path/to/project
|
|
33
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json doctor --project /path/to/project \
|
|
34
|
+
--client claude --client codex
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
`doctor --client <客户端>`(可重复)在项目检查之外,再把该客户端装的东西和项目权威比一遍,结果放在 `clients.<客户端>`:
|
|
38
|
+
|
|
39
|
+
- `missing`:项目有、客户端没有;`different`:内容不同;`stale`:本包装过、项目里已经没有;`dangling`:链接或 MCP 参数指向不存在的文件;
|
|
40
|
+
- `coupled`:Claude 的安装记录指向别的客户端的包目录(例如 Codex 包);
|
|
41
|
+
- `overrides`:只是本机多了或改了认证类值(`headers` / `env`),只报键名,不算问题;
|
|
42
|
+
- `native`:用户自己配置、不属于本包的条目,只列出;`excluded`:被 `mcp_client_policy` 排除的条目。
|
|
43
|
+
|
|
44
|
+
前四类和 `coupled` 计入 `issues`,`overrides` 计入 `warnings`。不加 `--client` 时行为与以前相同。
|
|
45
|
+
|
|
46
|
+
runtime 尚未安装时,bootstrap 包含本 Skill 的插件:
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
python3 /path/to/agent-pack/runtime/agent_pack_config.py --output json bootstrap \
|
|
50
|
+
--plugin /path/to/agent-pack --client codex
|
|
51
|
+
python3 /path/to/agent-pack/runtime/agent_pack_config.py --output json bootstrap \
|
|
52
|
+
--plugin /path/to/agent-pack --client codex --apply
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`--client` 可取 `codex`、`cursor`、`claude`。Claude Code 没有 Agent Plugins 加载器,`bootstrap --client claude` 把插件投影成它实际读取的三处:
|
|
56
|
+
|
|
57
|
+
- `~/.claude/skills/<skill>` → 源插件 `skills/<skill>` 的符号链接;
|
|
58
|
+
- `~/.claude/agent-pack/plugins/<name>` → 源插件根目录的符号链接(安装记录,`inventory --source client:claude` 从这里读已安装版本);
|
|
59
|
+
- 插件 `mcp.json` 中每个 server 写入 `~/.claude.json#mcpServers`(user scope):`${PLUGIN_ROOT}` 展开为安装记录路径,`streamable-http` 映射为 `http`,丢弃 Claude 不支持的 `cwd`;其他 `${VAR}` 原样保留,由 Claude 启动时从进程环境展开。写入保留文件原权限。
|
|
60
|
+
|
|
61
|
+
`bootstrap` 在 Claude 端是**活链接**,不固定副本:源目录改动立即生效,版本即源 `plugin.json#version`。
|
|
62
|
+
|
|
63
|
+
- `--skill <名称>` / `--mcp <名称>`(可重复)只处理选中的组件。安装记录仍会建立,因为 MCP 参数要经过它。
|
|
64
|
+
- 本机条目与插件版本只差认证类值(`headers` / `env` 里插件没有的键、占位符或凭据类键)时,判为 `keep-override` 并保留本机值;还有其他不同时需要 `--replace`,替换后同样保留本机认证。加 `--reset-overrides` 才丢弃本机值。结果只列出保留的键名(`kept_overrides`),不输出值。
|
|
65
|
+
- 旧内容进入 `~/.agent-pack/recovery/<stamp>-claude-<name>/`(`replaced-skills/`、`replaced-plugins/`、`replaced-mcp.json`,后者权限 `0600`)。装完需重启 Claude Code 才会加载新 Skill / MCP。
|
|
66
|
+
|
|
67
|
+
**项目同步到 Claude 用 `sync` / `reconcile --client claude`**,不要用 `bootstrap` 指向别的客户端的包:
|
|
68
|
+
|
|
69
|
+
- 按项目和 Claude 的 `mcp_client_policy` 单独生成一份包,放在 `~/.claude/agent-pack/packages/<name>/`;安装记录 `~/.claude/agent-pack/plugins/<name>` 改为指向它;Skill 链接与 MCP 条目都指向这份包。
|
|
70
|
+
- `~/.claude/agent-pack/state/<name>.json` 记下本包装进 Claude 的 Skill 与 MCP。项目里新增的会加上,改了的会更新,删掉或被策略排除的会移除;**只动清单里的条目**,用户自己配置的条目从不改动。
|
|
71
|
+
- 与用户自己的同名条目冲突时停止,加 `--replace` 才替换(旧内容进恢复目录)。本机认证默认保留,`--reset-overrides` 丢弃。
|
|
72
|
+
- 安装记录原来指向别的目录(旧做法:`bootstrap --plugin ~/.agents/plugins/plugins/<name> --client claude`)时,第一次同步自动迁移:旧记录指向写入恢复目录的 `record.json`,指向旧目录的 Skill 链接改为指向新包。此后 Codex 端的包怎么变、是否删除,都不影响 Claude。
|
|
73
|
+
- 默认只预览;`--apply` 时整笔操作写入同一个恢复目录,任一步失败全部回滚。
|
|
74
|
+
|
|
75
|
+
在来源与已初始化项目之间迁移选中的组件:
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
# 预演
|
|
79
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json transfer \
|
|
80
|
+
--from client:codex --to-project /path/to/project --skill example-skill
|
|
81
|
+
|
|
82
|
+
# 审阅预演结果后再应用
|
|
83
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json transfer \
|
|
84
|
+
--from project:/path/to/source --to-project /path/to/destination \
|
|
85
|
+
--skill example-skill --mcp example-server --apply
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
为客户端构建并安装项目的可移植能力:
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# 预演(--client 可取 codex、cursor、claude)
|
|
92
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json sync \
|
|
93
|
+
--project /path/to/project --client cursor
|
|
94
|
+
|
|
95
|
+
# 获得授权后应用
|
|
96
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json sync \
|
|
97
|
+
--project /path/to/project --client cursor --apply
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
迁移时使用 `reconcile` 分类目标,并归档明确选择的旧组件。默认只生成只读计划:
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json reconcile \
|
|
104
|
+
--project /path/to/project --client cursor \
|
|
105
|
+
--retire-skill old-helper --retire-skill legacy-sync
|
|
106
|
+
|
|
107
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json reconcile \
|
|
108
|
+
--project /path/to/project --client cursor \
|
|
109
|
+
--retire-skill old-helper --retire-skill legacy-sync --apply
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
只退役旧组件、不安装或替换项目包时加 `--retire-only`(至少需要一个 `--retire-skill` / `--retire-plugin`):
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
python3 <plugin-root>/runtime/agent_pack_config.py --output json reconcile \
|
|
116
|
+
--project /path/to/project --client cursor --retire-plugin project-runtime --retire-only --apply
|
|
117
|
+
```
|
|
118
|
+
|
|
119
|
+
结果把组件分为 `exact`、`conflict`、`missing`、`native_only` 与 `blocked`。替换包和明确退役的组件移动到 `~/.agent-pack/recovery/`;事务失败时自动恢复。
|
|
120
|
+
|
|
121
|
+
Codex 同步会写入 `~/.agents/plugins/plugins/<name>` 可移植包、`.codex-plugin` adapter 与 `~/.agents/plugins/marketplace.json` 的 `personal` 条目。之后需在 Codex 桌面版的插件设置里启用 / 重新同步 `<name>@personal`(并确认 `~/.codex/config.toml` 有 `[plugins."<name>@personal"] enabled = true`)来激活;同步只更新 marketplace 源,Codex 自身缓存 `~/.codex/plugins/cache/personal/` 要到下次激活或重启才追平。homebrew 版 `codex-cli` 无 `codex plugin` 子命令,`plugin` / `marketplace` 命令与 UI 随 Codex 版本变化,以当前 Codex 文档为准。Cursor 同步会在本地插件根目录安装真实的 Agent Plugin 目录。
|
|
122
|
+
|
|
123
|
+
## MCP Tool
|
|
124
|
+
|
|
125
|
+
随附的 stdio server 暴露以下 Tool:
|
|
126
|
+
|
|
127
|
+
- `agent_pack_inventory`
|
|
128
|
+
- `agent_pack_doctor`
|
|
129
|
+
- `agent_pack_transfer`
|
|
130
|
+
- `agent_pack_sync`
|
|
131
|
+
- `agent_pack_bootstrap`
|
|
132
|
+
- `agent_pack_reconcile`
|
|
133
|
+
|
|
134
|
+
所有会修改状态的 MCP Tool 默认使用 `apply=false`。必须先展示并审阅操作计划,才能使用 `apply=true` 重试。
|
|
135
|
+
|
|
136
|
+
## 安全与碰撞规则
|
|
137
|
+
|
|
138
|
+
- 禁止把原生客户端 MCP 配置中的凭据复制进可移植包。
|
|
139
|
+
- 拒绝包含疑似密钥环境变量、header 或 token 字面值的 MCP 条目。
|
|
140
|
+
- 迁移期间禁止跟随指向来源 Skill 目录之外的 symlink。
|
|
141
|
+
- 禁止静默覆盖现有 Skill、MCP 名称、Agent Plugin、客户端包或 marketplace 条目。
|
|
142
|
+
- 在 `native_mcp_sources` 中声明历史或客户端专属 MCP 文件。可移植条目成为打包候选;包含密钥的条目保持为 `blocked`/doctor warning,并留在客户端本地。
|
|
143
|
+
- 原生 MCP 来源可以使用 `__PROJECT_DIR__` 与 `__REPO_ROOT__`;源文件保留占位符,生成客户端包时解析为当前本地项目路径。
|
|
144
|
+
- 把 `credential_env_file` 设置为项目相对路径的 dotenv 文件,权限必须为 `0600`。生成包只保存 `${VAR}` 引用;本地 launcher 在 MCP 启动时读取值,禁止复制进 Git 或插件 manifest。
|
|
145
|
+
- 使用 `mcp_client_policy.<server>.include` 或 `.exclude` 完成客户端路由(`codex`、`cursor`、`claude` 各自生效)。禁止在 MCP 定义中放入 adapter 专属 `_skip` 字段。
|
|
146
|
+
- 客户端里本机才有的认证值(例如远程 MCP 的 `headers.Authorization`)不进入项目;同步与 bootstrap 默认保留它们,`--reset-overrides` 才丢弃。
|
|
147
|
+
- `${PLUGIN_ROOT}` 用于不可变包文件,`${PLUGIN_DATA}` 用于客户端管理的可写状态。
|
|
148
|
+
- 客户端原生 adapter 只在安装阶段使用;Agent Plugins 1.0 文件保持权威源地位。
|