YeonGyu-Kim
3befe5fa7e
feat(keyword-detector): add hyperplan toast and planner filtering to hook
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
5af41606be
feat(builtin-commands): register hyperplan builtin command
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
65e2643757
feat(keyword-detector): add hyperplan to detector types list
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
b32f2744a0
feat(keyword-detector): register hyperplan in keyword detectors array
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
f025a4ca30
feat(keyword-detector): add hyperplan keyword pattern, message and test
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
a75a24df77
feat(builtin-commands): add hyperplan command template
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
592308de1e
feat(builtin-commands): add hyperplan to command name type
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
4af7d62f78
feat(config): add hyperplan to keyword detector type schema
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
585ad6d8d5
feat(config): add hyperplan to builtin command schema
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
91b7fcab3a
fix(plugin): replace any type with explicit summarize overloads in event handler
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
924dd853db
fix(hephaestus): restore autonomy prompt section
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:20:50 +09:00
YeonGyu-Kim
b54922deab
fix(team-mode): forbid delegate-task in member guidance
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
4d448778f3
fix(team-mode): reject empty team_create lead session override
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
91c0d75588
feat(keyword-detector): add per-keyword disable config
...
Adds keyword_detector.disabled_keywords config so users can opt out of
specific keyword detectors individually without disabling the entire
keyword-detector hook. Allowed values: 'ultrawork', 'search', 'analyze',
'team'. Default empty/missing -> all four detectors active (no behavior
change for existing configs).
Motivation: an audit revealed search and analyze patterns trigger on
~30-60% of normal conversational user messages (e.g. 'how to', 'why is',
'show me', '왜', '어떻게'). The disable list is the immediate kill switch
while the patterns themselves are tightened in a separate PR.
Schema follows the existing per-feature config block convention shared
by team_mode, ralph_loop, runtime_fallback, and comment_checker. The
KeywordType enum (z.enum) lives next to the config schema and is
re-imported by the detector to keep the union type in lockstep with the
schema.
Threading:
pluginConfig.keyword_detector
-> create-transform-hooks.ts (factory wiring)
-> createKeywordDetectorHook(config)
-> detectKeywordsWithType(text, agent, model, disabledKeywords)
-> Set-based filter at the source-of-truth detector
Adds 8 regression tests covering per-keyword disable, multi-keyword
disable, partial disable (one keyword off, another still firing),
ultrawork toast suppression, undefined config, and empty array.
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
25d9437513
feat(keyword-detector): add team mode keyword detection
...
Detects user invocations of team-mode work across English and Korean
('team mode', '팀 모드', '팀으로') and injects a concise English directive
instructing the LLM to orchestrate via team_* tools (team_create ->
team_task_create + team_send_message), forbidding delegate_task
substitution and fallbacks.
The Korean variants use a Hangul-syllable negative lookbehind (가-힣) so
that '스팀으로 게임 켜줘' does not falsely match '팀으로' and '스팀모드' does
not falsely match '팀모드'.
Follows the existing folder pattern (mode/default.ts + mode/index.ts)
shared by ultrawork/, search/, and analyze/. The hook orchestration in
hook.ts handles the new keyword type generically through the shared
KEYWORD_DETECTORS array, so existing guards (non-OMO agent skip,
non-main session filter, system-reminder strip, code-block strip) all
apply automatically.
Adds 7 regression tests covering English/Korean trigger forms, the
Hangul-prefix false-positive guard, the bare-'team' negative case, and
non-main-session filtering.
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
2ffe5afe2e
feat(shared): add supplemental model capability entries for team-mode
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
c79addb626
test(shared): expand migrate-legacy-config-file tests for team-mode
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
34b659a3b1
feat(shared): update agent display names for team-mode
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
20a66f7061
feat(plugin): wire team-mode into tool-guard and transform hook creation
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
cba3e21074
chore: update gitignore for team-mode artifacts
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
f3b9a8a01f
assets: update omo.png
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
690d107334
ci: adapt workflows and test runner for team-mode
2026-05-06 14:19:40 +09:00
YeonGyu-Kim
22056bd9c7
docs(readme): update zh-cn README for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
c142f6de52
docs(readme): update ru README for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
073328b890
docs(readme): update ja README for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
5c04f3a789
docs(readme): update ko README for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
dcd5beb1cd
docs(readme): update en README for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
d7d956468c
docs: add AGENTS.md for team-mode and tmux-subagent features
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
dc0276761a
docs: update overview, features reference and AGENTS.md for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
c3884cc5ca
docs(guide): update agent-model-matching with team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
6e1df2cb3b
docs(guide): add team-mode guide
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
83eff39cf3
assets: regenerate oh-my-opencode schema json with team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
1168e3a51f
test(perf): add plugin init team-mode resume-defer benchmark
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
a475e456b3
feat(cli): add doctor check for team-mode dependencies
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
855c848b99
feat(opencode-skill-loader): adapt skill resolution and discovery for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
7fbefa4cfe
feat(claude-code-loader): adapt plugin discovery for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
15a0e10450
feat(background-agent): adapt task poller for team-mode work distribution
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
00a6647021
feat(background-agent): adapt idle event handler for team-mode sessions
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
a0d122b1e6
feat(background-agent): integrate team-mode into background manager
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
417a368af8
feat(background-agent): extend types for team-mode background tasks
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
2e6bb3413e
feat(builtin-commands): adapt commands and templates for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
39f27b91b1
feat(tools): wire team-mode into skill and subagent resolvers
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
2078f9cad1
feat(tools): extend delegate-task types for team-mode subagents
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
fc31524dfc
feat(tools): register team-mode skill tooling and update exports
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
75fc915fb6
test(agents): expand hephaestus and utils tests for team-mode
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
527ab51a54
feat(agents): adapt momus agent for team-mode context
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
98a69b939a
feat(agents): adapt agent-skill-resolution for team-mode skills
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
a110c739e1
feat(agents): register team-mode in builtin and general agent definitions
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
6327a7aca7
feat(agents): add available-skills resolution with tests
2026-05-06 14:19:39 +09:00
YeonGyu-Kim
79ba0e6f32
feat(hooks): add aggressive truncation strategy tests for context-window recovery
2026-05-06 14:19:39 +09:00