github-actions[bot]
864769a5a6
@misyuari has signed the CLA in code-yeongyu/oh-my-opencode#1132
2026-01-26 07:31:12 +00:00
justsisyphus
536eeb1b0a
docs: add server mode and shell function examples for tmux integration
...
- Add --port flag requirement for tmux subagent pane spawning
- Add Fish shell function example with automatic port allocation
- Add Bash/Zsh equivalent function example
- Document how subagent panes work (opencode attach flow)
- Add OPENCODE_PORT environment variable documentation
- Add server mode reference section with opencode serve command
2026-01-26 16:24:14 +09:00
justsisyphus
7d816256d3
docs: add tmux integration and interactive terminal documentation
...
- Add Tmux Integration section to configurations.md with all config options
- Add Visual Multi-Agent with Tmux subsection to features.md
- Add Interactive Terminal Tools section documenting interactive_bash tool
2026-01-26 16:02:34 +09:00
github-actions[bot]
7b89af7a7c
release: v3.1.0
2026-01-26 06:46:47 +00:00
justsisyphus
4beae19c24
feat(tmux-subagent): add replace action to prevent mass eviction
...
- Add column-based splittable calculation (getColumnCount, getColumnWidth)
- New decision tree: splittable → split, k=1 eviction → close+spawn, else → replace
- Add 'replace' action type using tmux respawn-pane (preserves layout)
- Replace oldest pane in-place instead of closing all panes when unsplittable
- Prevents scenario where all agent panes get closed leaving only 1
2026-01-26 15:25:11 +09:00
justsisyphus
4eca083387
fix(tmux-subagent): enable 2D grid layout with divider-aware calculations
...
- Account for tmux pane dividers (1 char) in all size calculations
- Reduce MIN_PANE_WIDTH from 53 to 52 to fit 2 columns in standard terminals
- Fix enforceMainPaneWidth to use (windowWidth - divider) / 2
- Add virtual mainPane handling for close-spawn eviction loop
- Add comprehensive decision-engine tests (23 test cases)
2026-01-26 15:11:16 +09:00
justsisyphus
5f1dbe8ffd
docs: regenerate AGENTS.md knowledge base via /init-deep
2026-01-26 14:56:55 +09:00
justsisyphus
a2dc2d7d30
feat(hooks): add active working context section to compaction summary
...
Include files, code in progress, external references, and state/variables
in compaction summary for seamless continuation after context compaction.
2026-01-26 14:23:05 +09:00
justsisyphus
a25233708a
chore(test): sync agent name casing in tests ( #1128 )
...
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-26 12:10:30 +09:00
justsisyphus
ac8b3c6143
refactor(tmux-subagent): state-first architecture with decision engine ( #1125 )
...
* refactor(tmux-subagent): add state-first architecture with decision engine
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* feat(tmux): add pane spawn callbacks for background and sync sessions
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-01-26 12:02:37 +09:00
justsisyphus
6b4b432706
feat(shared): add connected-providers-cache for model availability ( #1121 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-01-26 11:53:41 +09:00
justsisyphus
e77eff913a
feat(hooks): add category-skill-reminder hook ( #1123 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-01-26 11:48:32 +09:00
justsisyphus
dc96df495d
chore(docs): regenerate AGENTS.md knowledge base ( #1118 )
...
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-01-26 11:48:30 +09:00
justsisyphus
78d74c7ad0
fix(test): update builtin skills count from 3 to 4 ( #1126 )
...
* fix(test): update builtin skills count from 3 to 4 (dev-browser added)
* chore(ci): add block-master-pr workflow
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-26 02:29:28 +00:00
YeonGyu-Kim
14e0d0d506
Add tmux pane management for background agent sessions ( #1094 )
...
* feat(config): add TmuxConfigSchema for tmux subagent pane management
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* feat(shared): add tmux module structure
* feat(shared/tmux): implement tmux pane utilities
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* test(tmux-subagent): add TmuxSessionManager tests (TDD RED)
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* feat(tmux-subagent): implement TmuxSessionManager
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* feat(integration): wire TmuxSessionManager with 500ms delay
- Task 5: Add 500ms delay in BackgroundManager after session creation
- Task 6: Wire TmuxSessionManager event handlers (session.created/deleted)
- Both changes integrate tmux pane management into plugin lifecycle
Co-authored-by: Sisyphus <ultrawork@oh-my-opencode>
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
Co-authored-by: Sisyphus <ultrawork@oh-my-opencode>
2026-01-25 15:34:10 +09:00
YeonGyu-Kim
6cfe6e8ae6
feat(skills): add dev-browser skill with Windows support ( #1093 )
...
* feat(skills): add dev-browser skill with Windows support
* chore: trigger CI
2026-01-25 15:34:07 +09:00
justsisyphus
e6e84b7b0a
docs(agent-browser): add detailed installation guide with Playwright troubleshooting
2026-01-25 15:12:32 +09:00
YeonGyu-Kim
893bd8b153
feat(skills): add agent-browser option for browser automation ( #1090 )
...
Add configurable browser automation allowing users to choose between
Playwright MCP (default) and Vercel's agent-browser CLI.
Changes:
- Add browser_automation_engine.provider config option
- Dynamic skill loading based on provider selection
- Comprehensive agent-browser CLI reference (inline in skills.ts)
- Propagate browserProvider to delegate_task and buildAgent
- Update documentation with provider comparison
Co-authored-by: Suyeol Jeon <devxoul@gmail.com >
Co-authored-by: YeonGyu Kim <code.yeongyu@gmail.com >
2026-01-25 15:02:41 +09:00
YeonGyu-Kim
9f830e7f98
feat(explore): add github-copilot/gpt-5-mini to fallback chain ( #1091 )
...
* feat(explore): add github-copilot/gpt-5-mini to fallback chain
* test(explore): add tests for github-copilot/gpt-5-mini fallback
---------
Co-authored-by: Suyeol Jeon <devxoul@gmail.com >
2026-01-25 05:53:11 +00:00
Sisyphus
59c98cca77
fix: generate skill/slashcommand descriptions synchronously when pre-provided ( #1087 )
...
* fix: generate skill/slashcommand tool descriptions synchronously when pre-provided
When skills are passed via options (pre-resolved), build the tool description
synchronously instead of fire-and-forget async. This eliminates the race
condition where the description getter returns the bare prefix before the
async cache-warming microtask completes.
Fixes #1039
* chore: changes by sisyphus-dev-ai
---------
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com >
2026-01-25 14:52:50 +09:00
YeonGyu-Kim
16170b7145
feat(hooks): add sisyphus-junior-notepad hook for conditional notepad rules injection ( #1092 )
...
* refactor(shared): extract isCallerOrchestrator to session-utils
* refactor(atlas): use shared isCallerOrchestrator, change to prepend
* refactor(prometheus-md-only): change to prepend pattern
* refactor(sisyphus-junior): remove Work_Context (moved to hook)
* feat(hooks): add sisyphus-junior-notepad hook
* fix(shared): replace dynamic require with static import in session-utils
- Change from dynamic require to static import for better bundler compatibility
- Fix import path: ../../features -> ../features
- Add barrel export to src/shared/index.ts
* feat(hooks): register sisyphus-junior-notepad hook
- Add to HookNameSchema in schema.ts
- Export from hooks/index.ts
- Register with isHookEnabled in index.ts
- Auto-generated schema.json update
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-25 14:52:11 +09:00
github-actions[bot]
abeed2322a
release: v3.0.1
2026-01-25 05:04:20 +00:00
justsisyphus
2b8bf7f9e0
refactor: sync delegate_task schema with OpenCode Task tool (resume→session_id, add command param)
2026-01-25 13:57:45 +09:00
justsisyphus
2d343e2ea8
refactor(ultrawork): replace vague plan agent references with explicit delegate_task(subagent_type="plan") invocation syntax
2026-01-25 13:57:45 +09:00
Sisyphus
10d2619e28
fix: update documentation to use load_skills instead of skills parameter ( #1088 )
...
All documentation, agent prompts, and skill descriptions were still
referencing the old 'skills' parameter name for delegate_task, but the
tool implementation requires 'load_skills' (renamed in commit aa2b052 ).
This caused confusion and errors for users following the docs.
Fixes #1008
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com >
2026-01-25 13:45:00 +09:00
justsisyphus
6898d05ff6
docs: update AGENTS.md knowledge base ( 043b1a33)
...
- Add 7 missing hooks, remove deleted background-compaction
- Update line counts (atlas 572, sisyphus 450, config-manager 664)
- Add 18 undocumented shared utilities, remove stale references
- Add task-toast-manager, remove-deadcode command
- Update test count 90→95, add 4 complexity hotspots
2026-01-25 13:12:40 +09:00
justsisyphus
0def3ed88e
refactor: remove dead re-exports from tools barrel (getTmuxPath, DelegateTaskToolOptions, DEFAULT_CATEGORIES, CATEGORY_PROMPT_APPENDS)
2026-01-25 12:59:19 +09:00
justsisyphus
04bc0f569a
refactor: remove deprecated config-path.ts (dead code, 0 references)
2026-01-25 12:58:40 +09:00
justsisyphus
6b62c2f32c
refactor: remove unused background-compaction hook module
2026-01-25 12:58:05 +09:00
justsisyphus
3b9f361d4b
feat(commands): add /remove-deadcode slash command for LSP-verified dead code removal
2026-01-25 12:46:37 +09:00
justsisyphus
da10b31c0a
fix: add missing name property in loadBuiltinCommands causing TypeError on slashcommand
2026-01-25 12:46:03 +09:00
justsisyphus
eb4ce3aa64
fix: remove github-copilot association from gpt-5-nano model mapping
...
explore agent uses opencode/gpt-5-nano exclusively — github-copilot
should not be associated with gpt-5-nano in docs, tests, or fallback chains.
2026-01-25 12:46:03 +09:00
Sisyphus
9c6d6c289a
fix(ralph-loop): skip user messages in transcript completion detection ( #622 ) ( #1086 )
...
* fix(ralph-loop): skip user messages in transcript completion detection (#622 )
The transcript-based completion detection was searching the entire JSONL
file for <promise>DONE</promise>, including user message entries. The
RALPH_LOOP_TEMPLATE instructional text contains this literal pattern,
which gets recorded as a user message, causing false positive completion
detection on every iteration. This made the loop always terminate at
iteration 1.
Fix: Parse JSONL entries line-by-line and skip entries with type 'user'
so only tool_result/assistant entries are checked for the completion
promise. Also remove the hardcoded <promise>DONE</promise> from the
template exit conditions as defense-in-depth.
* chore: changes by sisyphus-dev-ai
---------
Co-authored-by: sisyphus-dev-ai <sisyphus-dev-ai@users.noreply.github.com >
2026-01-25 12:34:42 +09:00
sisyphus-dev-ai
d6d23fa917
chore: changes by sisyphus-dev-ai
2026-01-25 03:27:56 +00:00
github-actions[bot]
d1d2143d6b
@kvokka has signed the CLA in code-yeongyu/oh-my-opencode#1084
2026-01-25 03:14:31 +00:00
github-actions[bot]
86e8dee709
@potb has signed the CLA in code-yeongyu/oh-my-opencode#1083
2026-01-25 02:38:28 +00:00
github-actions[bot]
2d469dd4e0
@jsl9208 has signed the CLA in code-yeongyu/oh-my-opencode#1082
2026-01-24 21:44:22 +00:00
github-actions[bot]
d01d7eb104
@sadnow has signed the CLA in code-yeongyu/oh-my-opencode#1080
2026-01-24 20:49:38 +00:00
github-actions[bot]
6522576dff
@ThanhNguyxn has signed the CLA in code-yeongyu/oh-my-opencode#1075
2026-01-24 17:42:03 +00:00
justsisyphus
21f30e48bf
docs: fix atlas agent name case in example config
2026-01-24 22:46:40 +09:00
github-actions[bot]
51bd880232
@AamiRobin has signed the CLA in code-yeongyu/oh-my-opencode#1067
2026-01-24 13:28:32 +00:00
github-actions[bot]
3f5b9abfa4
release: v3.0.0
2026-01-24 13:23:25 +00:00
justsisyphus
af9c5d4eab
docs: update READMEs for 3.0 stable release
...
- Update TIP banner from beta.10 to stable 3.0 in all languages
- Add Korean language link to Japanese and Chinese READMEs
- Add DeepWiki badge to Japanese and Chinese READMEs
- Adjust DeepWiki badge position in Korean README for consistency
2026-01-24 21:58:53 +09:00
justsisyphus
d722c8fbc2
feat: show detailed task info and resume instructions on background_cancel(all=true) ( #1062 )
...
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-24 17:15:31 +09:00
justsisyphus
fcd3c67138
fix: add missing gemini-3-flash to writing category migration ( #1061 )
...
MODEL_TO_CATEGORY_MAP was missing the mapping for google/gemini-3-flash
to the 'writing' category. Users who had configured agents with
model: 'google/gemini-3-flash' would not get auto-migrated to
category: 'writing'.
Ref: PR #1057 review comment
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-24 17:05:14 +09:00
justsisyphus
85fd312c67
chore: remove website directory (fixes CI test failures)
2026-01-24 16:37:46 +09:00
sisyphus-dev-ai
8d6b53072c
chore: changes by sisyphus-dev-ai
2026-01-24 07:12:01 +00:00
justsisyphus
502b21fed3
fix(question-label-truncator): fix type errors and add test coverage
...
- Remove invalid Pick<Plugin> type usage
- Add explicit input/output type annotations
- Add comprehensive test suite (5 tests)
- Tests verify truncation at 30 chars with '...' suffix
2026-01-24 16:07:08 +09:00
Ssoon-m
b33b7652c9
fix: add model fallback from agent/category configs
2026-01-24 16:03:12 +09:00
yimingll
4311e5b264
fix: auto-truncate question option labels exceeding 30 characters
...
When AI generates AskUserQuestion tool calls with option labels longer
than 30 characters, opencode validation rejects them with "too_big" error.
This fix adds a pre-tool-use hook that automatically truncates labels
to 30 characters (with "..." suffix) before the validation occurs.
Fixes the error:
"The question tool was called with invalid arguments: expected string
to have <=30 characters"
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-01-24 15:59:45 +09:00