README 目录 / rick-agent

rick-agent

Stanley 的个人 Pi 编码助手配置仓库。基于 pi-coding-agent,采用「配置即代码」:改仓库即改活配置,通过 bootstrap symlink 到 ~/.pi/agent/

Pi gpt-5.5 + Composer Project Workflow 配置即代码

模型分工

主 Pi

openai-codex/gpt-5.5

默认 thinkingLevel: high。负责架构判断、调度、review、planning。

Subagent

cursor/composer-2.5

统一用于 project-workercomposer-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 做什么:

  1. 创建 ~/.pi/agent/~/.config/rpiv-web-tools/
  2. Symlink pi/settings.jsonmodels.json、skills、agents、extensions
  3. 拷贝 config.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 subagentpi 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",
    ...
  ]
}

插件分组(18 包)

分组作用
Cursor providerpi-cursor-sdkComposer subagent 模型
Subagents@tintinweb/pi-subagentsworktree 隔离、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 / cavemanDiscord 远程、输出压缩

项目级配置 .pi/

只在 rick-agent 目录启动 Pi 时加载,不影响其它项目:

文件作用
.pi/settings.jsonpin npm:pi-codex-search@0.1.2
.pi/pi-codex-search.jsonsearchContextSize: mediumfreshness: live

改配置怎么生效

改什么改哪个文件生效方式
默认 model / thinkingpi/settings.json下次 Pi 启动
安装/卸载包pi install/uninstall写回 settings.json
新建 agentpi/agents/<name>.md + bootstrap下次启动
新建 extensionpi/extensions/<name>//reload 或重启
新建 skillpi/skills/<name>/SKILL.md下次启动
Brave API key~/.config/rpiv-web-tools/config.json改完重启 Pi

thinking level 选择

适用场景
minimal日常对话、查文件、改配置
low / medium多文件改动、中等 debug
high架构决策、棘手 race condition(当前全局默认)

临时拉高:/think high/think xhigh

自定义代理

Agent模型用途
project-workercursor/composer-2.5project workflow 实现 worker,isolation: worktree
composer-implementercursor/composer-2.5hybrid-plan-implement 实现
hybrid-plannercursor/composer-2.5显式委托时的 fallback planner(只读)
thermo-reviewercursor/composer-2.5显式委托时的 fallback reviewer

工作流一:Project Workflow

把「issue 队列 → AI worker → review」的研发流程放进 Pi,不绑定具体项目或 tracker。通用 SOP 在 skills,确定性状态机在 extension。

状态机

triage ready running review done

GitLab issue closed = canonical done。不自动 merge,不手工打 status::done label。

架构分层

位置职责
Controlpi/extensions/project-workflow/读配置、claim/release、状态更新、SQLite 结果、worker brief
Daemonprojectd.mjsPi 退出后仍可查 workflow 状态(默认 127.0.0.1:47838
SOPpi/skills/project-*/写 issue、拆任务、单任务执行、runner 编排
Workerpi/agents/project-worker.mdisolated worktree 实现 claimed task
Config目标仓库 docs/agents/project-workflow.mdtracker、状态映射、验证命令
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

Skills 入口

命令作用
/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-statusdaemon 管理

Extension Tools(14 个)

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_taskVikunja → issue 转换
project_workflow_daemon_*启动/查/停 projectd

支持的 tracker adapter:commandvikunja-vjagithub-ghgitlab-glabgitee-api

硬规则

  • 首轮实现必须由 project-worker(Composer)在 isolated worktree 完成
  • 创建 worktree 前必须 git fetch origin,branch 基于最新 origin/<default-branch>
  • 必须 commit + push + 创建 MR/PR,description 含 Closes #<issue-iid>
  • 主 Pi 只做调度/review;record_result(passed) 校验 worker proof,主 Pi 直接实现不能 passed
  • 不自动 merge;成功 worker 只进入 review

目标仓库配置模板

每个业务项目需 docs/agents/project-workflow.md,声明 tracker、状态映射、命令、验证方式。示例状态映射(GitLab/Gitee):

CanonicalTracker label
triagestatus::inbox
readystatus::ready
runningstatus::running
reviewstatus::review
doneissue closed

工作流二:Hybrid Plan-Implement

本地 PR-like loop:主 Pi 规划 + review,Composer 在 isolated worktree 实现。

/skill:hybrid-plan-implement <要实现的需求>
1. 主 Pi 只读调查 2. 写 decision-complete plan 3. Composer 按 task 开 worktree 4. 主 Pi strict review(最多 3 轮) 5. ZERO_FINDINGS → ready branches

输出 ready branches、merge 顺序、本地 merge 命令。不自动 merge。

适合:多文件、可拆分实现,希望 gpt-5.5 high 做架构判断。
不适合:单行小改、非 git repo、工作区 dirty 且不想先处理。

辅助 Skills

Skill入口作用
repo-tour-zh/skill:repo-tour-zh [path]5 步生成陌生 repo 中文导航图
deep-read/skill:deep-read <文件/概念>深度阅读文件/模块
gemini-cli/skill:gemini-cli <任务>委托本机 gemini CLI

可选能力

Plannotator

浏览器内 git diff / Markdown 批注,与 workflow 状态机正交。

  • /pnr — 审查本地 git 变更
  • /pna <path> — 标注 Markdown
  • /pnl — 标注最后一条 assistant 消息

Discord 远程

pi-discord-remote 在 Discord 远程控制本机 Pi session。

  • /pi-discord-remote setup
  • /pi-discord-remote start / stop / status

Vikunja 集成

Vikunja = 人类个人 inbox。只有显式 /project_issue_from_vikunja_task 才进入工程主链路。

安全约定

仓库内文档

文件内容
README.md接入、插件栈、workflow 入口、Discord/Plannotator
CLAUDE.mdAI agent 工作指南、改配置表、硬规则
docs/project-workflow.md完整 Mermaid 图、extension tools、adapter、验证
docs/vikunja-to-issue-usage.mdVikunja → issue 操作手册
一句话总结:rick-agent 是 Pi 的「配置即代码」仓库——主 Pi(gpt-5.5)负责判断与 review,Composer subagent 在 worktree 里实现;Project Workflow 把 issue 队列变成可 AFK 运行的确定性状态机。