docs: update documentation for v3.13.1 feature changes
- Document object-style fallback_models with per-model settings - Add model-settings compatibility normalization docs - Document file:// URI support for prompt and prompt_append - Add deterministic core-agent order (Tab cycling) docs - Update rename compatibility notes (legacy plugin warning) - Document doctor legacy package name detection - Add models.dev-backed capability cache documentation - Update Hephaestus default to gpt-5.4 (medium) - Correct MiniMax M2.7/M2.5 usage across all docs - Update all agent/category provider chain tables - Fix stale CLI install/doctor options to match source - Add refresh-model-capabilities command to CLI reference Co-authored-by: Sisyphus <sisyphus@oh-my-opencode>
This commit is contained in:
+140
-60
@@ -14,14 +14,15 @@ npx oh-my-opencode
|
||||
|
||||
## Commands
|
||||
|
||||
| Command | Description |
|
||||
| ------------------- | ----------------------------------------- |
|
||||
| `install` | Interactive setup wizard |
|
||||
| `doctor` | Environment diagnostics and health checks |
|
||||
| `run` | OpenCode session runner |
|
||||
| `mcp oauth` | MCP OAuth authentication management |
|
||||
| `auth` | Google Antigravity OAuth authentication |
|
||||
| `get-local-version` | Display local version information |
|
||||
| Command | Description |
|
||||
| ----------------------------- | ------------------------------------------------------ |
|
||||
| `install` | Interactive setup wizard |
|
||||
| `doctor` | Environment diagnostics and health checks |
|
||||
| `run` | OpenCode session runner with task completion enforcement |
|
||||
| `get-local-version` | Display local version information and update check |
|
||||
| `refresh-model-capabilities` | Refresh the cached models.dev-based model capabilities |
|
||||
| `version` | Show version information |
|
||||
| `mcp oauth` | MCP OAuth authentication management |
|
||||
|
||||
---
|
||||
|
||||
@@ -37,29 +38,36 @@ bunx oh-my-opencode install
|
||||
|
||||
### Installation Process
|
||||
|
||||
1. **Provider Selection**: Choose your AI provider (Claude, ChatGPT, or Gemini)
|
||||
2. **API Key Input**: Enter the API key for your selected provider
|
||||
3. **Configuration File Creation**: Writes the plugin config file used by the current install path. Existing installs still commonly use `oh-my-opencode.json`, while renamed `oh-my-openagent.json[c]` files are also recognized.
|
||||
4. **Plugin Registration**: Registers `oh-my-openagent` in OpenCode settings, or upgrades a legacy `oh-my-opencode` entry during the compatibility window
|
||||
1. **Subscription Selection**: Choose which providers and subscriptions you actually have
|
||||
2. **Plugin Registration**: Registers `oh-my-openagent` in OpenCode settings, or upgrades a legacy `oh-my-opencode` entry during the compatibility window
|
||||
3. **Configuration File Creation**: Writes the generated OmO config to `oh-my-opencode.json` in the active OpenCode config directory
|
||||
4. **Authentication Hints**: Shows the `opencode auth login` steps for the providers you selected, unless `--skip-auth` is set
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
| ----------- | ---------------------------------------------------------------- |
|
||||
| `--no-tui` | Run in non-interactive mode without TUI (for CI/CD environments) |
|
||||
| `--verbose` | Display detailed logs |
|
||||
| Option | Description |
|
||||
| ------ | ----------- |
|
||||
| `--no-tui` | Run in non-interactive mode without TUI |
|
||||
| `--claude <no\|yes\|max20>` | Claude subscription mode |
|
||||
| `--openai <no\|yes>` | OpenAI / ChatGPT subscription |
|
||||
| `--gemini <no\|yes>` | Gemini integration |
|
||||
| `--copilot <no\|yes>` | GitHub Copilot subscription |
|
||||
| `--opencode-zen <no\|yes>` | OpenCode Zen access |
|
||||
| `--zai-coding-plan <no\|yes>` | Z.ai Coding Plan subscription |
|
||||
| `--kimi-for-coding <no\|yes>` | Kimi for Coding subscription |
|
||||
| `--opencode-go <no\|yes>` | OpenCode Go subscription |
|
||||
| `--skip-auth` | Skip authentication setup hints |
|
||||
|
||||
---
|
||||
|
||||
## doctor
|
||||
|
||||
Diagnoses your environment to ensure Oh My OpenCode is functioning correctly. Performs 17+ health checks covering installation, configuration, authentication, dependencies, and tools.
|
||||
Diagnoses your environment to ensure Oh My OpenCode is functioning correctly. The current checks are grouped into system, config, tools, and models.
|
||||
|
||||
The doctor command detects common issues including:
|
||||
- Legacy plugin entry references in `opencode.json` (warns when `oh-my-opencode` is still used instead of `oh-my-openagent`)
|
||||
- Configuration file validity and JSONC parsing errors
|
||||
- Model resolution and fallback chain verification
|
||||
- API key validity for configured providers
|
||||
- Missing or misconfigured MCP servers
|
||||
### Usage
|
||||
|
||||
@@ -69,22 +77,20 @@ bunx oh-my-opencode doctor
|
||||
|
||||
### Diagnostic Categories
|
||||
|
||||
| Category | Check Items |
|
||||
| ------------------ | --------------------------------------------------------- |
|
||||
| **Installation** | OpenCode version (>= 1.0.150), plugin registration status |
|
||||
| **Configuration** | Configuration file validity, JSONC parsing |
|
||||
| **Authentication** | Anthropic, OpenAI, Google API key validity |
|
||||
| **Dependencies** | Bun, Node.js, Git installation status |
|
||||
| **Tools** | LSP server status, MCP server status |
|
||||
| **Updates** | Latest version check |
|
||||
| Category | Check Items |
|
||||
| ----------------- | ------------------------------------------------------------------------------------ |
|
||||
| **System** | OpenCode binary, version (>= 1.0.150), plugin registration, legacy package name warning |
|
||||
| **Config** | Configuration file validity, JSONC parsing, Zod schema validation |
|
||||
| **Tools** | AST-Grep, LSP servers, GitHub CLI, MCP servers |
|
||||
| **Models** | Model capabilities cache, model resolution, agent/category overrides, availability |
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
| ------------------- | ---------------------------------------------------------------- |
|
||||
| `--category <name>` | Check specific category only (e.g., `--category authentication`) |
|
||||
| `--json` | Output results in JSON format |
|
||||
| `--verbose` | Include detailed information |
|
||||
| Option | Description |
|
||||
| ------------ | ----------------------------------------- |
|
||||
| `--status` | Show compact system dashboard |
|
||||
| `--verbose` | Show detailed diagnostic information |
|
||||
| `--json` | Output results in JSON format |
|
||||
|
||||
### Example Output
|
||||
|
||||
@@ -95,54 +101,90 @@ oh-my-opencode doctor
|
||||
│ Oh-My-OpenAgent Doctor │
|
||||
└──────────────────────────────────────────────────┘
|
||||
|
||||
Installation
|
||||
System
|
||||
✓ OpenCode version: 1.0.155 (>= 1.0.150)
|
||||
✓ Plugin registered in opencode.json
|
||||
|
||||
Configuration
|
||||
Config
|
||||
✓ oh-my-opencode.jsonc is valid
|
||||
✓ Model resolution: all agents have valid fallback chains
|
||||
⚠ categories.visual-engineering: using default model
|
||||
|
||||
Authentication
|
||||
✓ Anthropic API key configured
|
||||
✓ OpenAI API key configured
|
||||
✗ Google API key not found
|
||||
Tools
|
||||
✓ AST-Grep available
|
||||
✓ LSP servers configured
|
||||
|
||||
Dependencies
|
||||
✓ Bun 1.2.5 installed
|
||||
✓ Node.js 22.0.0 installed
|
||||
✓ Git 2.45.0 installed
|
||||
Models
|
||||
✓ 11 agents, 8 categories, 0 overrides
|
||||
⚠ Some configured models rely on compatibility fallback
|
||||
|
||||
Summary: 10 passed, 1 warning, 1 failed
|
||||
Summary: 10 passed, 1 warning, 0 failed
|
||||
```
|
||||
---
|
||||
|
||||
## run
|
||||
|
||||
Executes OpenCode sessions and monitors task completion.
|
||||
Run opencode with todo/background task completion enforcement. Unlike 'opencode run', this command waits until all todos are completed or cancelled, and all child sessions (background tasks) are idle.
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
bunx oh-my-opencode run [prompt]
|
||||
bunx oh-my-opencode run <message>
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
| ------------------------ | ------------------------------------------------- |
|
||||
| `--enforce-completion` | Keep session active until all TODOs are completed |
|
||||
| `--timeout <seconds>` | Set maximum execution time |
|
||||
| `--agent <name>` | Specify agent to use |
|
||||
| `--directory <path>` | Set working directory |
|
||||
| `--port <number>` | Set port for session |
|
||||
| `--attach` | Attach to existing session |
|
||||
| `--json` | Output in JSON format |
|
||||
| `--no-timestamp` | Disable timestamped output |
|
||||
| `--session-id <id>` | Resume existing session |
|
||||
| `--on-complete <action>` | Action on completion |
|
||||
| `--verbose` | Enable verbose logging |
|
||||
| Option | Description |
|
||||
| --------------------- | ------------------------------------------------------------------- |
|
||||
| `-a, --agent <name>` | Agent to use (default: from CLI/env/config, fallback: Sisyphus) |
|
||||
| `-m, --model <provider/model>` | Model override (e.g., anthropic/claude-sonnet-4) |
|
||||
| `-d, --directory <path>` | Working directory |
|
||||
| `-p, --port <port>` | Server port (attaches if port already in use) |
|
||||
| `--attach <url>` | Attach to existing opencode server URL |
|
||||
| `--on-complete <command>` | Shell command to run after completion |
|
||||
| `--json` | Output structured JSON result to stdout |
|
||||
| `--no-timestamp` | Disable timestamp prefix in run output |
|
||||
| `--verbose` | Show full event stream (default: messages/tools only) |
|
||||
| `--session-id <id>` | Resume existing session instead of creating new one |
|
||||
|
||||
---
|
||||
|
||||
## get-local-version
|
||||
|
||||
Show current installed version and check for updates.
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
bunx oh-my-opencode get-local-version
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
| ----------------- | ---------------------------------------------- |
|
||||
| `-d, --directory` | Working directory to check config from |
|
||||
| `--json` | Output in JSON format for scripting |
|
||||
|
||||
### Output
|
||||
|
||||
Shows:
|
||||
- Current installed version
|
||||
- Latest available version on npm
|
||||
- Whether you're up to date
|
||||
- Special modes (local dev, pinned version)
|
||||
|
||||
---
|
||||
|
||||
## version
|
||||
|
||||
Show version information.
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
bunx oh-my-opencode version
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
@@ -182,7 +224,7 @@ Tokens are stored in `~/.config/opencode/mcp-oauth.json` with `0600` permissions
|
||||
|
||||
## Configuration Files
|
||||
|
||||
The CLI searches for configuration files in the following locations (in priority order):
|
||||
The runtime loads user config as the base config, then merges project config on top:
|
||||
|
||||
1. **Project Level**: `.opencode/oh-my-openagent.jsonc`, `.opencode/oh-my-openagent.json`, `.opencode/oh-my-opencode.jsonc`, or `.opencode/oh-my-opencode.json`
|
||||
2. **User Level**: `~/.config/opencode/oh-my-openagent.jsonc`, `~/.config/opencode/oh-my-openagent.json`, `~/.config/opencode/oh-my-opencode.jsonc`, or `~/.config/opencode/oh-my-opencode.json`
|
||||
@@ -244,8 +286,11 @@ bunx oh-my-opencode install
|
||||
# Diagnose with detailed information
|
||||
bunx oh-my-opencode doctor --verbose
|
||||
|
||||
# Check specific category only
|
||||
bunx oh-my-opencode doctor --category authentication
|
||||
# Show compact system dashboard
|
||||
bunx oh-my-opencode doctor --status
|
||||
|
||||
# JSON output for scripting
|
||||
bunx oh-my-opencode doctor --json
|
||||
```
|
||||
|
||||
### "Using legacy package name" Warning
|
||||
@@ -259,6 +304,41 @@ jq '.plugin = (.plugin // [] | map(if . == "oh-my-opencode" then "oh-my-openagen
|
||||
```
|
||||
---
|
||||
|
||||
## refresh-model-capabilities
|
||||
|
||||
Refreshes the cached model capabilities snapshot from models.dev. This updates the local cache used by capability resolution and compatibility diagnostics.
|
||||
|
||||
### Usage
|
||||
|
||||
```bash
|
||||
bunx oh-my-opencode refresh-model-capabilities
|
||||
```
|
||||
|
||||
### Options
|
||||
|
||||
| Option | Description |
|
||||
| ----------------- | --------------------------------------------------- |
|
||||
| `-d, --directory` | Working directory to read oh-my-opencode config from |
|
||||
| `--source-url <url>` | Override the models.dev source URL |
|
||||
| `--json` | Output refresh summary as JSON |
|
||||
|
||||
### Configuration
|
||||
|
||||
Configure automatic refresh behavior in your plugin config:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"model_capabilities": {
|
||||
"enabled": true,
|
||||
"auto_refresh_on_start": true,
|
||||
"refresh_timeout_ms": 5000,
|
||||
"source_url": "https://models.dev/api.json"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## Non-Interactive Mode
|
||||
|
||||
Use JSON output for CI or scripted diagnostics.
|
||||
|
||||
@@ -30,6 +30,7 @@ Complete reference for Oh My OpenCode plugin configuration. During the rename tr
|
||||
- [LSP](#lsp)
|
||||
- [Advanced](#advanced)
|
||||
- [Runtime Fallback](#runtime-fallback)
|
||||
- [Model Capabilities](#model-capabilities)
|
||||
- [Hashline Edit](#hashline-edit)
|
||||
- [Experimental](#experimental)
|
||||
- [Reference](#reference)
|
||||
@@ -52,7 +53,7 @@ User config is loaded first, then project config overrides it. In each directory
|
||||
| macOS/Linux | `~/.config/opencode/oh-my-openagent.json[c]`, `~/.config/opencode/oh-my-opencode.json[c]` |
|
||||
| Windows | `%APPDATA%\opencode\oh-my-openagent.json[c]`, `%APPDATA%\opencode\oh-my-opencode.json[c]` |
|
||||
|
||||
**Rename compatibility:** OpenCode plugin registration now prefers `oh-my-openagent`, while legacy `oh-my-opencode` entries and config basenames still load during the transition. If both plugin config basenames exist in the same directory, the legacy `oh-my-opencode.*` file currently wins.
|
||||
**Rename compatibility:** The published package and CLI binary remain `oh-my-opencode`. OpenCode plugin registration prefers `oh-my-openagent`, while legacy `oh-my-opencode` entries and config basenames still load during the transition. Config detection checks `oh-my-opencode` before `oh-my-openagent`, so if both plugin config basenames exist in the same directory, the legacy `oh-my-opencode.*` file currently wins.
|
||||
JSONC supports `// line comments`, `/* block comments */`, and trailing commas.
|
||||
|
||||
Enable schema autocomplete:
|
||||
@@ -158,6 +159,8 @@ Override built-in agent settings. Available agents: `sisyphus`, `hephaestus`, `p
|
||||
|
||||
Disable agents entirely: `{ "disabled_agents": ["oracle", "multimodal-looker"] }`
|
||||
|
||||
Core agents receive an injected runtime `order` field for deterministic Tab cycling in the UI: Sisyphus = 1, Hephaestus = 2, Prometheus = 3, Atlas = 4. This is not a user-configurable config key.
|
||||
|
||||
#### Agent Options
|
||||
|
||||
| Option | Type | Description |
|
||||
@@ -177,7 +180,7 @@ Disable agents entirely: `{ "disabled_agents": ["oracle", "multimodal-looker"] }
|
||||
| `variant` | string | Model variant: `max`, `high`, `medium`, `low`, `xhigh`. Normalized to supported values |
|
||||
| `maxTokens` | number | Max response tokens |
|
||||
| `thinking` | object | Anthropic extended thinking |
|
||||
| `reasoningEffort` | string | OpenAI reasoning: `low`, `medium`, `high`, `xhigh`. Normalized to supported values |
|
||||
| `reasoningEffort` | string | OpenAI reasoning: `none`, `minimal`, `low`, `medium`, `high`, `xhigh`. Normalized to supported values |
|
||||
| `textVerbosity` | string | Text verbosity: `low`, `medium`, `high` |
|
||||
| `providerOptions` | object | Provider-specific options |
|
||||
|
||||
@@ -250,7 +253,7 @@ Object entries support: `model`, `variant`, `reasoningEffort`, `temperature`, `t
|
||||
|
||||
#### File URIs for Prompts
|
||||
|
||||
Both `prompt` and `prompt_append` support loading content from files via `file://` URIs:
|
||||
Both `prompt` and `prompt_append` support loading content from files via `file://` URIs. Category-level `prompt_append` supports the same URI forms.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
@@ -264,11 +267,18 @@ Both `prompt` and `prompt_append` support loading content from files via `file:/
|
||||
"explore": {
|
||||
"prompt_append": "file://~/home/dir/prompt.txt"
|
||||
}
|
||||
},
|
||||
"categories": {
|
||||
"custom": {
|
||||
"model": "anthropic/claude-sonnet-4-6",
|
||||
"prompt_append": "file://./category-context.md"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Paths can be absolute (`file:///abs/path`), relative to project root (`file://./rel/path`), or home-relative (`file://~/home/path`).
|
||||
Paths can be absolute (`file:///abs/path`), relative to project root (`file://./rel/path`), or home-relative (`file://~/home/path`). If a file URI cannot be decoded, resolved, or read, OmO inserts a warning placeholder into the prompt instead of failing hard.
|
||||
|
||||
### Categories
|
||||
|
||||
Domain-specific model delegation used by the `task()` tool. When Sisyphus delegates work, it picks a category, not a model name.
|
||||
@@ -310,15 +320,27 @@ Disable categories: `{ "disabled_categories": ["ultrabrain"] }`
|
||||
|
||||
### Model Resolution
|
||||
|
||||
3-step priority at runtime:
|
||||
Runtime priority:
|
||||
|
||||
1. **User override** - model set in config → used exactly as-is. Even on cold cache (first run without model availability data), explicit user configuration takes precedence over hardcoded fallback chains
|
||||
2. **Provider fallback chain** - tries each provider in priority order until available
|
||||
3. **System default** - falls back to OpenCode's configured default model
|
||||
1. **UI-selected model** - model chosen in the OpenCode UI, for primary agents
|
||||
2. **User override** - model set in config → used exactly as-is. Even on cold cache, explicit user configuration takes precedence over hardcoded fallback chains
|
||||
3. **Category default** - model inherited from the assigned category config
|
||||
4. **User `fallback_models`** - user-configured fallback list is tried before built-in fallback chains
|
||||
5. **Provider fallback chain** - built-in provider/model chain from OmO source
|
||||
6. **System default** - OpenCode's configured default model
|
||||
|
||||
#### Model Settings Compatibility
|
||||
|
||||
`variant` and `reasoningEffort` values are automatically normalized to what each model supports. If you specify a variant or reasoning effort level that a model does not support, it is adjusted to the closest supported value rather than causing errors.
|
||||
Model settings are compatibility-normalized against model capabilities instead of failing hard.
|
||||
|
||||
Normalized fields:
|
||||
|
||||
- `variant` - downgraded to the closest supported value
|
||||
- `reasoningEffort` - downgraded to the closest supported value, or removed if unsupported
|
||||
- `temperature` - removed if unsupported by the model metadata
|
||||
- `top_p` - removed if unsupported by the model metadata
|
||||
- `maxTokens` - capped to the model's reported max output limit
|
||||
- `thinking` - removed if the target model does not support thinking
|
||||
|
||||
Examples:
|
||||
- Claude models do not support `reasoningEffort` - it is removed automatically
|
||||
@@ -326,21 +348,23 @@ Examples:
|
||||
- o-series models support `none` through `high` - `xhigh` is downgraded to `high`
|
||||
- GPT-5 supports `none`, `minimal`, `low`, `medium`, `high`, `xhigh` - all pass through
|
||||
|
||||
Capability data comes from provider runtime metadata first. OmO also ships bundled models.dev-backed capability data, supports a refreshable local models.dev cache, and falls back to heuristic family detection plus alias rules when exact metadata is unavailable. `bunx oh-my-opencode doctor` surfaces capability diagnostics and warns when a configured model relies on compatibility fallback.
|
||||
|
||||
|
||||
#### Agent Provider Chains
|
||||
|
||||
| Agent | Default Model | Provider Priority |
|
||||
| --------------------- | ------------------- | ---------------------------------------------------------------------------- |
|
||||
| **Sisyphus** | `claude-opus-4-6` | `claude-opus-4-6` → `glm-5` → `big-pickle` |
|
||||
| **Hephaestus** | `gpt-5.4` | `gpt-5.4` |
|
||||
| **oracle** | `gpt-5.4` | `gpt-5.4` → `gemini-3.1-pro` → `claude-opus-4-6` |
|
||||
| **Sisyphus** | `claude-opus-4-6` | `claude-opus-4-6 (max)` → `kimi-k2.5` via OpenCode Go / Kimi providers → `gpt-5.4 (medium)` → `glm-5` → `big-pickle` |
|
||||
| **Hephaestus** | `gpt-5.4` | `gpt-5.4 (medium)` |
|
||||
| **oracle** | `gpt-5.4` | `gpt-5.4 (high)` → `gemini-3.1-pro (high)` → `claude-opus-4-6 (max)` → `glm-5` |
|
||||
| **librarian** | `minimax-m2.7` | `opencode-go/minimax-m2.7` → `opencode/minimax-m2.5` → `claude-haiku-4-5` → `gpt-5-nano` |
|
||||
| **explore** | `grok-code-fast-1` | `grok-code-fast-1` → `opencode-go/minimax-m2.7` → `opencode/minimax-m2.5` → `claude-haiku-4-5` → `gpt-5-nano` |
|
||||
| **multimodal-looker** | `gpt-5.4` | `gpt-5.4` → `k2p5` → `glm-4.6v` → `gpt-5-nano` |
|
||||
| **Prometheus** | `claude-opus-4-6` | `claude-opus-4-6` → `gpt-5.4` → `gemini-3.1-pro` |
|
||||
| **Metis** | `claude-opus-4-6` | `claude-opus-4-6` → `gpt-5.4` → `gemini-3.1-pro` |
|
||||
| **Momus** | `gpt-5.4` | `gpt-5.4` → `claude-opus-4-6` → `gemini-3.1-pro` |
|
||||
| **Atlas** | `claude-sonnet-4-6` | `claude-sonnet-4-6` → `gpt-5.4` |
|
||||
| **multimodal-looker** | `gpt-5.4` | `gpt-5.4 (medium)` → `kimi-k2.5` → `glm-4.6v` → `gpt-5-nano` |
|
||||
| **Prometheus** | `claude-opus-4-6` | `claude-opus-4-6 (max)` → `gpt-5.4 (high)` → `glm-5` → `gemini-3.1-pro` |
|
||||
| **Metis** | `claude-opus-4-6` | `claude-opus-4-6 (max)` → `gpt-5.4 (high)` → `glm-5` → `k2p5` |
|
||||
| **Momus** | `gpt-5.4` | `gpt-5.4 (xhigh)` → `claude-opus-4-6 (max)` → `gemini-3.1-pro (high)` → `glm-5` |
|
||||
| **Atlas** | `claude-sonnet-4-6` | `claude-sonnet-4-6` → `kimi-k2.5` → `gpt-5.4 (medium)` → `minimax-m2.7` |
|
||||
|
||||
#### Category Provider Chains
|
||||
|
||||
@@ -854,6 +878,34 @@ This final example is a **complete shape reference**. In real configs, prefer pr
|
||||
- use `thinking` for Anthropic thinking-capable models
|
||||
- use `variant`, `temperature`, `top_p`, and `maxTokens` only when that fallback model supports them
|
||||
|
||||
### Model Capabilities
|
||||
|
||||
OmO can refresh a local models.dev capability snapshot on startup. This cache is controlled by `model_capabilities`.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"model_capabilities": {
|
||||
"enabled": true,
|
||||
"auto_refresh_on_start": true,
|
||||
"refresh_timeout_ms": 5000,
|
||||
"source_url": "https://models.dev/api.json"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
| Option | Default behavior | Description |
|
||||
| ------ | ---------------- | ----------- |
|
||||
| `enabled` | enabled unless explicitly set to `false` | Master switch for model capability refresh behavior |
|
||||
| `auto_refresh_on_start` | refresh on startup unless explicitly set to `false` | Refresh the local models.dev cache during startup checks |
|
||||
| `refresh_timeout_ms` | `5000` | Timeout for the startup refresh attempt |
|
||||
| `source_url` | `https://models.dev/api.json` | Override the models.dev source URL |
|
||||
|
||||
Notes:
|
||||
|
||||
- Startup refresh runs through the auto-update checker hook.
|
||||
- Manual refresh is available via `bunx oh-my-opencode refresh-model-capabilities`.
|
||||
- Provider runtime metadata still takes priority when OmO resolves capabilities for compatibility checks.
|
||||
|
||||
### Hashline Edit
|
||||
|
||||
Replaces the built-in `Edit` tool with a hash-anchored version using `LINE#ID` references to prevent stale-line edits. Disabled by default.
|
||||
|
||||
@@ -6,7 +6,7 @@ Oh-My-OpenAgent provides 11 specialized AI agents. Each has distinct expertise,
|
||||
|
||||
### Core Agents
|
||||
|
||||
Core-agent tab cycling is deterministic. The fixed priority order is Sisyphus, Hephaestus, Prometheus, and Atlas. Remaining agents follow after that stable core ordering.
|
||||
Core-agent tab cycling is deterministic via injected runtime order field. The fixed priority order is Sisyphus (order: 1), Hephaestus (order: 2), Prometheus (order: 3), and Atlas (order: 4). Remaining agents follow after that stable core ordering.
|
||||
|
||||
| Agent | Model | Purpose |
|
||||
| --------------------- | ------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
@@ -90,7 +90,7 @@ When running inside tmux:
|
||||
- Watch multiple agents work in real-time
|
||||
- Each pane shows agent output live
|
||||
- Auto-cleanup when agents complete
|
||||
- **Stable agent ordering**: the core tab cycle stays deterministic with Sisyphus, Hephaestus, Prometheus, and Atlas first
|
||||
- **Stable agent ordering**: core-agent tab cycling is deterministic via injected runtime order field (Sisyphus: 1, Hephaestus: 2, Prometheus: 3, Atlas: 4)
|
||||
|
||||
Customize agent models, prompts, and permissions in `oh-my-opencode.jsonc`.
|
||||
|
||||
@@ -192,6 +192,10 @@ When you use a Category, a special agent called **Sisyphus-Junior** performs the
|
||||
|
||||
## Advanced Configuration
|
||||
|
||||
### Rename Compatibility
|
||||
|
||||
The published package and binary remain `oh-my-opencode`. Inside `opencode.json`, the compatibility layer now prefers the plugin entry `oh-my-openagent`, while legacy `oh-my-opencode` entries still load with a warning. Plugin config files (`oh-my-openagent.json[c]` or legacy `oh-my-opencode.json[c]`) are recognized during the transition. Run `bunx oh-my-opencode doctor` to check for legacy package name warnings.
|
||||
|
||||
### Fallback Models
|
||||
|
||||
Configure per-agent fallback chains with arrays that can mix plain model strings and per-model objects:
|
||||
@@ -214,24 +218,35 @@ When a model errors, the runtime can move through the configured fallback array.
|
||||
|
||||
### File-Based Prompts
|
||||
|
||||
Load agent system prompts from external files using `file://` URLs:
|
||||
Load agent system prompts from external files using `file://` URLs in the `prompt` field, or append additional content with `prompt_append`. The `prompt_append` field also works on categories.
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"agents": {
|
||||
"sisyphus": {
|
||||
"prompt": "file:///path/to/custom-prompt.md"
|
||||
},
|
||||
"oracle": {
|
||||
"prompt_append": "file:///path/to/additional-context.md"
|
||||
}
|
||||
},
|
||||
"categories": {
|
||||
"deep": {
|
||||
"prompt_append": "file:///path/to/deep-category-append.md"
|
||||
}
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
Supports `~` expansion for home directory and relative `file://` paths.
|
||||
|
||||
Useful for:
|
||||
- Version controlling prompts separately from config
|
||||
- Sharing prompts across projects
|
||||
- Keeping configuration files concise
|
||||
- Adding category-specific context without duplicating base prompts
|
||||
|
||||
The file content is loaded at runtime and injected as the agent's system prompt.
|
||||
The file content is loaded at runtime and injected into the agent's system prompt.
|
||||
|
||||
### Session Recovery
|
||||
|
||||
@@ -903,6 +918,38 @@ Pre-authenticate via CLI:
|
||||
bunx oh-my-opencode mcp oauth login <server-name> --server-url https://api.example.com
|
||||
```
|
||||
|
||||
## Model Capabilities
|
||||
|
||||
Model capabilities are models.dev-backed, with a refreshable cache and compatibility diagnostics. The system combines bundled models.dev snapshot data, optional refreshed cache data, provider runtime metadata, and heuristics when exact metadata is unavailable.
|
||||
|
||||
### Refreshing Capabilities
|
||||
|
||||
Update the local cache with the latest model information:
|
||||
|
||||
```bash
|
||||
bunx oh-my-opencode refresh-model-capabilities
|
||||
```
|
||||
|
||||
Configure automatic refresh at startup:
|
||||
|
||||
```jsonc
|
||||
{
|
||||
"model_capabilities": {
|
||||
"enabled": true,
|
||||
"auto_refresh_on_start": true,
|
||||
"refresh_timeout_ms": 5000,
|
||||
"source_url": "https://models.dev/api.json"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Capability Diagnostics
|
||||
|
||||
Run `bunx oh-my-opencode doctor` to see capability diagnostics including:
|
||||
- effective model resolution for agents and categories
|
||||
- warnings when configured models rely on compatibility fallback
|
||||
- override compatibility details alongside model resolution output
|
||||
|
||||
## Context Injection
|
||||
|
||||
### Directory AGENTS.md
|
||||
|
||||
Reference in New Issue
Block a user