pi-crew 0.2.3 → 0.2.5
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/AGENTS.md +57 -32
- package/CHANGELOG.md +466 -448
- package/LICENSE +21 -21
- package/NOTICE.md +16 -16
- package/README.md +323 -323
- package/docs/FEATURE_INTAKE.md +126 -0
- package/docs/HARNESS.md +86 -0
- package/docs/HARNESS_BACKLOG.md +41 -0
- package/docs/TEST_MATRIX.md +49 -0
- package/docs/actions-reference.md +595 -595
- package/docs/architecture.md +180 -180
- package/docs/code-review-2026-05-11.md +592 -592
- package/docs/commands-reference.md +347 -347
- package/docs/comparison-pi-subagents-vs-pi-crew.md +303 -0
- package/docs/decisions/0001-durable-state.md +41 -0
- package/docs/decisions/0002-child-process-for-async.md +42 -0
- package/docs/decisions/0003-depth-guard.md +36 -0
- package/docs/decisions/0004-execfile-over-exec.md +34 -0
- package/docs/decisions/0005-no-parameter-properties.md +49 -0
- package/docs/decisions/0006-publish-bundled-esm.md +63 -0
- package/docs/decisions/0007-active-run-binary-index.md +54 -0
- package/docs/decisions/0008-child-pi-warm-pool.md +61 -0
- package/docs/decisions/README.md +23 -0
- package/docs/followup-review-round4-2026-05-13.md +107 -0
- package/docs/implementation-plan-top3.md +333 -0
- package/docs/live-mailbox-runtime.md +36 -36
- package/docs/next-upgrade-roadmap.md +808 -808
- package/docs/oh-my-pi-research.md +509 -0
- package/docs/perf/baseline-2026-05.md +113 -0
- package/docs/perf/final-report-2026-05.md +206 -0
- package/docs/perf/sprint-1-report.md +71 -0
- package/docs/perf/sprint-2-report.md +81 -0
- package/docs/perf/sprint-2.5-report.md +53 -0
- package/docs/perf/sprint-3-report.md +36 -0
- package/docs/perf/sprint-4-report.md +47 -0
- package/docs/perf/sprint-5-report.md +51 -0
- package/docs/perf/sprint-6-report.md +94 -0
- package/docs/perf/sprint-7-report.md +74 -0
- package/docs/perf/upgrade-plan-2026-05.md +147 -0
- package/docs/pi-subagents3-deep-analysis.md +508 -0
- package/docs/product/README.md +31 -0
- package/docs/product/platform.md +27 -0
- package/docs/product/runtime-safety.md +37 -0
- package/docs/product/team-run.md +39 -0
- package/docs/product/team-tool.md +37 -0
- package/docs/publishing.md +65 -65
- package/docs/resource-formats.md +134 -134
- package/docs/runtime-analysis-child-vs-live.md +171 -0
- package/docs/runtime-flow.md +148 -148
- package/docs/runtime-migration-in-process-analysis.md +250 -0
- package/docs/stories/README.md +30 -0
- package/docs/stories/backlog.md +36 -0
- package/docs/templates/decision.md +27 -0
- package/docs/templates/story.md +44 -0
- package/docs/templates/validation-report.md +32 -0
- package/docs/usage.md +238 -238
- package/index.ts +7 -6
- package/install.mjs +65 -65
- package/package.json +107 -100
- package/schema.json +222 -222
- package/skills/child-pi-spawning/SKILL.md +213 -0
- package/skills/context-artifact-hygiene/SKILL.md +32 -0
- package/skills/event-log-tracing/SKILL.md +299 -0
- package/skills/git-master/SKILL.md +225 -24
- package/skills/live-agent-lifecycle/SKILL.md +192 -0
- package/skills/mailbox-interactive/SKILL.md +300 -19
- package/skills/model-routing-context/SKILL.md +94 -0
- package/skills/multi-perspective-review/SKILL.md +88 -0
- package/skills/read-only-explorer/SKILL.md +250 -26
- package/skills/safe-bash/SKILL.md +307 -21
- package/skills/verification-before-done/SKILL.md +11 -2
- package/skills/widget-rendering/SKILL.md +258 -0
- package/skills/workspace-isolation/SKILL.md +202 -0
- package/skills/worktree-isolation/SKILL.md +202 -18
- package/src/adapters/claude-adapter.ts +25 -25
- package/src/adapters/codex-adapter.ts +21 -21
- package/src/adapters/cursor-adapter.ts +17 -17
- package/src/adapters/export-util.ts +137 -137
- package/src/adapters/index.ts +15 -15
- package/src/adapters/registry.ts +18 -18
- package/src/adapters/types.ts +23 -23
- package/src/agents/agent-config.ts +38 -38
- package/src/agents/agent-serializer.ts +38 -38
- package/src/agents/discover-agents.ts +121 -118
- package/src/config/config.ts +740 -858
- package/src/config/defaults.ts +96 -96
- package/src/config/drift-detector.ts +211 -211
- package/src/config/markers.ts +327 -327
- package/src/config/resilient-parser.ts +109 -108
- package/src/config/suggestions.ts +74 -74
- package/src/config/types.ts +199 -0
- package/src/extension/async-notifier.ts +123 -89
- package/src/extension/autonomous-policy.ts +169 -169
- package/src/extension/cross-extension-rpc.ts +104 -104
- package/src/extension/help.ts +47 -47
- package/src/extension/import-index.ts +69 -69
- package/src/extension/management.ts +395 -382
- package/src/extension/notification-router.ts +116 -116
- package/src/extension/notification-sink.ts +51 -51
- package/src/extension/project-init.ts +168 -168
- package/src/extension/register.ts +859 -668
- package/src/extension/registration/artifact-cleanup.ts +15 -15
- package/src/extension/registration/command-utils.ts +54 -54
- package/src/extension/registration/commands.ts +559 -452
- package/src/extension/registration/compaction-guard.ts +125 -125
- package/src/extension/registration/subagent-helpers.ts +102 -102
- package/src/extension/registration/subagent-tools.ts +220 -159
- package/src/extension/registration/team-tool.ts +159 -99
- package/src/extension/registration/viewers.ts +29 -0
- package/src/extension/result-watcher.ts +128 -128
- package/src/extension/run-bundle-schema.ts +89 -89
- package/src/extension/run-export.ts +73 -73
- package/src/extension/run-import.ts +84 -84
- package/src/extension/run-index.ts +94 -94
- package/src/extension/run-maintenance.ts +142 -142
- package/src/extension/session-summary.ts +8 -8
- package/src/extension/team-manager-command.ts +96 -96
- package/src/extension/team-recommendation.ts +188 -188
- package/src/extension/team-tool/api.ts +5 -2
- package/src/extension/team-tool/cancel.ts +224 -209
- package/src/extension/team-tool/config-patch.ts +36 -36
- package/src/extension/team-tool/context.ts +60 -60
- package/src/extension/team-tool/doctor.ts +242 -242
- package/src/extension/team-tool/handle-settings.ts +421 -195
- package/src/extension/team-tool/inspect.ts +41 -41
- package/src/extension/team-tool/lifecycle-actions.ts +139 -139
- package/src/extension/team-tool/parallel-dispatch.ts +156 -156
- package/src/extension/team-tool/plan.ts +19 -19
- package/src/extension/team-tool/respond.ts +112 -111
- package/src/extension/team-tool/run.ts +246 -229
- package/src/extension/team-tool/status.ts +110 -110
- package/src/extension/team-tool-types.ts +13 -13
- package/src/extension/team-tool.ts +344 -344
- package/src/extension/tool-result.ts +16 -16
- package/src/extension/validate-resources.ts +77 -77
- package/src/hooks/registry.ts +61 -61
- package/src/hooks/types.ts +40 -40
- package/src/i18n.ts +184 -184
- package/src/observability/correlation.ts +35 -35
- package/src/observability/event-to-metric.ts +68 -68
- package/src/observability/exporters/adapter.ts +30 -30
- package/src/observability/exporters/otlp-exporter.ts +106 -92
- package/src/observability/exporters/prometheus-exporter.ts +54 -54
- package/src/observability/metric-registry.ts +87 -87
- package/src/observability/metric-retention.ts +54 -54
- package/src/observability/metric-sink.ts +81 -56
- package/src/observability/metrics-primitives.ts +167 -167
- package/src/prompt/prompt-runtime.ts +72 -72
- package/src/runtime/adaptive-plan.ts +338 -0
- package/src/runtime/agent-control.ts +169 -169
- package/src/runtime/agent-memory.ts +72 -72
- package/src/runtime/agent-observability.ts +114 -114
- package/src/runtime/async-marker.ts +26 -26
- package/src/runtime/async-runner.ts +153 -153
- package/src/runtime/attention-events.ts +28 -28
- package/src/runtime/auto-resume.ts +100 -100
- package/src/runtime/background-runner.ts +122 -89
- package/src/runtime/cancellation.ts +61 -61
- package/src/runtime/capability-inventory.ts +116 -116
- package/src/runtime/child-pi-pool.ts +68 -0
- package/src/runtime/child-pi.ts +541 -461
- package/src/runtime/code-summary.ts +247 -247
- package/src/runtime/compaction-summary.ts +271 -271
- package/src/runtime/concurrency.ts +58 -58
- package/src/runtime/crash-recovery.ts +317 -301
- package/src/runtime/crew-agent-records.ts +379 -281
- package/src/runtime/crew-agent-runtime.ts +60 -60
- package/src/runtime/cross-extension-rpc.ts +72 -0
- package/src/runtime/custom-tools/irc-tool.ts +201 -201
- package/src/runtime/custom-tools/submit-result-tool.ts +90 -90
- package/src/runtime/deadletter.ts +47 -47
- package/src/runtime/delivery-coordinator.ts +176 -176
- package/src/runtime/delta-conflict.ts +360 -360
- package/src/runtime/diagnostic-export.ts +102 -102
- package/src/runtime/direct-run.ts +35 -35
- package/src/runtime/effectiveness.ts +82 -81
- package/src/runtime/errors/crew-errors.ts +166 -0
- package/src/runtime/event-stream-bridge.ts +92 -92
- package/src/runtime/foreground-control.ts +82 -82
- package/src/runtime/green-contract.ts +46 -46
- package/src/runtime/group-join.ts +234 -106
- package/src/runtime/heartbeat-watcher.ts +145 -124
- package/src/runtime/iteration-hooks.ts +267 -267
- package/src/runtime/live-agent-control.ts +88 -88
- package/src/runtime/live-agent-manager.ts +377 -179
- package/src/runtime/live-control-realtime.ts +36 -36
- package/src/runtime/live-session-runtime.ts +676 -600
- package/src/runtime/loop-gates.ts +129 -129
- package/src/runtime/manifest-cache.ts +263 -263
- package/src/runtime/mcp-proxy.ts +113 -113
- package/src/runtime/metric-parser.ts +40 -40
- package/src/runtime/model-fallback.ts +282 -274
- package/src/runtime/model-resolver.ts +118 -0
- package/src/runtime/output-validator.ts +187 -187
- package/src/runtime/overflow-recovery.ts +175 -175
- package/src/runtime/parallel-research.ts +44 -44
- package/src/runtime/parallel-utils.ts +156 -156
- package/src/runtime/parent-guard.ts +80 -80
- package/src/runtime/phase-progress.ts +217 -217
- package/src/runtime/pi-args.ts +165 -165
- package/src/runtime/pi-json-output.ts +111 -111
- package/src/runtime/pi-spawn.ts +167 -167
- package/src/runtime/policy-engine.ts +79 -79
- package/src/runtime/post-checks.ts +125 -125
- package/src/runtime/post-exit-stdio-guard.ts +86 -86
- package/src/runtime/process-status.ts +97 -73
- package/src/runtime/progress-event-coalescer.ts +43 -43
- package/src/runtime/recovery-recipes.ts +74 -74
- package/src/runtime/retry-executor.ts +81 -81
- package/src/runtime/role-permission.ts +39 -39
- package/src/runtime/run-tracker.ts +99 -0
- package/src/runtime/runtime-policy.ts +21 -0
- package/src/runtime/runtime-resolver.ts +94 -91
- package/src/runtime/scheduler.ts +294 -0
- package/src/runtime/semaphore.ts +131 -131
- package/src/runtime/sensitive-paths.ts +92 -92
- package/src/runtime/session-usage.ts +79 -79
- package/src/runtime/settings-store.ts +103 -0
- package/src/runtime/sidechain-output.ts +29 -29
- package/src/runtime/skill-instructions.ts +222 -222
- package/src/runtime/stale-reconciler.ts +198 -189
- package/src/runtime/streaming-output.ts +47 -0
- package/src/runtime/subagent-manager.ts +404 -400
- package/src/runtime/subprocess-tool-registry.ts +67 -67
- package/src/runtime/task-display.ts +38 -38
- package/src/runtime/task-graph-scheduler.ts +122 -122
- package/src/runtime/task-graph.ts +207 -207
- package/src/runtime/task-output-context.ts +177 -177
- package/src/runtime/task-packet.ts +93 -93
- package/src/runtime/task-quality.ts +207 -207
- package/src/runtime/task-runner/capabilities.ts +78 -78
- package/src/runtime/task-runner/live-executor.ts +131 -113
- package/src/runtime/task-runner/progress.ts +119 -119
- package/src/runtime/task-runner/prompt-builder.ts +139 -139
- package/src/runtime/task-runner/prompt-pipeline.ts +64 -64
- package/src/runtime/task-runner/result-utils.ts +14 -14
- package/src/runtime/task-runner/run-projection.ts +103 -103
- package/src/runtime/task-runner/state-helpers.ts +22 -22
- package/src/runtime/task-runner.ts +469 -459
- package/src/runtime/team-runner.ts +693 -945
- package/src/runtime/usage-tracker.ts +71 -0
- package/src/runtime/worker-heartbeat.ts +21 -21
- package/src/runtime/worker-startup.ts +57 -57
- package/src/runtime/workflow-state.ts +187 -187
- package/src/runtime/yield-handler.ts +190 -190
- package/src/schema/config-schema.ts +172 -168
- package/src/schema/team-tool-schema.ts +126 -126
- package/src/schema/validation-types.ts +151 -148
- package/src/skills/discover-skills.ts +67 -67
- package/src/skills/skill-templates.ts +374 -374
- package/src/state/active-run-registry.ts +227 -191
- package/src/state/artifact-store.ts +130 -129
- package/src/state/atomic-write.ts +262 -195
- package/src/state/blob-store.ts +116 -116
- package/src/state/contracts.ts +111 -111
- package/src/state/event-log-rotation.ts +161 -158
- package/src/state/event-log.ts +383 -303
- package/src/state/event-reconstructor.ts +217 -217
- package/src/state/jsonl-writer.ts +82 -82
- package/src/state/locks.ts +146 -146
- package/src/state/mailbox.ts +446 -405
- package/src/state/state-store.ts +364 -351
- package/src/state/task-claims.ts +44 -44
- package/src/state/types.ts +285 -285
- package/src/state/usage.ts +29 -29
- package/src/subagents/async-entry.ts +1 -1
- package/src/subagents/index.ts +3 -3
- package/src/subagents/live/control.ts +1 -1
- package/src/subagents/live/manager.ts +1 -1
- package/src/subagents/live/realtime.ts +1 -1
- package/src/subagents/live/session-runtime.ts +1 -1
- package/src/subagents/manager.ts +1 -1
- package/src/subagents/spawn.ts +1 -1
- package/src/teams/discover-teams.ts +116 -116
- package/src/teams/team-config.ts +27 -27
- package/src/teams/team-serializer.ts +38 -38
- package/src/types/diff.d.ts +18 -18
- package/src/ui/agent-management-overlay.ts +144 -144
- package/src/ui/crew-widget.ts +487 -370
- package/src/ui/dashboard-panes/agents-pane.ts +109 -28
- package/src/ui/dashboard-panes/cancellation-pane.ts +42 -42
- package/src/ui/dashboard-panes/capability-pane.ts +59 -59
- package/src/ui/dashboard-panes/health-pane.ts +30 -30
- package/src/ui/dashboard-panes/mailbox-pane.ts +35 -35
- package/src/ui/dashboard-panes/progress-pane.ts +30 -30
- package/src/ui/dashboard-panes/transcript-pane.ts +10 -10
- package/src/ui/heartbeat-aggregator.ts +63 -63
- package/src/ui/keybinding-map.ts +97 -94
- package/src/ui/live-conversation-overlay.ts +152 -0
- package/src/ui/live-run-sidebar.ts +180 -180
- package/src/ui/mascot.ts +442 -442
- package/src/ui/overlays/agent-picker-overlay.ts +57 -57
- package/src/ui/overlays/confirm-overlay.ts +58 -58
- package/src/ui/overlays/mailbox-compose-overlay.ts +144 -144
- package/src/ui/overlays/mailbox-compose-preview.ts +63 -63
- package/src/ui/overlays/mailbox-detail-overlay.ts +122 -122
- package/src/ui/pi-ui-compat.ts +57 -57
- package/src/ui/powerbar-publisher.ts +221 -197
- package/src/ui/render-scheduler.ts +216 -143
- package/src/ui/run-action-dispatcher.ts +118 -118
- package/src/ui/run-dashboard.ts +526 -464
- package/src/ui/run-event-bus.ts +208 -208
- package/src/ui/run-snapshot-cache.ts +826 -777
- package/src/ui/settings-overlay.ts +721 -0
- package/src/ui/snapshot-types.ts +86 -70
- package/src/ui/theme-adapter.ts +190 -190
- package/src/ui/tool-progress-formatter.ts +89 -0
- package/src/ui/transcript-cache.ts +94 -94
- package/src/ui/transcript-viewer.ts +335 -335
- package/src/utils/conflict-detect.ts +662 -0
- package/src/utils/file-coalescer.ts +86 -86
- package/src/utils/frontmatter.ts +68 -68
- package/src/utils/fs-watch.ts +88 -31
- package/src/utils/gh-protocol.ts +479 -0
- package/src/utils/ids.ts +17 -17
- package/src/utils/incremental-reader.ts +104 -104
- package/src/utils/internal-error.ts +6 -6
- package/src/utils/names.ts +27 -27
- package/src/utils/paths.ts +102 -63
- package/src/utils/redaction.ts +44 -44
- package/src/utils/safe-paths.ts +47 -47
- package/src/utils/scan-cache.ts +136 -136
- package/src/utils/sse-parser.ts +134 -134
- package/src/utils/task-name-generator.ts +337 -337
- package/src/utils/timings.ts +33 -33
- package/src/utils/visual.ts +243 -198
- package/src/workflows/discover-workflows.ts +139 -139
- package/src/workflows/validate-workflow.ts +40 -40
- package/src/workflows/workflow-config.ts +26 -26
- package/src/workflows/workflow-serializer.ts +32 -32
- package/src/worktree/branch-freshness.ts +45 -45
- package/src/worktree/cleanup.ts +75 -75
- package/src/worktree/worktree-manager.ts +188 -188
- package/teams/default.team.md +12 -12
- package/teams/fast-fix.team.md +11 -11
- package/teams/implementation.team.md +18 -18
- package/teams/parallel-research.team.md +14 -14
- package/teams/research.team.md +11 -11
- package/teams/review.team.md +12 -12
- package/tsconfig.json +19 -19
- package/workflows/default.workflow.md +30 -30
- package/workflows/fast-fix.workflow.md +23 -23
- package/workflows/implementation.workflow.md +43 -43
- package/workflows/parallel-research.workflow.md +46 -46
- package/workflows/research.workflow.md +22 -22
- package/workflows/review.workflow.md +30 -30
- package/skills/task-packet/SKILL.md +0 -28
- package/skills/verify-evidence/SKILL.md +0 -27
|
@@ -1,595 +1,595 @@
|
|
|
1
|
-
# pi-crew — Tool Actions Reference
|
|
2
|
-
|
|
3
|
-
Tool `team` là công cụ chính mà pi-crew đăng ký vào Pi. Mọi thao tác đều đi qua `action`.
|
|
4
|
-
|
|
5
|
-
## Quick Reference
|
|
6
|
-
|
|
7
|
-
| Action | Purpose | Trọng tâm |
|
|
8
|
-
|--------|---------|-----------|
|
|
9
|
-
| `recommend` | Gợi ý team/workflow phù hợp | Bắt đầu khi chưa chắc chọn gì |
|
|
10
|
-
| `run` | Tạo run và thực thi workflow | Thao tác chính |
|
|
11
|
-
| `plan` | Preview workflow không chạy tasks | Dry-run planning |
|
|
12
|
-
| `status` | Đọc trạng thái run | Theo dõi tiến độ |
|
|
13
|
-
| `summary` | Đọc/ghi run summary artifact | Tổng kết |
|
|
14
|
-
| `cancel` | Hủy queued/running work | Dừng run |
|
|
15
|
-
| `resume` | Re-queue failed/cancelled tasks | Tiếp tục run |
|
|
16
|
-
| `list` | List teams, agents, workflows, runs | Khám phá tài nguyên |
|
|
17
|
-
| `get` | Inspect agent/team/workflow | Xem chi tiết |
|
|
18
|
-
| `events` | Đọc event log | Debug/audit |
|
|
19
|
-
| `artifacts` | List run artifacts | Xem outputs |
|
|
20
|
-
| `worktrees` | List run worktree metadata | Kiểm tra worktrees |
|
|
21
|
-
| `cleanup` | Xóa run worktrees | Dọn dẹp |
|
|
22
|
-
| `forget` | Xóa run state/artifacts | Xóa hẳn (cần `confirm`) |
|
|
23
|
-
| `prune` | Xóa nhiều old finished runs | Dọn dẹp hàng loạt |
|
|
24
|
-
| `export` | Export portable run bundle | Chia sẻ/backup |
|
|
25
|
-
| `import` | Import run bundle | Nhận run từ nơi khác |
|
|
26
|
-
| `imports` | List imported bundles | Xem imports |
|
|
27
|
-
| `create` | Tạo agent/team/workflow | Mở rộng tài nguyên |
|
|
28
|
-
| `update` | Cập nhật agent/team/workflow | Sửa tài nguyên |
|
|
29
|
-
| `delete` | Xóa agent/team/workflow | Xóa tài nguyên (cần `confirm`) |
|
|
30
|
-
| `validate` | Validate resources | Kiểm tra sức khỏe |
|
|
31
|
-
| `doctor` | Kiểm tra readiness | Chẩn đoán môi trường |
|
|
32
|
-
| `config` | Show/update config | Cấu hình |
|
|
33
|
-
| `init` | Khởi tạo project layout | Setup ban đầu |
|
|
34
|
-
| `autonomy` | Quản lý delegation settings | Điều chỉnh tự động hóa |
|
|
35
|
-
| `api` | Safe interop cho state operations | Tích hợp nâng cao |
|
|
36
|
-
| `help` | Hiển thị help text | Trợ giúp |
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## Chi tiết từng Action
|
|
41
|
-
|
|
42
|
-
### `recommend` — Gợi ý định hướng
|
|
43
|
-
|
|
44
|
-
Khi chưa biết dùng team/workflow nào, gọi `recommend` để nhận phân tích + đề xuất:
|
|
45
|
-
|
|
46
|
-
```json
|
|
47
|
-
{
|
|
48
|
-
"action": "recommend",
|
|
49
|
-
"goal": "Refactor auth flow and add tests"
|
|
50
|
-
}
|
|
51
|
-
```
|
|
52
|
-
|
|
53
|
-
Response gồm:
|
|
54
|
-
- Team/workflow được gợi ý
|
|
55
|
-
- Fanout hints (bao nhiêu subagents)
|
|
56
|
-
- Có nên async hay worktree không
|
|
57
|
-
- Lý do lựa chọn
|
|
58
|
-
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
### `run` — Thực thi workflow
|
|
62
|
-
|
|
63
|
-
Đây là action chính. Tạo run manifest, task graph, và thực thi.
|
|
64
|
-
|
|
65
|
-
#### Cú pháp cơ bản
|
|
66
|
-
|
|
67
|
-
```json
|
|
68
|
-
{
|
|
69
|
-
"action": "run",
|
|
70
|
-
"team": "default",
|
|
71
|
-
"goal": "Investigate failing tests and propose a fix"
|
|
72
|
-
}
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
#### Chọn team
|
|
76
|
-
|
|
77
|
-
| Team | Mục đích |
|
|
78
|
-
|------|----------|
|
|
79
|
-
| `default` | Cân bằng, 4 bước: explore → plan → execute → verify |
|
|
80
|
-
| `fast-fix` | Sửa bug nhỏ: explore → execute → verify |
|
|
81
|
-
| `implementation` | Adaptive planner tự quyết fanout |
|
|
82
|
-
| `review` | Code review + security review |
|
|
83
|
-
| `research` | Nghiên cứu và viết tài liệu |
|
|
84
|
-
|
|
85
|
-
#### Chạy bất đồng bộ (async)
|
|
86
|
-
|
|
87
|
-
```json
|
|
88
|
-
{
|
|
89
|
-
"action": "run",
|
|
90
|
-
"team": "implementation",
|
|
91
|
-
"goal": "Implement user settings screen",
|
|
92
|
-
"async": true
|
|
93
|
-
}
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
Run tách riêng khỏi session, có thể sống qua session switch/reload. Pi-crew tự động notify khi run hoàn thành.
|
|
97
|
-
|
|
98
|
-
#### Worktree isolation
|
|
99
|
-
|
|
100
|
-
```json
|
|
101
|
-
{
|
|
102
|
-
"action": "run",
|
|
103
|
-
"team": "implementation",
|
|
104
|
-
"goal": "Add API endpoint and tests",
|
|
105
|
-
"workspaceMode": "worktree"
|
|
106
|
-
}
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
Mỗi task chạy trong git worktree riêng — an toàn cho codebase chính. Yêu cầu repo clean.
|
|
110
|
-
|
|
111
|
-
#### Override model
|
|
112
|
-
|
|
113
|
-
```json
|
|
114
|
-
{
|
|
115
|
-
"action": "run",
|
|
116
|
-
"team": "default",
|
|
117
|
-
"goal": "Quick exploration",
|
|
118
|
-
"model": "gpt-4o-mini"
|
|
119
|
-
}
|
|
120
|
-
```
|
|
121
|
-
|
|
122
|
-
#### Override config cho run
|
|
123
|
-
|
|
124
|
-
```json
|
|
125
|
-
{
|
|
126
|
-
"action": "run",
|
|
127
|
-
"team": "implementation",
|
|
128
|
-
"goal": "Refactor auth",
|
|
129
|
-
"config": {
|
|
130
|
-
"runtime": { "requirePlanApproval": true },
|
|
131
|
-
"limits": { "maxConcurrentWorkers": 4 }
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
#### Plan approval gate
|
|
137
|
-
|
|
138
|
-
Yêu cầu explicit approve sau khi planner tạo plan, trước khi executor chạy:
|
|
139
|
-
|
|
140
|
-
```json
|
|
141
|
-
{
|
|
142
|
-
"action": "run",
|
|
143
|
-
"team": "implementation",
|
|
144
|
-
"goal": "Major refactor",
|
|
145
|
-
"config": {
|
|
146
|
-
"runtime": { "requirePlanApproval": true }
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
```
|
|
150
|
-
|
|
151
|
-
Approve:
|
|
152
|
-
|
|
153
|
-
```json
|
|
154
|
-
{
|
|
155
|
-
"action": "api",
|
|
156
|
-
"runId": "team_...",
|
|
157
|
-
"config": { "operation": "approve-plan" }
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
Cancel plan:
|
|
162
|
-
|
|
163
|
-
```json
|
|
164
|
-
{
|
|
165
|
-
"action": "api",
|
|
166
|
-
"runId": "team_...",
|
|
167
|
-
"config": { "operation": "cancel-plan" }
|
|
168
|
-
}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
---
|
|
172
|
-
|
|
173
|
-
### `plan` — Preview workflow
|
|
174
|
-
|
|
175
|
-
Giống `run` nhưng **không spawn workers**. Xem trước task graph sẽ tạo:
|
|
176
|
-
|
|
177
|
-
```json
|
|
178
|
-
{
|
|
179
|
-
"action": "plan",
|
|
180
|
-
"team": "implementation",
|
|
181
|
-
"goal": "Add authentication module"
|
|
182
|
-
}
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
### `status` — Trạng thái run
|
|
188
|
-
|
|
189
|
-
```json
|
|
190
|
-
{
|
|
191
|
-
"action": "status",
|
|
192
|
-
"runId": "team_..."
|
|
193
|
-
}
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
Output gồm: manifest, tasks, agents, timing, usage totals.
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
### `summary` — Tổng kết run
|
|
201
|
-
|
|
202
|
-
Đọc summary:
|
|
203
|
-
|
|
204
|
-
```json
|
|
205
|
-
{
|
|
206
|
-
"action": "summary",
|
|
207
|
-
"runId": "team_..."
|
|
208
|
-
}
|
|
209
|
-
```
|
|
210
|
-
|
|
211
|
-
Ghi summary:
|
|
212
|
-
|
|
213
|
-
```json
|
|
214
|
-
{
|
|
215
|
-
"action": "summary",
|
|
216
|
-
"runId": "team_...",
|
|
217
|
-
"message": "Implemented auth with tests. All passing."
|
|
218
|
-
}
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
---
|
|
222
|
-
|
|
223
|
-
### `cancel` — Hủy run
|
|
224
|
-
|
|
225
|
-
```json
|
|
226
|
-
{
|
|
227
|
-
"action": "cancel",
|
|
228
|
-
"runId": "team_..."
|
|
229
|
-
}
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
Hủy tất cả queued/running tasks. Running child processes nhận SIGTERM.
|
|
233
|
-
|
|
234
|
-
---
|
|
235
|
-
|
|
236
|
-
### `resume` — Tiếp tục run
|
|
237
|
-
|
|
238
|
-
```json
|
|
239
|
-
{
|
|
240
|
-
"action": "resume",
|
|
241
|
-
"runId": "team_..."
|
|
242
|
-
}
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
Re-queue failed/cancelled/skipped tasks. Tasks đã completed không bị ảnh hưởng.
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
### `list` — Liệt kê tài nguyên
|
|
250
|
-
|
|
251
|
-
```json
|
|
252
|
-
{
|
|
253
|
-
"action": "list"
|
|
254
|
-
}
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
Hiển thị: teams, agents, workflows đã discover, và recent runs.
|
|
258
|
-
|
|
259
|
-
---
|
|
260
|
-
|
|
261
|
-
### `get` — Xem chi tiết tài nguyên
|
|
262
|
-
|
|
263
|
-
```json
|
|
264
|
-
{
|
|
265
|
-
"action": "get",
|
|
266
|
-
"resource": "agent",
|
|
267
|
-
"agent": "executor"
|
|
268
|
-
}
|
|
269
|
-
```
|
|
270
|
-
|
|
271
|
-
---
|
|
272
|
-
|
|
273
|
-
### `events` — Event log
|
|
274
|
-
|
|
275
|
-
```json
|
|
276
|
-
{
|
|
277
|
-
"action": "events",
|
|
278
|
-
"runId": "team_..."
|
|
279
|
-
}
|
|
280
|
-
```
|
|
281
|
-
|
|
282
|
-
Append-only JSONL events: task.started, task.completed, run.blocked, etc.
|
|
283
|
-
|
|
284
|
-
---
|
|
285
|
-
|
|
286
|
-
### `artifacts` — Run outputs
|
|
287
|
-
|
|
288
|
-
```json
|
|
289
|
-
{
|
|
290
|
-
"action": "artifacts",
|
|
291
|
-
"runId": "team_..."
|
|
292
|
-
}
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
### `worktrees` — Worktree metadata
|
|
298
|
-
|
|
299
|
-
```json
|
|
300
|
-
{
|
|
301
|
-
"action": "worktrees",
|
|
302
|
-
"runId": "team_..."
|
|
303
|
-
}
|
|
304
|
-
```
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
### `cleanup` — Xóa worktrees
|
|
309
|
-
|
|
310
|
-
```json
|
|
311
|
-
{
|
|
312
|
-
"action": "cleanup",
|
|
313
|
-
"runId": "team_..."
|
|
314
|
-
}
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
Dirty worktrees được giữ lại trừ khi `force: true`.
|
|
318
|
-
|
|
319
|
-
---
|
|
320
|
-
|
|
321
|
-
### `forget` — Xóa run hoàn toàn
|
|
322
|
-
|
|
323
|
-
```json
|
|
324
|
-
{
|
|
325
|
-
"action": "forget",
|
|
326
|
-
"runId": "team_...",
|
|
327
|
-
"confirm": true
|
|
328
|
-
}
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
Xóa state + artifacts + worktrees. Cần `confirm: true`.
|
|
332
|
-
|
|
333
|
-
---
|
|
334
|
-
|
|
335
|
-
### `prune` — Xóa nhiều runs cũ
|
|
336
|
-
|
|
337
|
-
```json
|
|
338
|
-
{
|
|
339
|
-
"action": "prune",
|
|
340
|
-
"confirm": true,
|
|
341
|
-
"keep": 10
|
|
342
|
-
}
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
Giữ lại `keep` runs gần nhất, xóa phần còn lại.
|
|
346
|
-
|
|
347
|
-
---
|
|
348
|
-
|
|
349
|
-
### `export` / `import` — Chia sẻ runs
|
|
350
|
-
|
|
351
|
-
Export:
|
|
352
|
-
|
|
353
|
-
```json
|
|
354
|
-
{
|
|
355
|
-
"action": "export",
|
|
356
|
-
"runId": "team_..."
|
|
357
|
-
}
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
Import:
|
|
361
|
-
|
|
362
|
-
```json
|
|
363
|
-
{
|
|
364
|
-
"action": "import",
|
|
365
|
-
"path": "/path/to/run-export.json"
|
|
366
|
-
}
|
|
367
|
-
```
|
|
368
|
-
|
|
369
|
-
User-global import:
|
|
370
|
-
|
|
371
|
-
```json
|
|
372
|
-
{
|
|
373
|
-
"action": "import",
|
|
374
|
-
"path": "/path/to/run-export.json",
|
|
375
|
-
"scope": "user"
|
|
376
|
-
}
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
List imports:
|
|
380
|
-
|
|
381
|
-
```json
|
|
382
|
-
{
|
|
383
|
-
"action": "imports"
|
|
384
|
-
}
|
|
385
|
-
```
|
|
386
|
-
|
|
387
|
-
---
|
|
388
|
-
|
|
389
|
-
### `create` — Tạo tài nguyên
|
|
390
|
-
|
|
391
|
-
Tạo agent:
|
|
392
|
-
|
|
393
|
-
```json
|
|
394
|
-
{
|
|
395
|
-
"action": "create",
|
|
396
|
-
"resource": "agent",
|
|
397
|
-
"config": {
|
|
398
|
-
"scope": "project",
|
|
399
|
-
"name": "api-reviewer",
|
|
400
|
-
"description": "Reviews backend API changes",
|
|
401
|
-
"systemPrompt": "You review backend API changes for correctness and compatibility.",
|
|
402
|
-
"triggers": ["api", "endpoint", "contract"],
|
|
403
|
-
"useWhen": ["backend API change", "OpenAPI contract update"],
|
|
404
|
-
"avoidWhen": ["documentation-only edits"],
|
|
405
|
-
"cost": "cheap",
|
|
406
|
-
"category": "backend"
|
|
407
|
-
}
|
|
408
|
-
}
|
|
409
|
-
```
|
|
410
|
-
|
|
411
|
-
Tạo team:
|
|
412
|
-
|
|
413
|
-
```json
|
|
414
|
-
{
|
|
415
|
-
"action": "create",
|
|
416
|
-
"resource": "team",
|
|
417
|
-
"config": {
|
|
418
|
-
"name": "backend-team",
|
|
419
|
-
"description": "Backend implementation team",
|
|
420
|
-
"scope": "project",
|
|
421
|
-
"defaultWorkflow": "default",
|
|
422
|
-
"roles": [
|
|
423
|
-
{ "name": "explorer", "agent": "explorer" },
|
|
424
|
-
{ "name": "executor", "agent": "executor" },
|
|
425
|
-
{ "name": "verifier", "agent": "verifier" }
|
|
426
|
-
]
|
|
427
|
-
}
|
|
428
|
-
}
|
|
429
|
-
```
|
|
430
|
-
|
|
431
|
-
Tạo workflow:
|
|
432
|
-
|
|
433
|
-
```json
|
|
434
|
-
{
|
|
435
|
-
"action": "create",
|
|
436
|
-
"resource": "workflow",
|
|
437
|
-
"config": {
|
|
438
|
-
"name": "quick-review",
|
|
439
|
-
"scope": "user",
|
|
440
|
-
"steps": [
|
|
441
|
-
{ "id": "review", "role": "reviewer", "prompt": "Review: {goal}" },
|
|
442
|
-
{ "id": "verify", "role": "verifier", "dependsOn": "review", "verify": true, "prompt": "Verify the review findings." }
|
|
443
|
-
]
|
|
444
|
-
}
|
|
445
|
-
}
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
---
|
|
449
|
-
|
|
450
|
-
### `update` — Cập nhật tài nguyên
|
|
451
|
-
|
|
452
|
-
```json
|
|
453
|
-
{
|
|
454
|
-
"action": "update",
|
|
455
|
-
"resource": "agent",
|
|
456
|
-
"agent": "worker",
|
|
457
|
-
"scope": "project",
|
|
458
|
-
"updateReferences": true,
|
|
459
|
-
"config": { "name": "better-worker", "description": "Improved worker agent" }
|
|
460
|
-
}
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
`updateReferences: true` sẽ tự động cập nhật tất cả team references trỏ đến tên cũ.
|
|
464
|
-
|
|
465
|
-
---
|
|
466
|
-
|
|
467
|
-
### `delete` — Xóa tài nguyên
|
|
468
|
-
|
|
469
|
-
```json
|
|
470
|
-
{
|
|
471
|
-
"action": "delete",
|
|
472
|
-
"resource": "team",
|
|
473
|
-
"team": "backend-team",
|
|
474
|
-
"scope": "project",
|
|
475
|
-
"confirm": true
|
|
476
|
-
}
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
Backup tự động trước khi xóa.
|
|
480
|
-
|
|
481
|
-
---
|
|
482
|
-
|
|
483
|
-
### `validate` — Kiểm tra tài nguyên
|
|
484
|
-
|
|
485
|
-
```json
|
|
486
|
-
{
|
|
487
|
-
"action": "validate"
|
|
488
|
-
}
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
Kiểm tra: agents, teams, workflows, references, model hints.
|
|
492
|
-
|
|
493
|
-
---
|
|
494
|
-
|
|
495
|
-
### `doctor` — Chẩn đoán môi trường
|
|
496
|
-
|
|
497
|
-
```json
|
|
498
|
-
{
|
|
499
|
-
"action": "doctor"
|
|
500
|
-
}
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
Kiểm tra: cwd, platform, Node.js, Pi version, git, state paths, config, resources, model/provider.
|
|
504
|
-
|
|
505
|
-
Smoke test child Pi (explicit):
|
|
506
|
-
|
|
507
|
-
```json
|
|
508
|
-
{
|
|
509
|
-
"action": "doctor",
|
|
510
|
-
"config": { "smokeChildPi": true }
|
|
511
|
-
}
|
|
512
|
-
```
|
|
513
|
-
|
|
514
|
-
---
|
|
515
|
-
|
|
516
|
-
### `api` — State interop nâng cao
|
|
517
|
-
|
|
518
|
-
Safe API cho run/task/event/heartbeat/claim/mailbox operations:
|
|
519
|
-
|
|
520
|
-
```text
|
|
521
|
-
/team-api <runId> <operation> [key=value]
|
|
522
|
-
```
|
|
523
|
-
|
|
524
|
-
Operations:
|
|
525
|
-
|
|
526
|
-
| Operation | Mô tả |
|
|
527
|
-
|-----------|-------|
|
|
528
|
-
| `read-manifest` | Đọc manifest |
|
|
529
|
-
| `list-tasks` | Liệt kê tasks |
|
|
530
|
-
| `read-task` | Đọc task (cần `taskId=`) |
|
|
531
|
-
| `read-events` | Đọc event log |
|
|
532
|
-
| `read-heartbeat` | Đọc heartbeat (cần `taskId=`) |
|
|
533
|
-
| `write-heartbeat` | Ghi heartbeat (cần `taskId=`, `alive=`) |
|
|
534
|
-
| `claim-task` | Claim task (cần `taskId=`, `owner=`) |
|
|
535
|
-
| `release-task-claim` | Release claim |
|
|
536
|
-
| `transition-task-status` | Chuyển task status |
|
|
537
|
-
| `send-message` | Gửi mailbox message |
|
|
538
|
-
| `read-mailbox` | Đọc mailbox |
|
|
539
|
-
| `ack-message` | Acknowledge message |
|
|
540
|
-
| `read-delivery` | Đọc delivery state |
|
|
541
|
-
| `validate-mailbox` | Validate/sửa mailbox |
|
|
542
|
-
| `approve-plan` | Approve plan (khi requirePlanApproval) |
|
|
543
|
-
| `cancel-plan` | Cancel plan |
|
|
544
|
-
|
|
545
|
-
---
|
|
546
|
-
|
|
547
|
-
### `config` — Cấu hình
|
|
548
|
-
|
|
549
|
-
Xem config hiện tại:
|
|
550
|
-
|
|
551
|
-
```json
|
|
552
|
-
{ "action": "config" }
|
|
553
|
-
```
|
|
554
|
-
|
|
555
|
-
Update user config:
|
|
556
|
-
|
|
557
|
-
```json
|
|
558
|
-
{
|
|
559
|
-
"action": "config",
|
|
560
|
-
"config": { "asyncByDefault": true }
|
|
561
|
-
}
|
|
562
|
-
```
|
|
563
|
-
|
|
564
|
-
Unset:
|
|
565
|
-
|
|
566
|
-
```json
|
|
567
|
-
{
|
|
568
|
-
"action": "config",
|
|
569
|
-
"config": { "autonomous.preferAsyncForLongTasks": "unset" }
|
|
570
|
-
}
|
|
571
|
-
```
|
|
572
|
-
|
|
573
|
-
---
|
|
574
|
-
|
|
575
|
-
### `init` — Khởi tạo project
|
|
576
|
-
|
|
577
|
-
```json
|
|
578
|
-
{ "action": "init" }
|
|
579
|
-
```
|
|
580
|
-
|
|
581
|
-
Copy builtins:
|
|
582
|
-
|
|
583
|
-
```json
|
|
584
|
-
{ "action": "init", "config": { "copyBuiltins": true, "overwrite": true } }
|
|
585
|
-
```
|
|
586
|
-
|
|
587
|
-
---
|
|
588
|
-
|
|
589
|
-
### `autonomy` — Delegation settings
|
|
590
|
-
|
|
591
|
-
```json
|
|
592
|
-
{ "action": "autonomy" }
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
Profiles: `manual`, `suggested`, `assisted`, `aggressive`.
|
|
1
|
+
# pi-crew — Tool Actions Reference
|
|
2
|
+
|
|
3
|
+
Tool `team` là công cụ chính mà pi-crew đăng ký vào Pi. Mọi thao tác đều đi qua `action`.
|
|
4
|
+
|
|
5
|
+
## Quick Reference
|
|
6
|
+
|
|
7
|
+
| Action | Purpose | Trọng tâm |
|
|
8
|
+
|--------|---------|-----------|
|
|
9
|
+
| `recommend` | Gợi ý team/workflow phù hợp | Bắt đầu khi chưa chắc chọn gì |
|
|
10
|
+
| `run` | Tạo run và thực thi workflow | Thao tác chính |
|
|
11
|
+
| `plan` | Preview workflow không chạy tasks | Dry-run planning |
|
|
12
|
+
| `status` | Đọc trạng thái run | Theo dõi tiến độ |
|
|
13
|
+
| `summary` | Đọc/ghi run summary artifact | Tổng kết |
|
|
14
|
+
| `cancel` | Hủy queued/running work | Dừng run |
|
|
15
|
+
| `resume` | Re-queue failed/cancelled tasks | Tiếp tục run |
|
|
16
|
+
| `list` | List teams, agents, workflows, runs | Khám phá tài nguyên |
|
|
17
|
+
| `get` | Inspect agent/team/workflow | Xem chi tiết |
|
|
18
|
+
| `events` | Đọc event log | Debug/audit |
|
|
19
|
+
| `artifacts` | List run artifacts | Xem outputs |
|
|
20
|
+
| `worktrees` | List run worktree metadata | Kiểm tra worktrees |
|
|
21
|
+
| `cleanup` | Xóa run worktrees | Dọn dẹp |
|
|
22
|
+
| `forget` | Xóa run state/artifacts | Xóa hẳn (cần `confirm`) |
|
|
23
|
+
| `prune` | Xóa nhiều old finished runs | Dọn dẹp hàng loạt |
|
|
24
|
+
| `export` | Export portable run bundle | Chia sẻ/backup |
|
|
25
|
+
| `import` | Import run bundle | Nhận run từ nơi khác |
|
|
26
|
+
| `imports` | List imported bundles | Xem imports |
|
|
27
|
+
| `create` | Tạo agent/team/workflow | Mở rộng tài nguyên |
|
|
28
|
+
| `update` | Cập nhật agent/team/workflow | Sửa tài nguyên |
|
|
29
|
+
| `delete` | Xóa agent/team/workflow | Xóa tài nguyên (cần `confirm`) |
|
|
30
|
+
| `validate` | Validate resources | Kiểm tra sức khỏe |
|
|
31
|
+
| `doctor` | Kiểm tra readiness | Chẩn đoán môi trường |
|
|
32
|
+
| `config` | Show/update config | Cấu hình |
|
|
33
|
+
| `init` | Khởi tạo project layout | Setup ban đầu |
|
|
34
|
+
| `autonomy` | Quản lý delegation settings | Điều chỉnh tự động hóa |
|
|
35
|
+
| `api` | Safe interop cho state operations | Tích hợp nâng cao |
|
|
36
|
+
| `help` | Hiển thị help text | Trợ giúp |
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
## Chi tiết từng Action
|
|
41
|
+
|
|
42
|
+
### `recommend` — Gợi ý định hướng
|
|
43
|
+
|
|
44
|
+
Khi chưa biết dùng team/workflow nào, gọi `recommend` để nhận phân tích + đề xuất:
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"action": "recommend",
|
|
49
|
+
"goal": "Refactor auth flow and add tests"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Response gồm:
|
|
54
|
+
- Team/workflow được gợi ý
|
|
55
|
+
- Fanout hints (bao nhiêu subagents)
|
|
56
|
+
- Có nên async hay worktree không
|
|
57
|
+
- Lý do lựa chọn
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
### `run` — Thực thi workflow
|
|
62
|
+
|
|
63
|
+
Đây là action chính. Tạo run manifest, task graph, và thực thi.
|
|
64
|
+
|
|
65
|
+
#### Cú pháp cơ bản
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"action": "run",
|
|
70
|
+
"team": "default",
|
|
71
|
+
"goal": "Investigate failing tests and propose a fix"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
#### Chọn team
|
|
76
|
+
|
|
77
|
+
| Team | Mục đích |
|
|
78
|
+
|------|----------|
|
|
79
|
+
| `default` | Cân bằng, 4 bước: explore → plan → execute → verify |
|
|
80
|
+
| `fast-fix` | Sửa bug nhỏ: explore → execute → verify |
|
|
81
|
+
| `implementation` | Adaptive planner tự quyết fanout |
|
|
82
|
+
| `review` | Code review + security review |
|
|
83
|
+
| `research` | Nghiên cứu và viết tài liệu |
|
|
84
|
+
|
|
85
|
+
#### Chạy bất đồng bộ (async)
|
|
86
|
+
|
|
87
|
+
```json
|
|
88
|
+
{
|
|
89
|
+
"action": "run",
|
|
90
|
+
"team": "implementation",
|
|
91
|
+
"goal": "Implement user settings screen",
|
|
92
|
+
"async": true
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
Run tách riêng khỏi session, có thể sống qua session switch/reload. Pi-crew tự động notify khi run hoàn thành.
|
|
97
|
+
|
|
98
|
+
#### Worktree isolation
|
|
99
|
+
|
|
100
|
+
```json
|
|
101
|
+
{
|
|
102
|
+
"action": "run",
|
|
103
|
+
"team": "implementation",
|
|
104
|
+
"goal": "Add API endpoint and tests",
|
|
105
|
+
"workspaceMode": "worktree"
|
|
106
|
+
}
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
Mỗi task chạy trong git worktree riêng — an toàn cho codebase chính. Yêu cầu repo clean.
|
|
110
|
+
|
|
111
|
+
#### Override model
|
|
112
|
+
|
|
113
|
+
```json
|
|
114
|
+
{
|
|
115
|
+
"action": "run",
|
|
116
|
+
"team": "default",
|
|
117
|
+
"goal": "Quick exploration",
|
|
118
|
+
"model": "gpt-4o-mini"
|
|
119
|
+
}
|
|
120
|
+
```
|
|
121
|
+
|
|
122
|
+
#### Override config cho run
|
|
123
|
+
|
|
124
|
+
```json
|
|
125
|
+
{
|
|
126
|
+
"action": "run",
|
|
127
|
+
"team": "implementation",
|
|
128
|
+
"goal": "Refactor auth",
|
|
129
|
+
"config": {
|
|
130
|
+
"runtime": { "requirePlanApproval": true },
|
|
131
|
+
"limits": { "maxConcurrentWorkers": 4 }
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
#### Plan approval gate
|
|
137
|
+
|
|
138
|
+
Yêu cầu explicit approve sau khi planner tạo plan, trước khi executor chạy:
|
|
139
|
+
|
|
140
|
+
```json
|
|
141
|
+
{
|
|
142
|
+
"action": "run",
|
|
143
|
+
"team": "implementation",
|
|
144
|
+
"goal": "Major refactor",
|
|
145
|
+
"config": {
|
|
146
|
+
"runtime": { "requirePlanApproval": true }
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
Approve:
|
|
152
|
+
|
|
153
|
+
```json
|
|
154
|
+
{
|
|
155
|
+
"action": "api",
|
|
156
|
+
"runId": "team_...",
|
|
157
|
+
"config": { "operation": "approve-plan" }
|
|
158
|
+
}
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
Cancel plan:
|
|
162
|
+
|
|
163
|
+
```json
|
|
164
|
+
{
|
|
165
|
+
"action": "api",
|
|
166
|
+
"runId": "team_...",
|
|
167
|
+
"config": { "operation": "cancel-plan" }
|
|
168
|
+
}
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
---
|
|
172
|
+
|
|
173
|
+
### `plan` — Preview workflow
|
|
174
|
+
|
|
175
|
+
Giống `run` nhưng **không spawn workers**. Xem trước task graph sẽ tạo:
|
|
176
|
+
|
|
177
|
+
```json
|
|
178
|
+
{
|
|
179
|
+
"action": "plan",
|
|
180
|
+
"team": "implementation",
|
|
181
|
+
"goal": "Add authentication module"
|
|
182
|
+
}
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
---
|
|
186
|
+
|
|
187
|
+
### `status` — Trạng thái run
|
|
188
|
+
|
|
189
|
+
```json
|
|
190
|
+
{
|
|
191
|
+
"action": "status",
|
|
192
|
+
"runId": "team_..."
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Output gồm: manifest, tasks, agents, timing, usage totals.
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### `summary` — Tổng kết run
|
|
201
|
+
|
|
202
|
+
Đọc summary:
|
|
203
|
+
|
|
204
|
+
```json
|
|
205
|
+
{
|
|
206
|
+
"action": "summary",
|
|
207
|
+
"runId": "team_..."
|
|
208
|
+
}
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
Ghi summary:
|
|
212
|
+
|
|
213
|
+
```json
|
|
214
|
+
{
|
|
215
|
+
"action": "summary",
|
|
216
|
+
"runId": "team_...",
|
|
217
|
+
"message": "Implemented auth with tests. All passing."
|
|
218
|
+
}
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
---
|
|
222
|
+
|
|
223
|
+
### `cancel` — Hủy run
|
|
224
|
+
|
|
225
|
+
```json
|
|
226
|
+
{
|
|
227
|
+
"action": "cancel",
|
|
228
|
+
"runId": "team_..."
|
|
229
|
+
}
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
Hủy tất cả queued/running tasks. Running child processes nhận SIGTERM.
|
|
233
|
+
|
|
234
|
+
---
|
|
235
|
+
|
|
236
|
+
### `resume` — Tiếp tục run
|
|
237
|
+
|
|
238
|
+
```json
|
|
239
|
+
{
|
|
240
|
+
"action": "resume",
|
|
241
|
+
"runId": "team_..."
|
|
242
|
+
}
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Re-queue failed/cancelled/skipped tasks. Tasks đã completed không bị ảnh hưởng.
|
|
246
|
+
|
|
247
|
+
---
|
|
248
|
+
|
|
249
|
+
### `list` — Liệt kê tài nguyên
|
|
250
|
+
|
|
251
|
+
```json
|
|
252
|
+
{
|
|
253
|
+
"action": "list"
|
|
254
|
+
}
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
Hiển thị: teams, agents, workflows đã discover, và recent runs.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
### `get` — Xem chi tiết tài nguyên
|
|
262
|
+
|
|
263
|
+
```json
|
|
264
|
+
{
|
|
265
|
+
"action": "get",
|
|
266
|
+
"resource": "agent",
|
|
267
|
+
"agent": "executor"
|
|
268
|
+
}
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
---
|
|
272
|
+
|
|
273
|
+
### `events` — Event log
|
|
274
|
+
|
|
275
|
+
```json
|
|
276
|
+
{
|
|
277
|
+
"action": "events",
|
|
278
|
+
"runId": "team_..."
|
|
279
|
+
}
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
Append-only JSONL events: task.started, task.completed, run.blocked, etc.
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### `artifacts` — Run outputs
|
|
287
|
+
|
|
288
|
+
```json
|
|
289
|
+
{
|
|
290
|
+
"action": "artifacts",
|
|
291
|
+
"runId": "team_..."
|
|
292
|
+
}
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
---
|
|
296
|
+
|
|
297
|
+
### `worktrees` — Worktree metadata
|
|
298
|
+
|
|
299
|
+
```json
|
|
300
|
+
{
|
|
301
|
+
"action": "worktrees",
|
|
302
|
+
"runId": "team_..."
|
|
303
|
+
}
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
---
|
|
307
|
+
|
|
308
|
+
### `cleanup` — Xóa worktrees
|
|
309
|
+
|
|
310
|
+
```json
|
|
311
|
+
{
|
|
312
|
+
"action": "cleanup",
|
|
313
|
+
"runId": "team_..."
|
|
314
|
+
}
|
|
315
|
+
```
|
|
316
|
+
|
|
317
|
+
Dirty worktrees được giữ lại trừ khi `force: true`.
|
|
318
|
+
|
|
319
|
+
---
|
|
320
|
+
|
|
321
|
+
### `forget` — Xóa run hoàn toàn
|
|
322
|
+
|
|
323
|
+
```json
|
|
324
|
+
{
|
|
325
|
+
"action": "forget",
|
|
326
|
+
"runId": "team_...",
|
|
327
|
+
"confirm": true
|
|
328
|
+
}
|
|
329
|
+
```
|
|
330
|
+
|
|
331
|
+
Xóa state + artifacts + worktrees. Cần `confirm: true`.
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
### `prune` — Xóa nhiều runs cũ
|
|
336
|
+
|
|
337
|
+
```json
|
|
338
|
+
{
|
|
339
|
+
"action": "prune",
|
|
340
|
+
"confirm": true,
|
|
341
|
+
"keep": 10
|
|
342
|
+
}
|
|
343
|
+
```
|
|
344
|
+
|
|
345
|
+
Giữ lại `keep` runs gần nhất, xóa phần còn lại.
|
|
346
|
+
|
|
347
|
+
---
|
|
348
|
+
|
|
349
|
+
### `export` / `import` — Chia sẻ runs
|
|
350
|
+
|
|
351
|
+
Export:
|
|
352
|
+
|
|
353
|
+
```json
|
|
354
|
+
{
|
|
355
|
+
"action": "export",
|
|
356
|
+
"runId": "team_..."
|
|
357
|
+
}
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
Import:
|
|
361
|
+
|
|
362
|
+
```json
|
|
363
|
+
{
|
|
364
|
+
"action": "import",
|
|
365
|
+
"path": "/path/to/run-export.json"
|
|
366
|
+
}
|
|
367
|
+
```
|
|
368
|
+
|
|
369
|
+
User-global import:
|
|
370
|
+
|
|
371
|
+
```json
|
|
372
|
+
{
|
|
373
|
+
"action": "import",
|
|
374
|
+
"path": "/path/to/run-export.json",
|
|
375
|
+
"scope": "user"
|
|
376
|
+
}
|
|
377
|
+
```
|
|
378
|
+
|
|
379
|
+
List imports:
|
|
380
|
+
|
|
381
|
+
```json
|
|
382
|
+
{
|
|
383
|
+
"action": "imports"
|
|
384
|
+
}
|
|
385
|
+
```
|
|
386
|
+
|
|
387
|
+
---
|
|
388
|
+
|
|
389
|
+
### `create` — Tạo tài nguyên
|
|
390
|
+
|
|
391
|
+
Tạo agent:
|
|
392
|
+
|
|
393
|
+
```json
|
|
394
|
+
{
|
|
395
|
+
"action": "create",
|
|
396
|
+
"resource": "agent",
|
|
397
|
+
"config": {
|
|
398
|
+
"scope": "project",
|
|
399
|
+
"name": "api-reviewer",
|
|
400
|
+
"description": "Reviews backend API changes",
|
|
401
|
+
"systemPrompt": "You review backend API changes for correctness and compatibility.",
|
|
402
|
+
"triggers": ["api", "endpoint", "contract"],
|
|
403
|
+
"useWhen": ["backend API change", "OpenAPI contract update"],
|
|
404
|
+
"avoidWhen": ["documentation-only edits"],
|
|
405
|
+
"cost": "cheap",
|
|
406
|
+
"category": "backend"
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
Tạo team:
|
|
412
|
+
|
|
413
|
+
```json
|
|
414
|
+
{
|
|
415
|
+
"action": "create",
|
|
416
|
+
"resource": "team",
|
|
417
|
+
"config": {
|
|
418
|
+
"name": "backend-team",
|
|
419
|
+
"description": "Backend implementation team",
|
|
420
|
+
"scope": "project",
|
|
421
|
+
"defaultWorkflow": "default",
|
|
422
|
+
"roles": [
|
|
423
|
+
{ "name": "explorer", "agent": "explorer" },
|
|
424
|
+
{ "name": "executor", "agent": "executor" },
|
|
425
|
+
{ "name": "verifier", "agent": "verifier" }
|
|
426
|
+
]
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
Tạo workflow:
|
|
432
|
+
|
|
433
|
+
```json
|
|
434
|
+
{
|
|
435
|
+
"action": "create",
|
|
436
|
+
"resource": "workflow",
|
|
437
|
+
"config": {
|
|
438
|
+
"name": "quick-review",
|
|
439
|
+
"scope": "user",
|
|
440
|
+
"steps": [
|
|
441
|
+
{ "id": "review", "role": "reviewer", "prompt": "Review: {goal}" },
|
|
442
|
+
{ "id": "verify", "role": "verifier", "dependsOn": "review", "verify": true, "prompt": "Verify the review findings." }
|
|
443
|
+
]
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
```
|
|
447
|
+
|
|
448
|
+
---
|
|
449
|
+
|
|
450
|
+
### `update` — Cập nhật tài nguyên
|
|
451
|
+
|
|
452
|
+
```json
|
|
453
|
+
{
|
|
454
|
+
"action": "update",
|
|
455
|
+
"resource": "agent",
|
|
456
|
+
"agent": "worker",
|
|
457
|
+
"scope": "project",
|
|
458
|
+
"updateReferences": true,
|
|
459
|
+
"config": { "name": "better-worker", "description": "Improved worker agent" }
|
|
460
|
+
}
|
|
461
|
+
```
|
|
462
|
+
|
|
463
|
+
`updateReferences: true` sẽ tự động cập nhật tất cả team references trỏ đến tên cũ.
|
|
464
|
+
|
|
465
|
+
---
|
|
466
|
+
|
|
467
|
+
### `delete` — Xóa tài nguyên
|
|
468
|
+
|
|
469
|
+
```json
|
|
470
|
+
{
|
|
471
|
+
"action": "delete",
|
|
472
|
+
"resource": "team",
|
|
473
|
+
"team": "backend-team",
|
|
474
|
+
"scope": "project",
|
|
475
|
+
"confirm": true
|
|
476
|
+
}
|
|
477
|
+
```
|
|
478
|
+
|
|
479
|
+
Backup tự động trước khi xóa.
|
|
480
|
+
|
|
481
|
+
---
|
|
482
|
+
|
|
483
|
+
### `validate` — Kiểm tra tài nguyên
|
|
484
|
+
|
|
485
|
+
```json
|
|
486
|
+
{
|
|
487
|
+
"action": "validate"
|
|
488
|
+
}
|
|
489
|
+
```
|
|
490
|
+
|
|
491
|
+
Kiểm tra: agents, teams, workflows, references, model hints.
|
|
492
|
+
|
|
493
|
+
---
|
|
494
|
+
|
|
495
|
+
### `doctor` — Chẩn đoán môi trường
|
|
496
|
+
|
|
497
|
+
```json
|
|
498
|
+
{
|
|
499
|
+
"action": "doctor"
|
|
500
|
+
}
|
|
501
|
+
```
|
|
502
|
+
|
|
503
|
+
Kiểm tra: cwd, platform, Node.js, Pi version, git, state paths, config, resources, model/provider.
|
|
504
|
+
|
|
505
|
+
Smoke test child Pi (explicit):
|
|
506
|
+
|
|
507
|
+
```json
|
|
508
|
+
{
|
|
509
|
+
"action": "doctor",
|
|
510
|
+
"config": { "smokeChildPi": true }
|
|
511
|
+
}
|
|
512
|
+
```
|
|
513
|
+
|
|
514
|
+
---
|
|
515
|
+
|
|
516
|
+
### `api` — State interop nâng cao
|
|
517
|
+
|
|
518
|
+
Safe API cho run/task/event/heartbeat/claim/mailbox operations:
|
|
519
|
+
|
|
520
|
+
```text
|
|
521
|
+
/team-api <runId> <operation> [key=value]
|
|
522
|
+
```
|
|
523
|
+
|
|
524
|
+
Operations:
|
|
525
|
+
|
|
526
|
+
| Operation | Mô tả |
|
|
527
|
+
|-----------|-------|
|
|
528
|
+
| `read-manifest` | Đọc manifest |
|
|
529
|
+
| `list-tasks` | Liệt kê tasks |
|
|
530
|
+
| `read-task` | Đọc task (cần `taskId=`) |
|
|
531
|
+
| `read-events` | Đọc event log |
|
|
532
|
+
| `read-heartbeat` | Đọc heartbeat (cần `taskId=`) |
|
|
533
|
+
| `write-heartbeat` | Ghi heartbeat (cần `taskId=`, `alive=`) |
|
|
534
|
+
| `claim-task` | Claim task (cần `taskId=`, `owner=`) |
|
|
535
|
+
| `release-task-claim` | Release claim |
|
|
536
|
+
| `transition-task-status` | Chuyển task status |
|
|
537
|
+
| `send-message` | Gửi mailbox message |
|
|
538
|
+
| `read-mailbox` | Đọc mailbox |
|
|
539
|
+
| `ack-message` | Acknowledge message |
|
|
540
|
+
| `read-delivery` | Đọc delivery state |
|
|
541
|
+
| `validate-mailbox` | Validate/sửa mailbox |
|
|
542
|
+
| `approve-plan` | Approve plan (khi requirePlanApproval) |
|
|
543
|
+
| `cancel-plan` | Cancel plan |
|
|
544
|
+
|
|
545
|
+
---
|
|
546
|
+
|
|
547
|
+
### `config` — Cấu hình
|
|
548
|
+
|
|
549
|
+
Xem config hiện tại:
|
|
550
|
+
|
|
551
|
+
```json
|
|
552
|
+
{ "action": "config" }
|
|
553
|
+
```
|
|
554
|
+
|
|
555
|
+
Update user config:
|
|
556
|
+
|
|
557
|
+
```json
|
|
558
|
+
{
|
|
559
|
+
"action": "config",
|
|
560
|
+
"config": { "asyncByDefault": true }
|
|
561
|
+
}
|
|
562
|
+
```
|
|
563
|
+
|
|
564
|
+
Unset:
|
|
565
|
+
|
|
566
|
+
```json
|
|
567
|
+
{
|
|
568
|
+
"action": "config",
|
|
569
|
+
"config": { "autonomous.preferAsyncForLongTasks": "unset" }
|
|
570
|
+
}
|
|
571
|
+
```
|
|
572
|
+
|
|
573
|
+
---
|
|
574
|
+
|
|
575
|
+
### `init` — Khởi tạo project
|
|
576
|
+
|
|
577
|
+
```json
|
|
578
|
+
{ "action": "init" }
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
Copy builtins:
|
|
582
|
+
|
|
583
|
+
```json
|
|
584
|
+
{ "action": "init", "config": { "copyBuiltins": true, "overwrite": true } }
|
|
585
|
+
```
|
|
586
|
+
|
|
587
|
+
---
|
|
588
|
+
|
|
589
|
+
### `autonomy` — Delegation settings
|
|
590
|
+
|
|
591
|
+
```json
|
|
592
|
+
{ "action": "autonomy" }
|
|
593
|
+
```
|
|
594
|
+
|
|
595
|
+
Profiles: `manual`, `suggested`, `assisted`, `aggressive`.
|