主 Pi
openai-codex/gpt-5.5
默认 thinkingLevel: high。负责架构判断、调度、review、planning。
Stanley 的个人 Pi 编码助手配置仓库。基于 pi-coding-agent,采用「配置即代码」:改仓库即改活配置,通过 bootstrap symlink 到 ~/.pi/agent/。
openai-codex/gpt-5.5
默认 thinkingLevel: high。负责架构判断、调度、review、planning。
cursor/composer-2.5
统一用于 project-worker、composer-implementer 等实现型 agent,在 isolated worktree 中写代码。
主 Pi(gpt-5.5 high) → 调度 / 规划 / 严格 review
Subagent(Composer) → isolated worktree 实现 + commit + push + MR
本地路径:/Users/admin/Workspace/projects/rick-agent
git clone git@github.com:swiftwind0405/rick-agent.git ~/Workspace/projects/rick-agent
cd ~/Workspace/projects/rick-agent
./scripts/bootstrap.sh
bootstrap 做什么:
~/.pi/agent/、~/.config/rpiv-web-tools/pi/settings.json、models.json、skills、agents、extensionsconfig.example.json → ~/.config/rpiv-web-tools/config.json(占位,非 symlink)bootstrap 后手动完成:
| 步骤 | 命令 / 操作 |
|---|---|
| Codex 登录(主模型) | Pi 内 /login openai-codex |
| Brave Search key | 编辑 ~/.config/rpiv-web-tools/config.json |
| Cursor subagent | pi install npm:pi-cursor-sdk → /login → Cursor API key |
| Codex Search | /login openai-codex → /codex-search-settings status |
| rpiv 插件 | pi install npm:@juicesharp/rpiv-pi → /rpiv-setup |
| 加载 extension | 已启动的 Pi 内 /reload 或重启 |
rick-agent/
├── .pi/ # 项目级 Pi 配置(仅在本 repo 启动 Pi 时生效)
│ ├── settings.json # pin pi-codex-search
│ └── pi-codex-search.json # codex_search tool 默认参数
├── pi/ # 全局 Pi 配置(symlink → ~/.pi/agent/)
│ ├── settings.json # 主配置:模型、thinking、18 个 npm 包
│ ├── models.json # 空 providers(不维护自定义 LLM)
│ ├── agents/ # 4 个 custom agent
│ ├── extensions/project-workflow/ # 自写 extension + projectd daemon
│ └── skills/ # 9 个自写 skill
├── rpiv-web-tools/config.example.json
├── docs/ # workflow 详细文档
└── scripts/bootstrap.sh
pi/settings.json{
"defaultProvider": "openai-codex",
"defaultModel": "gpt-5.5",
"defaultThinkingLevel": "high",
"packages": [
"npm:pi-cursor-sdk",
"npm:@tintinweb/pi-subagents",
"npm:@juicesharp/rpiv-*",
"npm:pi-context-prune",
"npm:@cnife/pi-simple-plannotator",
...
]
}
| 分组 | 包 | 作用 |
|---|---|---|
| Cursor provider | pi-cursor-sdk | Composer subagent 模型 |
| Subagents | @tintinweb/pi-subagents | worktree 隔离、RPC 调度 |
| rpiv 叶子包 | args / ask-user-question / todo / advisor / web-tools / i18n | 交互、待办、顾问、搜索 |
| 观察 + 上下文 | usage / context-usage / execution-time / context-prune | 用量统计、上下文剪枝 |
| 能力扩展 | multi-edit / mcp-adapter / skill-selector / plannotator | 编辑、MCP、技能选择、浏览器批注 |
| 集成/输出 | discord-remote / caveman | Discord 远程、输出压缩 |
.pi/只在 rick-agent 目录启动 Pi 时加载,不影响其它项目:
| 文件 | 作用 |
|---|---|
.pi/settings.json | pin npm:pi-codex-search@0.1.2 |
.pi/pi-codex-search.json | searchContextSize: medium,freshness: live |
| 改什么 | 改哪个文件 | 生效方式 |
|---|---|---|
| 默认 model / thinking | pi/settings.json | 下次 Pi 启动 |
| 安装/卸载包 | pi install/uninstall | 写回 settings.json |
| 新建 agent | pi/agents/<name>.md + bootstrap | 下次启动 |
| 新建 extension | pi/extensions/<name>/ | /reload 或重启 |
| 新建 skill | pi/skills/<name>/SKILL.md | 下次启动 |
| Brave API key | ~/.config/rpiv-web-tools/config.json | 改完重启 Pi |
| 值 | 适用场景 |
|---|---|
minimal | 日常对话、查文件、改配置 |
low / medium | 多文件改动、中等 debug |
high | 架构决策、棘手 race condition(当前全局默认) |
临时拉高:/think high 或 /think xhigh。
| Agent | 模型 | 用途 |
|---|---|---|
project-worker | cursor/composer-2.5 | project workflow 实现 worker,isolation: worktree |
composer-implementer | cursor/composer-2.5 | hybrid-plan-implement 实现 |
hybrid-planner | cursor/composer-2.5 | 显式委托时的 fallback planner(只读) |
thermo-reviewer | cursor/composer-2.5 | 显式委托时的 fallback reviewer |
把「issue 队列 → AI worker → review」的研发流程放进 Pi,不绑定具体项目或 tracker。通用 SOP 在 skills,确定性状态机在 extension。
GitLab issue closed = canonical done。不自动 merge,不手工打 status::done label。
| 层 | 位置 | 职责 |
|---|---|---|
| Control | pi/extensions/project-workflow/ | 读配置、claim/release、状态更新、SQLite 结果、worker brief |
| Daemon | projectd.mjs | Pi 退出后仍可查 workflow 状态(默认 127.0.0.1:47838) |
| SOP | pi/skills/project-*/ | 写 issue、拆任务、单任务执行、runner 编排 |
| Worker | pi/agents/project-worker.md | isolated worktree 实现 claimed task |
| Config | 目标仓库 docs/agents/project-workflow.md | tracker、状态映射、验证命令 |
flowchart TD
subgraph target["目标业务仓库"]
config["docs/agents/project-workflow.md"]
queue["Issue queue
triage → ready → running → review → done"]
runtime[".pi-project-workflow/
workflow.sqlite"]
end
subgraph pi["Pi session"]
execute["/project_issue_execute"]
control["project-workflow extension"]
worker["project-worker
cursor/composer-2.5"]
mr["commit + push + MR/PR"]
end
human["人类验收"]
config --> control
queue --> execute
execute --> control
control -->|claim| queue
control --> runtime
control --> worker
worker --> mr
mr --> control
control -->|pass: review| queue
queue --> human
human -->|merge + close| queue
| 命令 | 作用 |
|---|---|
/skill:project-workflow-setup | 在当前项目生成 docs/agents/project-workflow.md |
/skill:project-create-issue <需求> | 把模糊需求整理成 AFK-ready issue |
/skill:project-to-issues <plan> | 把 plan/PRD 拆成多个 vertical slices |
/project_issue_execute <id> | 推荐单 issue 入口,按状态机完成 shaping → 实现 → review |
/project_issue_plan <id> | 复杂 issue 产出 plan,停在人类确认 |
/skill:project-runner limit=N | 批量消费 ready 队列 |
/project_issue_from_vikunja_task <id> | Vikunja task → 代码仓库 issue |
/project-status / /project-ready | 查 workflow 状态 |
/projectd-start / /projectd-status | daemon 管理 |
| Tool | 作用 |
|---|---|
project_workflow_read_config | 解析目标仓库 workflow 配置 |
project_workflow_list_ready | 列出 ready 队列候选 |
project_workflow_claim / release | 本地 lease + 状态 → running |
project_workflow_update_state | 移动到 canonical state |
project_workflow_record_result | 写 SQLite runs 表 |
project_workflow_build_worker_brief | 生成 worker brief |
project_workflow_start_worker_subagent | 启动 project-worker / Composer |
project_issue_execute / plan | 单 issue 状态机 / 规划阶段 |
project_workflow_add_issue_comment | 写 issue comment(正确处理换行) |
project_issue_from_vikunja_task | Vikunja → issue 转换 |
project_workflow_daemon_* | 启动/查/停 projectd |
支持的 tracker adapter:command、vikunja-vja、github-gh、gitlab-glab、gitee-api。
project-worker(Composer)在 isolated worktree 完成git fetch origin,branch 基于最新 origin/<default-branch>Closes #<issue-iid>record_result(passed) 校验 worker proof,主 Pi 直接实现不能 passedreview每个业务项目需 docs/agents/project-workflow.md,声明 tracker、状态映射、命令、验证方式。示例状态映射(GitLab/Gitee):
| Canonical | Tracker label |
|---|---|
triage | status::inbox |
ready | status::ready |
running | status::running |
review | status::review |
done | issue closed |
本地 PR-like loop:主 Pi 规划 + review,Composer 在 isolated worktree 实现。
/skill:hybrid-plan-implement <要实现的需求>
输出 ready branches、merge 顺序、本地 merge 命令。不自动 merge。
适合:多文件、可拆分实现,希望 gpt-5.5 high 做架构判断。
不适合:单行小改、非 git repo、工作区 dirty 且不想先处理。
| Skill | 入口 | 作用 |
|---|---|---|
repo-tour-zh | /skill:repo-tour-zh [path] | 5 步生成陌生 repo 中文导航图 |
deep-read | /skill:deep-read <文件/概念> | 深度阅读文件/模块 |
gemini-cli | /skill:gemini-cli <任务> | 委托本机 gemini CLI |
浏览器内 git diff / Markdown 批注,与 workflow 状态机正交。
/pnr — 审查本地 git 变更/pna <path> — 标注 Markdown/pnl — 标注最后一条 assistant 消息pi-discord-remote 在 Discord 远程控制本机 Pi session。
/pi-discord-remote setup/pi-discord-remote start / stop / statusVikunja = 人类个人 inbox。只有显式 /project_issue_from_vikunja_task 才进入工程主链路。
BRAVE_SEARCH_API_KEY / CURSOR_API_KEYrpiv-web-tools/config.json 和 Discord config 均在 .gitignore{repo}/.pi-project-workflow/ 也须加入目标仓库 .gitignore| 文件 | 内容 |
|---|---|
README.md | 接入、插件栈、workflow 入口、Discord/Plannotator |
CLAUDE.md | AI agent 工作指南、改配置表、硬规则 |
docs/project-workflow.md | 完整 Mermaid 图、extension tools、adapter、验证 |
docs/vikunja-to-issue-usage.md | Vikunja → issue 操作手册 |