Sungho Park
f1a279a10a
Add xhigh reasoningEffort to config schema ( #965 )
...
* test: cover xhigh reasoningEffort
* feat: add xhigh reasoningEffort option
* test: make reasoningEffort xhigh test model-agnostic
2026-01-24 15:48:15 +09:00
YeonGyu-Kim
faf172a91d
fix(multimodal-looker): update fallback chain order ( #1050 )
...
New order:
1. google/gemini-3-flash
2. openai/gpt-5.2
3. zai-coding-plan/glm-4.6v
4. anthropic/claude-haiku-4-5
5. opencode/gpt-5-nano (FREE, ultimate fallback)
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-24 15:40:24 +09:00
YeonGyu-Kim
04633ba208
fix(models): update model names to match OpenCode Zen catalog ( #1048 )
...
* fix(models): update model names to match OpenCode Zen catalog
OpenCode Zen recently updated their official model catalog, deprecating
several preview and free model variants:
DEPRECATED → NEW (Official Zen Names):
- gemini-3-pro-preview → gemini-3-pro
- gemini-3-flash-preview → gemini-3-flash
- grok-code → gpt-5-nano (FREE tier maintained)
- glm-4.7-free → big-pickle (FREE tier maintained)
- glm-4.6v → glm-4.6
Changes:
- Updated 6 source files (model-requirements, delegate-task, think-mode, etc.)
- Updated 9 documentation files (installation, configurations, features, etc.)
- Updated 14 test files with new model references
- Regenerated snapshots to reflect catalog changes
- Removed duplicate think-mode entries for preview variants
Impact:
- FREE tier access preserved via gpt-5-nano and big-pickle
- All 55 model-related tests passing
- Zero breaking changes - pure string replacement
- Aligns codebase with official OpenCode Zen model catalog
Verified:
- Zero deprecated model names in codebase
- All model-related tests pass (55/55)
- Snapshots regenerated and validated
Affects: 30 files (6 source, 9 docs, 14 tests, 1 snapshot)
* fix(multimodal-looker): update fallback chain with glm-4.6v and gpt-5-nano
- Change glm-4.6 to glm-4.6v for zai-coding-plan provider
- Add opencode/gpt-5-nano as 4th fallback (FREE tier)
- Push gpt-5.2 to 5th position
Fallback chain now:
1. gemini-3-flash (google, github-copilot, opencode)
2. claude-haiku-4-5 (anthropic, github-copilot, opencode)
3. glm-4.6v (zai-coding-plan)
4. gpt-5-nano (opencode) - FREE
5. gpt-5.2 (openai, github-copilot, opencode)
* chore: update bun.lock
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-24 15:30:35 +09:00
justsisyphus
58459e692b
feat(website): add layout with header, sidebar, footer and navigation
...
- Create Header component with logo, nav, theme toggle, language switcher
- Create Sidebar component with doc navigation from config
- Create Footer component
- Create MobileNav component with hamburger menu
- Create navigation config file (docsConfig)
- Integrate all layout components into [locale]/layout.tsx
- Add framer-motion for mobile nav animations
- All tests passing, build successful
2026-01-24 14:25:05 +09:00
justsisyphus
894a0fa849
feat(website): add next-intl i18n and dark mode support
2026-01-24 14:25:05 +09:00
justsisyphus
21c7d29c1d
fix(website): resolve @opennextjs/cloudflare and test configuration issues
...
- Successfully installed @opennextjs/cloudflare v1.15.1
- Fixed Vitest configuration to exclude e2e tests
- Renamed e2e test files from .spec.ts to .e2e.ts to avoid Bun test runner conflicts
- Updated eslint.config.mjs and playwright.config.ts
- All tests passing: Vitest (1/1), Playwright (6/6)
- Production bundle size: ~5MB < 10MiB limit
- Marked TODO 0 complete in plan
2026-01-24 14:25:05 +09:00
justsisyphus
ba93c42943
feat(website): initialize Next.js 15 project with @opennextjs/cloudflare
2026-01-24 14:25:05 +09:00
github-actions[bot]
5c7dd40751
@AndersHsueh has signed the CLA in code-yeongyu/oh-my-opencode#1042
2026-01-24 04:41:56 +00:00
github-actions[bot]
acc7b8b2f7
@gongxh0901 has signed the CLA in code-yeongyu/oh-my-opencode#1037
2026-01-24 02:27:36 +00:00
github-actions[bot]
8c90838f3b
@RouHim has signed the CLA in code-yeongyu/oh-my-opencode#1031
2026-01-23 19:32:14 +00:00
github-actions[bot]
0b784d24f2
release: v3.0.0-beta.16
2026-01-23 18:12:07 +00:00
justsisyphus
444fbe396a
fix(delegate-task): use lowercase sisyphus-junior agent name in API calls
...
Previous fix (7ed7bf5c ) only updated Atlas → atlas, but missed Sisyphus-Junior.
OpenCode does case-sensitive agent lookup, causing crash when delegate_task
tried to spawn 'Sisyphus-Junior' (registered as 'sisyphus-junior').
- SISYPHUS_JUNIOR_AGENT constant: 'Sisyphus-Junior' → 'sisyphus-junior'
- agent-tool-restrictions key: 'Sisyphus-Junior' → 'sisyphus-junior'
- Updated related test mocks
2026-01-24 03:00:58 +09:00
github-actions[bot]
ad86e58077
release: v3.0.0-beta.15
2026-01-23 17:44:45 +00:00
justsisyphus
7ed7bf5c66
fix(agents): use lowercase agent names in API calls
...
- atlas/index.ts: agent: 'Atlas' -> 'atlas'
- start-work/index.ts: updateSessionAgent(..., 'Atlas') -> 'atlas'
- builtin-commands/commands.ts: agent: 'Atlas' -> 'atlas'
- Updated tests to match lowercase convention
2026-01-24 02:39:12 +09:00
github-actions[bot]
1c562a95d5
release: v3.0.0-beta.14
2026-01-23 17:09:52 +00:00
justsisyphus
c2247aec60
refactor(agents): add prometheus agent and normalize agent key lookups
...
- Add 'prometheus' to BuiltinAgentNameSchema enum
- Update delegate_task parameter names in documentation (agent → subagent_type, background → run_in_background)
- Make agent name comparison case-insensitive in Atlas hook
- Implement case-insensitive agent config lookup in shared utilities
- Relax type signature for disabled agents parameter
🤖 Generated with assistance of OhMyOpenCode
2026-01-24 02:00:17 +09:00
justsisyphus
1c9588ff33
test: add integration tests for agent key normalization
2026-01-23 21:54:27 +09:00
justsisyphus
5d73ac819d
test: update CLI tests for lowercase agent keys
2026-01-23 21:47:21 +09:00
justsisyphus
dfc57d0426
refactor(model-requirements): use lowercase agent keys
2026-01-23 21:41:55 +09:00
justsisyphus
12c9029ed7
refactor(plugin): use lowercase agent keys throughout
2026-01-23 21:32:17 +09:00
justsisyphus
91060c35ab
refactor(agents): use lowercase config keys in utils
2026-01-23 21:27:26 +09:00
justsisyphus
90292db4c4
refactor(prometheus-hook): use lowercase config key
2026-01-23 20:49:17 +09:00
justsisyphus
cc4deed8ee
refactor(schema): use lowercase agent config keys
2026-01-23 20:46:09 +09:00
justsisyphus
4e4288807d
refactor(migration): normalize agent keys to lowercase
2026-01-23 19:01:10 +09:00
justsisyphus
629a4d3e1b
feat(shared): add agent display names module
2026-01-23 18:50:03 +09:00
justsisyphus
8806ed17dc
feat(publish): add platform binary verification steps
...
- Add STEP 8.5: Wait for publish-platform workflow completion
- Add STEP 8.6: Verify all 7 platform binary packages on npm
- Update TODO list with platform verification tasks
- Add error handling for platform-specific failures
2026-01-23 17:35:24 +09:00
github-actions[bot]
e2f8729731
@veetase has signed the CLA in code-yeongyu/oh-my-opencode#985
2026-01-23 08:27:12 +00:00
justsisyphus
bee8b3736d
docs: add model configuration section to overview and quick start to configurations
2026-01-23 17:05:45 +09:00
justsisyphus
37e1a065d8
feat(agents): add aggressive resume instructions to Atlas prompt
2026-01-23 17:04:14 +09:00
justsisyphus
fc47a7a490
docs: update multimodal-looker model name and fallback chain
2026-01-23 17:02:11 +09:00
justsisyphus
9b12e2a9b5
fix(cli): update zai-coding-plan hints to include multimodal-looker
2026-01-23 17:00:22 +09:00
justsisyphus
3062277a99
feat(agents): add zai-coding-plan/glm-4.6v fallback for multimodal-looker
2026-01-23 16:58:33 +09:00
yimingll
7093583ec5
fix(lsp): add data dir to LSP server detection paths ( #992 )
...
OpenCode downloads LSP servers (like clangd) to ~/.local/share/opencode/bin,
but isServerInstalled() only checked ~/.config/opencode/bin. This caused
LSP tools to report servers as 'not installed' even when OpenCode had
successfully downloaded them.
Add ~/.local/share/opencode/bin to the detection paths to match OpenCode's
actual behavior.
Co-authored-by: yimingll <yimingll@users.noreply.github.com >
2026-01-23 16:37:40 +09:00
justsisyphus
ec61df8c17
Merge pull request #913 from carlory/fix-doctor
...
fix(doctor): handle file:// protocol for local dev plugin detection
2026-01-23 16:36:16 +09:00
justsisyphus
6312d2da52
Merge pull request #962 from popododo0720/fix/issues-898-919
...
fix(doctor): improve AST-Grep NAPI detection for bunx environments
2026-01-23 16:36:05 +09:00
justsisyphus
810dd93da2
fix(skill): enforce agent restriction in createSkillTool ( #1018 )
...
* fix(skill): enforce agent restriction in createSkillTool
Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode )
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
* fix(skill): block restricted skills when agent context missing
Addresses cubic review feedback: previously agent-restricted skills
could be invoked when ctx or ctx.agent was undefined because the
guard only ran when ctx?.agent was truthy.
Changed condition from:
skill.definition.agent && ctx?.agent && skill.definition.agent !== ctx.agent
To:
skill.definition.agent && (!ctx?.agent || skill.definition.agent !== ctx.agent)
This ensures restricted skills are blocked unless the exact matching
agent is present in the context.
---------
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai >
2026-01-23 16:32:41 +09:00
justsisyphus
1a901a50ac
fix(ci): build Windows binary natively to fix segfault ( #1019 )
...
Bun cross-compilation from Linux to Windows produces binaries that crash
with 'Segmentation fault at address 0xFFFFFFFFFFFFFFFF'.
Root cause: oven-sh/bun#18416
Solution:
- Use windows-latest runner for Windows platform in publish-platform.yml
- Set shell: bash for consistent behavior across runners
This is a simpler fix than PR #938 which modified publish.yml (wrong workflow).
The platform binaries are built and published by publish-platform.yml.
Fixes #873
Fixes #844
Co-authored-by: justsisyphus <justsisyphus@users.noreply.github.com >
2026-01-23 16:30:47 +09:00
justsisyphus
f8155e7d45
fix(session): preserve custom agent after switching ( #1017 )
...
Use setSessionAgent (first-write wins) instead of updateSessionAgent in chat.message handler. This prevents the default agent from overwriting a custom agent that was set via UI switch.
Fixes #893
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-23 16:25:26 +09:00
YeonGyu-Kim
39d2d44e22
fix(tools): conditionally register look_at when multimodal-looker enabled ( #1016 )
...
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-23 16:25:17 +09:00
YeonGyu-Kim
15c4637e0a
fix(hooks): use unix shell syntax for bash tool on all platforms ( #1015 )
...
The bash tool always runs in a Unix-like shell (bash/sh), even on Windows (via Git Bash, WSL, etc.), so we should always use unix export syntax instead of detecting the shell type dynamically.
Fixes #983
Fixes #889
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-23 16:24:58 +09:00
justsisyphus
262c7118da
docs(agents): update AGENTS.md with current commit hash and line counts
2026-01-23 16:00:38 +09:00
justsisyphus
599fad0e86
fix(atlas): capture stderr from git commands to prevent help text leak
...
When git commands fail (e.g., not in a repo, invalid HEAD), git outputs
help text to stderr. Without explicit stdio option, execSync inherits
the parent's stdio causing help text to appear on terminal during
delegate_task execution.
Add stdio: ['pipe', 'pipe', 'pipe'] to capture stderr instead of
letting it leak to terminal.
2026-01-23 15:42:35 +09:00
justsisyphus
afbdf69037
fix(model-resolver): use first fallback entry when model cache unavailable
...
When availableModels is empty (no cache in CI), use the first entry
from fallbackChain directly instead of falling back to systemDefault.
This ensures categories and agents use their configured models even
when the model cache file doesn't exist.
Fixes:
- model-resolution check returning 'warn' instead of 'pass' in CI
- DEFAULT_CATEGORIES not being used when no cache available
- Unstable agent detection failing (models falling back to non-gemini)
2026-01-23 15:39:07 +09:00
github-actions[bot]
af9beee83c
@Ssoon-m has signed the CLA in code-yeongyu/oh-my-opencode#1014
2026-01-23 06:31:37 +00:00
Nguyen Khac Trung Kien
6973a75bf2
Merge pull request #999 from l3aro/dev
2026-01-23 13:14:02 +07:00
justsisyphus
c6d6bd197e
refactor(models): update agent/category fallback chains
...
- quick: replace openai fallback with opencode/grok-code
- writing: add zai-coding-plan/glm-4.7 between sonnet and gpt
- unspecified-low: gpt-5.2 → gpt-5.2-codex (medium)
- Sisyphus: add zai/glm-4.7 before openai, use gpt-5.2-codex (medium)
- Momus & Metis: add variant 'max' to gemini-3-pro
- explore: simplify to haiku (anthropic/opencode) → grok-code (opencode)
2026-01-23 15:07:58 +09:00
justsisyphus
57b10439a4
fix(agents): use resolved variant from fallback chain instead of requirement default
...
resolveModelWithFallback() returns entry-specific variant but it was being
ignored. Agents like oracle now correctly get variant 'high' from their
fallback chain entry instead of undefined.
2026-01-23 14:44:02 +09:00
justsisyphus
6dfe091a88
refactor(atlas): rewrite prompt with lean orchestrator structure
...
- Reduce prompt from ~1280 to ~280 lines (78% reduction)
- Apply prompt engineering principles: remove model-already-knows content
- Use clean XML sections: identity, mission, delegation_system, workflow, etc.
- Adopt 6-section delegation format (TASK, EXPECTED OUTCOME, REQUIRED TOOLS, MUST DO, MUST NOT DO, CONTEXT)
- Preserve: identity, category+skills system, notepad protocol, parallelization, project-level QA
- Consolidate critical overrides at end with strong framing
2026-01-23 14:37:52 +09:00
justsisyphus
75158caded
fix(atlas): register tool.execute.before and pass backgroundManager
...
- Add atlasHook?.['tool.execute.before'] call in tool.execute.before handler
- Pass backgroundManager option to createAtlasHook for proper bg task checking
- Move atlasHook declaration after backgroundManager initialization
2026-01-23 14:25:59 +09:00
justsisyphus
e16bbbcc05
feat: show warning toast when model cache is not available
...
- Added isModelCacheAvailable() to check if cache file exists
- Shows warning toast on session start if cache is missing
- Suggests running 'opencode models --refresh' or restarting
2026-01-23 14:20:38 +09:00