Skip to content

Conversation

@qwertystars
Copy link
Contributor

@qwertystars qwertystars commented Jan 17, 2026

Summary

  • Adds model-config CLI command that shows optimal model configuration based on static rankings
  • Adds --apply flag to automatically write config to the user's oh-my-opencode.json
  • No API calls required - completely free model optimization!

Usage

# Show optimal config
bunx oh-my-opencode model-config

# Show with full rankings
bunx oh-my-opencode model-config --verbose

# Auto-apply to config
bunx oh-my-opencode model-config --apply

Help Wanted 🙏

We need help ranking AI models!

The static rankings in src/cli/model-optimizer/rankings.ts are based on general observations, but we'd love community input to improve them. If you have experience with these models and can help refine the rankings, please:

  1. Open an issue with your suggestions
  2. Submit a PR updating the rankings

Categories that need ranking help:

  • orchestrator - Best overall models for complex tasks
  • reasoning - Best for debugging/architecture
  • fast - Fast + capable for quick lookups
  • coding - Best coding models
  • instruction - Best instruction-following
  • multimodal - Vision-capable models
  • creative - Creative/artistic models
  • free - Free/cheap fallback models

Test Results

✓ TypeScript type check: Passes
✓ Build: Passes
✓ CLI tests: 184 pass, 0 fail
✓ Model-optimizer tests: 45 pass, 0 fail

Static rankings by category (orchestrator, reasoning, fast, coding, instruction, multimodal, creative, free). No API calls needed - completely free model optimization.

HELP WANTED: We need help ranking AI models! Please contribute.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Copy link

@cubic-dev-ai cubic-dev-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 9 files

Confidence score: 4/5

  • This PR looks safe to merge with minimal risk; the main concern is limited to config path handling in the test command.
  • src/cli/model-optimizer/test-command.ts writes oh-my-opencode.json to a hard-coded ~/.config path, which can bypass shared config resolution (XDG/APPDATA/OPENCODE_CONFIG_DIR) and lead to applied config not being read.
  • Pay close attention to src/cli/model-optimizer/test-command.ts - hard-coded config path may bypass shared resolution and cause applied config to be ignored.
Prompt for AI agents (all issues)

Check if these issues are valid — if so, understand the root cause of each and fix them.


<file name="src/cli/model-optimizer/test-command.ts">

<violation number="1" location="src/cli/model-optimizer/test-command.ts:131">
P2: --apply writes oh-my-opencode.json to a hard-coded ~/.config path, bypassing the shared config resolution (XDG/APPDATA/OPENCODE_CONFIG_DIR) used elsewhere, so applied config may not be read.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

qwertystars and others added 2 commits January 17, 2026 11:50
Adds 'model-config' command that detects available models and shows optimal configuration based on static rankings.

Usage:

  model-config          # Show optimal config

  model-config --verbose # Show full rankings

  model-config --apply   # Write config to oh-my-opencode.json

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
Documentation for the simplified static rankings approach.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-opencode)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
@qwertystars qwertystars force-pushed the feat/static-model-rankings branch from 246ac02 to d9effb3 Compare January 17, 2026 06:20
Fixes the issue identified by cubic-dev-ai where --apply used a hardcoded
~/.config path, bypassing the shared config resolution logic that respects:
- OPENCODE_CONFIG_DIR environment variable
- XDG_CONFIG_HOME on Linux
- APPDATA on Windows

Now uses getOpenCodeConfigPaths() from shared utilities to ensure the applied
config is written to the same location that oh-my-opencode reads from.
@qwertystars
Copy link
Contributor Author

Fixed the issue identified by cubic-dev-ai in commit 059cf67:

Issue: --apply was writing to a hardcoded ~/.config/opencode path, bypassing the shared config resolution.

Fix: Now uses getOpenCodeConfigPaths() from shared utilities to respect:

  • OPENCODE_CONFIG_DIR environment variable
  • XDG_CONFIG_HOME on Linux
  • APPDATA on Windows

This ensures the applied config is written to the same location that oh-my-opencode reads from.

@qwertystars qwertystars changed the title feat(model-optimizer): static model rankings with test-models --apply feat(model-optimizer): static model rankings with model-config --apply Jan 17, 2026
- Add detailed JSDoc in rankings.ts explaining how to modify each section
- Expand AGENTS.md with step-by-step contribution guide
- Add Model Config Optimizer section to main README with usage examples
@GollyJer
Copy link
Collaborator

Thinking out loud...

The best community input you can get is from https://lmarena.ai/leaderboard for general categories beyond just programming.
https://www.swebench.com/bash-only.html is great for programming tasks. It's based on solving github issues.
https://artificialanalysis.ai/ is decent.
https://www.vellum.ai/llm-leaderboard?utm_source=direct&utm_medium=none is also good.

We could probably pick different categories across these ranking sites and tie them to different agents.
Like the "text" category would be "document-writer" as an example.
Once all the categories are mapped to the agents, we just run some code to scrape the results and let all the benchmarks update the model recommendations.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants