Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
160 commits
Select commit Hold shift + click to select a range
ec121a7
feat(config): add team-mode configuration schema and merge support
code-yeongyu Apr 28, 2026
96161cc
feat(tmux): introduce typed tmux command runner abstraction
code-yeongyu Apr 28, 2026
c9e544a
refactor(tmux): export sweepTmuxSessionsWith and add runtime tests
code-yeongyu Apr 28, 2026
b9a40f0
refactor(tmux): migrate layout commands to typed runner
code-yeongyu Apr 28, 2026
cfce0cc
refactor(tmux): migrate pane-close to runner and expand test coverage
code-yeongyu Apr 28, 2026
d901020
feat(tmux): add pane-dimensions utility with tests
code-yeongyu Apr 28, 2026
f93e15b
feat(tmux): add pane-replace utility with tests
code-yeongyu Apr 28, 2026
56250a4
feat(tmux): add pane-spawn utility with runner tests
code-yeongyu Apr 28, 2026
ad31598
feat(tmux): add session-kill utility with runner tests
code-yeongyu Apr 28, 2026
13b3bd9
feat(tmux): add session-spawn utility with tests
code-yeongyu Apr 28, 2026
4a5e7cf
feat(tmux): add window-spawn utility with tests
code-yeongyu Apr 28, 2026
90e6e0c
feat(openclaw): integrate typed tmux runner for external dispatch
code-yeongyu Apr 28, 2026
c8b2250
refactor(tmux-subagent): stabilize polling, execution and session lif…
code-yeongyu Apr 28, 2026
b6dcf05
test(tmux-subagent): expand action-executor test coverage
code-yeongyu Apr 28, 2026
680927d
test(tmux-subagent): expand polling-manager test coverage
code-yeongyu Apr 28, 2026
77655a7
test(tmux-subagent): expand manager test coverage
code-yeongyu Apr 28, 2026
8d3d882
test(tmux-subagent): add manager project-directory resolution tests
code-yeongyu Apr 28, 2026
49bb5dd
test(tmux-subagent): add pane-state-querier runner tests
code-yeongyu Apr 28, 2026
5e4ae88
test(tmux-subagent): expand zombie-pane test coverage
code-yeongyu Apr 28, 2026
783d705
feat(team-mode): add core types, dependencies and type-level tests
code-yeongyu Apr 28, 2026
8a42d7f
feat(team-mode): add member guidance and parser utilities
code-yeongyu Apr 28, 2026
41d6e12
feat(team-mode): add member session resolution and routing logic
code-yeongyu Apr 28, 2026
8c4c4ff
feat(team-mode): add caller team-lead resolution with tests
code-yeongyu Apr 28, 2026
3a93cb7
test(team-mode): add integration test for team-mode lifecycle
code-yeongyu Apr 28, 2026
a910239
feat(team-mode): add team session registry with tests
code-yeongyu Apr 28, 2026
b2359c0
feat(team-mode): add team registry path utilities with tests
code-yeongyu Apr 28, 2026
de30721
feat(team-mode): add team registry loader with normalization tests
code-yeongyu Apr 28, 2026
cf050dc
feat(team-mode): add team spec input normalizer with tests
code-yeongyu Apr 28, 2026
2866d32
feat(team-mode): add team registry validator with tests
code-yeongyu Apr 28, 2026
48bac22
feat(team-mode): export team-registry barrel
code-yeongyu Apr 28, 2026
1bec921
feat(team-mode): add team state store with tests
code-yeongyu Apr 28, 2026
79fb12e
feat(team-mode): add team state store locks with tests
code-yeongyu Apr 28, 2026
274df1f
feat(team-mode): add team state store resume logic with tests
code-yeongyu Apr 28, 2026
23e6a53
feat(team-mode): export team-state-store barrel
code-yeongyu Apr 28, 2026
6e0f6ae
feat(team-mode): add team tasklist store with tests
code-yeongyu Apr 28, 2026
031a7a4
feat(team-mode): add team tasklist get with tests
code-yeongyu Apr 28, 2026
0433484
feat(team-mode): add team tasklist list with tests
code-yeongyu Apr 28, 2026
4270af3
feat(team-mode): add team tasklist claim with tests
code-yeongyu Apr 28, 2026
205ce93
feat(team-mode): add team tasklist dependencies with tests
code-yeongyu Apr 28, 2026
f725937
feat(team-mode): add team tasklist update with tests
code-yeongyu Apr 28, 2026
b34cd87
feat(team-mode): add team tasklist test-support utilities
code-yeongyu Apr 28, 2026
796143a
feat(team-mode): export team-tasklist barrel
code-yeongyu Apr 28, 2026
85cc30a
feat(team-mode): add team mailbox inbox with tests
code-yeongyu Apr 28, 2026
07368b4
feat(team-mode): add team mailbox send with tests
code-yeongyu Apr 28, 2026
3f69333
feat(team-mode): add team mailbox ack with tests
code-yeongyu Apr 28, 2026
2ce86ff
feat(team-mode): add team mailbox poll with tests
code-yeongyu Apr 28, 2026
01aeeed
feat(team-mode): add team mailbox reservation logic
code-yeongyu Apr 28, 2026
0f20a1b
feat(team-mode): export team-mailbox barrel
code-yeongyu Apr 28, 2026
c5df781
feat(team-mode): add tmux team layout creation and removal
code-yeongyu Apr 28, 2026
a13ef03
feat(team-mode): add close-team-member-pane command with tests
code-yeongyu Apr 28, 2026
eb61091
feat(team-mode): add rebalance-team-window command with tests
code-yeongyu Apr 28, 2026
2b8096f
feat(team-mode): add resolve-caller-tmux-session helper with tests
code-yeongyu Apr 28, 2026
f78b1e6
feat(team-mode): add sweep-stale-team-sessions with tests
code-yeongyu Apr 28, 2026
51382c1
test(team-mode): add live tmux smoke test for team layout
code-yeongyu Apr 28, 2026
d9785c7
feat(team-mode): add team runtime create with tests
code-yeongyu Apr 28, 2026
301e02c
feat(team-mode): add team runtime status query with tests
code-yeongyu Apr 28, 2026
a65d54c
feat(team-mode): add team runtime member resolver with tests
code-yeongyu Apr 28, 2026
d958b7f
feat(team-mode): add team runtime member dependency resolution
code-yeongyu Apr 28, 2026
4645d56
feat(team-mode): add team runtime layout activation with tests
code-yeongyu Apr 28, 2026
62d4090
feat(team-mode): add team runtime delete with background cancellation…
code-yeongyu Apr 28, 2026
cb1c750
feat(team-mode): add team runtime resource cleanup with tests
code-yeongyu Apr 28, 2026
c657dff
feat(team-mode): add team runtime shutdown helpers and tests
code-yeongyu Apr 28, 2026
a10ab16
feat(team-mode): export team-runtime barrel
code-yeongyu Apr 28, 2026
f432798
feat(team-mode): add team lifecycle tools with inline spec tests
code-yeongyu Apr 28, 2026
379b3fd
feat(team-mode): add team messaging tools with missing-session tests
code-yeongyu Apr 28, 2026
b71c6e1
feat(team-mode): add team query tools with tests
code-yeongyu Apr 28, 2026
f2555fe
feat(team-mode): add team tasks tools with tests
code-yeongyu Apr 28, 2026
d3c020c
feat(team-mode): export team-tools barrel
code-yeongyu Apr 28, 2026
c9fdb04
feat(builtin-skills): add team-mode skill implementation with tests
code-yeongyu Apr 28, 2026
844dcd4
feat(builtin-skills): register team-mode skill in exports
code-yeongyu Apr 28, 2026
7f8034c
feat(hooks): add team mailbox injector hook with tests
code-yeongyu Apr 28, 2026
bd768a4
feat(hooks): add team-mode status injector hook with tests
code-yeongyu Apr 28, 2026
c16c67c
feat(hooks): add team idle wake hint handler with tests
code-yeongyu Apr 28, 2026
de88241
feat(hooks): add team lead orphan handler with tests
code-yeongyu Apr 28, 2026
384132c
feat(hooks): add team member error handler with tests
code-yeongyu Apr 28, 2026
438806e
feat(hooks): add team member status handler with tests
code-yeongyu Apr 28, 2026
ecd9cee
feat(hooks): add team tool gating hook with tests
code-yeongyu Apr 28, 2026
2c48cab
feat(plugin): initialize team-mode at plugin entry and config merge
code-yeongyu Apr 28, 2026
2258c00
feat(plugin-handlers): wire team-mode into agent, command and tool co…
code-yeongyu Apr 28, 2026
47e0fba
feat(plugin): register team-mode tools and expand registry tests
code-yeongyu Apr 28, 2026
f882f04
feat(plugin): add team-mode gating to tool execute hooks
code-yeongyu Apr 28, 2026
dabd35f
feat(plugin): integrate team-mode into session events and synthetic i…
code-yeongyu Apr 28, 2026
d67e57e
feat(plugin): include team-mode in message transform and skill context
code-yeongyu Apr 28, 2026
473062d
feat(hooks): export team-mode hooks from central index
code-yeongyu Apr 28, 2026
d2a28c1
feat(hooks): adapt session-recovery for team-mode session semantics
code-yeongyu Apr 28, 2026
79ba0e6
feat(hooks): add aggressive truncation strategy tests for context-win…
code-yeongyu Apr 28, 2026
6327a7a
feat(agents): add available-skills resolution with tests
code-yeongyu Apr 28, 2026
a110c73
feat(agents): register team-mode in builtin and general agent definit…
code-yeongyu Apr 28, 2026
98a69b9
feat(agents): adapt agent-skill-resolution for team-mode skills
code-yeongyu Apr 28, 2026
527ab51
feat(agents): adapt momus agent for team-mode context
code-yeongyu Apr 28, 2026
75fc915
test(agents): expand hephaestus and utils tests for team-mode
code-yeongyu Apr 28, 2026
fc31524
feat(tools): register team-mode skill tooling and update exports
code-yeongyu Apr 28, 2026
2078f9c
feat(tools): extend delegate-task types for team-mode subagents
code-yeongyu Apr 28, 2026
39f27b9
feat(tools): wire team-mode into skill and subagent resolvers
code-yeongyu Apr 28, 2026
2e6bb34
feat(builtin-commands): adapt commands and templates for team-mode
code-yeongyu Apr 28, 2026
417a368
feat(background-agent): extend types for team-mode background tasks
code-yeongyu Apr 28, 2026
a0d122b
feat(background-agent): integrate team-mode into background manager
code-yeongyu Apr 28, 2026
00a6647
feat(background-agent): adapt idle event handler for team-mode sessions
code-yeongyu Apr 28, 2026
15a0e10
feat(background-agent): adapt task poller for team-mode work distribu…
code-yeongyu Apr 28, 2026
7fbefa4
feat(claude-code-loader): adapt plugin discovery for team-mode
code-yeongyu Apr 28, 2026
855c848
feat(opencode-skill-loader): adapt skill resolution and discovery for…
code-yeongyu Apr 28, 2026
a475e45
feat(cli): add doctor check for team-mode dependencies
code-yeongyu Apr 28, 2026
1168e3a
test(perf): add plugin init team-mode resume-defer benchmark
code-yeongyu Apr 28, 2026
83eff39
assets: regenerate oh-my-opencode schema json with team-mode
code-yeongyu Apr 28, 2026
6e1df2c
docs(guide): add team-mode guide
code-yeongyu Apr 28, 2026
c3884cc
docs(guide): update agent-model-matching with team-mode
code-yeongyu Apr 28, 2026
dc02767
docs: update overview, features reference and AGENTS.md for team-mode
code-yeongyu Apr 28, 2026
d7d9564
docs: add AGENTS.md for team-mode and tmux-subagent features
code-yeongyu Apr 28, 2026
dcd5beb
docs(readme): update en README for team-mode
code-yeongyu Apr 28, 2026
5c04f3a
docs(readme): update ko README for team-mode
code-yeongyu Apr 28, 2026
073328b
docs(readme): update ja README for team-mode
code-yeongyu Apr 28, 2026
c142f6d
docs(readme): update ru README for team-mode
code-yeongyu Apr 28, 2026
22056bd
docs(readme): update zh-cn README for team-mode
code-yeongyu Apr 28, 2026
690d107
ci: adapt workflows and test runner for team-mode
code-yeongyu Apr 28, 2026
f3b9a8a
assets: update omo.png
code-yeongyu Apr 28, 2026
cba3e21
chore: update gitignore for team-mode artifacts
code-yeongyu Apr 28, 2026
20a66f7
feat(plugin): wire team-mode into tool-guard and transform hook creation
code-yeongyu Apr 28, 2026
34b659a
feat(shared): update agent display names for team-mode
code-yeongyu Apr 28, 2026
c79addb
test(shared): expand migrate-legacy-config-file tests for team-mode
code-yeongyu Apr 28, 2026
2ffe5af
feat(shared): add supplemental model capability entries for team-mode
code-yeongyu Apr 28, 2026
25d9437
feat(keyword-detector): add team mode keyword detection
code-yeongyu Apr 28, 2026
91c0d75
feat(keyword-detector): add per-keyword disable config
code-yeongyu Apr 28, 2026
4d44877
fix(team-mode): reject empty team_create lead session override
code-yeongyu Apr 28, 2026
b54922d
fix(team-mode): forbid delegate-task in member guidance
code-yeongyu Apr 28, 2026
924dd85
fix(hephaestus): restore autonomy prompt section
code-yeongyu Apr 28, 2026
91b7fca
fix(plugin): replace any type with explicit summarize overloads in ev…
code-yeongyu Apr 28, 2026
585ad6d
feat(config): add hyperplan to builtin command schema
code-yeongyu Apr 28, 2026
4af7d62
feat(config): add hyperplan to keyword detector type schema
code-yeongyu Apr 28, 2026
592308d
feat(builtin-commands): add hyperplan to command name type
code-yeongyu Apr 28, 2026
a75a24d
feat(builtin-commands): add hyperplan command template
code-yeongyu Apr 28, 2026
f025a4c
feat(keyword-detector): add hyperplan keyword pattern, message and test
code-yeongyu Apr 28, 2026
b32f274
feat(keyword-detector): register hyperplan in keyword detectors array
code-yeongyu Apr 28, 2026
65e2643
feat(keyword-detector): add hyperplan to detector types list
code-yeongyu Apr 28, 2026
5af4160
feat(builtin-commands): register hyperplan builtin command
code-yeongyu Apr 28, 2026
3befe5f
feat(keyword-detector): add hyperplan toast and planner filtering to …
code-yeongyu Apr 28, 2026
8344997
assets: regenerate oh-my-opencode schema with hyperplan
code-yeongyu Apr 28, 2026
9a0aec0
feat(skills): add hyperplan skill
code-yeongyu Apr 28, 2026
0b4390b
feat(skills/hyperplan): mandate plan agent handoff after adversarial …
code-yeongyu Apr 28, 2026
09fe4ca
fix(hyperplan): align keyword detector and command template with mand…
code-yeongyu Apr 28, 2026
5c67482
feat(keyword-detector): add hyperplan-ultrawork combo + tuple refactor
code-yeongyu Apr 29, 2026
cc17808
chore(schema): regenerate JSON schema for hyperplan-ultrawork keyword
code-yeongyu Apr 29, 2026
d8f89b6
fix(team-mode): preserve per-category model for kind:"category" members
code-yeongyu Apr 30, 2026
f6643e7
fix(keyword-detector): yield to slash commands so /hyperplan executes…
code-yeongyu Apr 30, 2026
c90be7f
feat(team-mode): align member and lead prompts with Claude Code free-…
code-yeongyu Apr 30, 2026
d737f2e
test(background-agent): remove forbidden assertions in manager tests
code-yeongyu Apr 30, 2026
267745f
test(plugin): remove forbidden assertions in event tests
code-yeongyu Apr 30, 2026
ea5e3e0
fix(model): allow artistry category fallbacks
code-yeongyu May 1, 2026
ca8732f
fix(team-mode): reject incomplete hyperplan teams
code-yeongyu May 1, 2026
8f48277
fix(builtin-commands): pin hyperplan roster contract
code-yeongyu May 1, 2026
1248450
fix(keyword-detector): pin hyperplan roster hint
code-yeongyu May 1, 2026
b99325f
fix(skills): make hyperplan deep member optional
code-yeongyu May 1, 2026
e6cd50c
fix(team-mode): preserve tmux focus during layout
code-yeongyu May 1, 2026
cb81930
fix(team-mode): stop tmux freeze when many teammates spawn
code-yeongyu May 1, 2026
503df29
fix(team-mode): register spawned sessions early
code-yeongyu May 4, 2026
2d37df4
refactor(team-mode): use dedicated focus and grid windows for team la…
code-yeongyu May 4, 2026
2fd6be0
test(cli): update model fallback snapshots
code-yeongyu May 6, 2026
786b065
test(background-task): mock notification shell chain
code-yeongyu May 6, 2026
8003d1a
test(ci): isolate stateful tests in CI runner
code-yeongyu May 6, 2026
4e5980d
fix(tmux): avoid Bun global in runner bundle
code-yeongyu May 6, 2026
8bcd236
docs(readme): align English banner wording with Korean source of truth
code-yeongyu May 6, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .github/assets/omo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:

- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.11"
bun-version: "1.3.12"

- name: Install dependencies
run: bun install
Expand All @@ -56,7 +56,7 @@ jobs:

- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.11"
bun-version: "1.3.12"

- name: Install dependencies
run: bun install
Expand All @@ -81,7 +81,7 @@ jobs:

- uses: oven-sh/setup-bun@v2
with:
bun-version: "1.3.11"
bun-version: "1.3.12"

- name: Install dependencies
run: bun install
Expand Down
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
# Dependencies
.sisyphus/*
!.sisyphus/rules/
.sisyphus/
Comment thread
cubic-dev-ai[bot] marked this conversation as resolved.
node_modules/

# Build output
Expand Down
450 changes: 450 additions & 0 deletions .opencode/skills/hyperplan/SKILL.md

Large diffs are not rendered by default.

3 changes: 2 additions & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ oh-my-opencode/
│ ├── agents/ # 11 agents (Sisyphus, Hephaestus, Oracle, Librarian, Explore, Atlas, Prometheus, Metis, Momus, Multimodal-Looker, Sisyphus-Junior)
│ ├── hooks/ # 52 lifecycle hooks across dedicated modules and standalone files
│ ├── tools/ # 26 tools across 16 directories (includes Hashline edit with LINE#ID content hashing)
│ ├── features/ # 19 feature modules (background-agent, skill-loader, tmux, MCP-OAuth, skill-mcp-manager, etc.)
│ ├── features/ # 20 feature modules (background-agent, skill-loader, tmux, MCP-OAuth, skill-mcp-manager, team-mode, etc.)
│ ├── shared/ # 170+ utility files (barrel-exported, logger → /tmp/oh-my-opencode.log)
│ ├── config/ # Zod v4 schema system (32 files)
│ ├── cli/ # CLI: install, run, doctor, mcp-oauth (Commander.js)
Expand Down Expand Up @@ -74,6 +74,7 @@ pluginModule.server(input, options)
| Debug provider errors | `src/hooks/runtime-fallback/` | Reactive error recovery (distinct from model-fallback) |
| External notifications | `src/openclaw/` | Bidirectional Discord/Telegram/webhook integration |
| Skill-embedded MCP | `src/features/skill-mcp-manager/` | Tier 3 MCPs (stdio + HTTP, per-session) |
| Team mode | `src/features/team-mode/` | Parallel multi-agent coordination (OFF by default) |

## MULTI-LEVEL CONFIG

Expand Down
263 changes: 151 additions & 112 deletions README.ja.md

Large diffs are not rendered by default.

344 changes: 195 additions & 149 deletions README.ko.md

Large diffs are not rendered by default.

94 changes: 48 additions & 46 deletions README.md

Large diffs are not rendered by default.

153 changes: 87 additions & 66 deletions README.ru.md

Large diffs are not rendered by default.

174 changes: 107 additions & 67 deletions README.zh-cn.md

Large diffs are not rendered by default.

103 changes: 101 additions & 2 deletions assets/oh-my-opencode.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
"frontend-ui-ux",
"git-master",
"review-work",
"ai-slop-remover"
"ai-slop-remover",
"team-mode"
]
}
},
Expand All @@ -67,7 +68,8 @@
"refactor",
"start-work",
"stop-continuation",
"remove-ai-slops"
"remove-ai-slops",
"hyperplan"
]
}
},
Expand Down Expand Up @@ -5891,6 +5893,103 @@
],
"additionalProperties": false
},
"team_mode": {
"type": "object",
"properties": {
"enabled": {
"default": false,
"type": "boolean"
},
"tmux_visualization": {
"default": false,
"type": "boolean"
},
"max_parallel_members": {
"default": 4,
"type": "integer",
"minimum": 1,
"maximum": 8
},
"max_members": {
"default": 8,
"type": "integer",
"minimum": 1,
"maximum": 8
},
"max_messages_per_run": {
"default": 10000,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"max_wall_clock_minutes": {
"default": 120,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"max_member_turns": {
"default": 500,
"type": "integer",
"minimum": 1,
"maximum": 9007199254740991
},
"base_dir": {
"type": "string"
},
"message_payload_max_bytes": {
"default": 32768,
"type": "integer",
"minimum": 1024,
"maximum": 9007199254740991
},
"recipient_unread_max_bytes": {
"default": 262144,
"type": "integer",
"minimum": 1024,
"maximum": 9007199254740991
},
"mailbox_poll_interval_ms": {
"default": 3000,
"type": "integer",
"minimum": 500,
"maximum": 9007199254740991
}
},
"required": [
"enabled",
"tmux_visualization",
"max_parallel_members",
"max_members",
"max_messages_per_run",
"max_wall_clock_minutes",
"max_member_turns",
"message_payload_max_bytes",
"recipient_unread_max_bytes",
"mailbox_poll_interval_ms"
],
"additionalProperties": false
},
"keyword_detector": {
"type": "object",
"properties": {
"disabled_keywords": {
"type": "array",
"items": {
"type": "string",
"enum": [
"ultrawork",
"search",
"analyze",
"team",
"hyperplan",
"hyperplan-ultrawork"
]
}
}
},
"additionalProperties": false
},
"babysitting": {
"type": "object",
"properties": {
Expand Down
Loading
Loading