mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-27 08:14:33 +08:00
feat(presets): migrate all aggregator and Bedrock presets to Claude Opus 4.7
- OpenClaw: replace opus-4-6 with opus-4-7 across 17 aggregator presets (id, name, primary, modelCatalog); AWS Bedrock entry rewritten to new SKU anthropic.claude-opus-4-7 (drops -v1 and dated suffix per official 4.7 model card) and pricing corrected to $5/$25/$0.50/$6.25 during the SKU swap, aligning with schema.rs source of truth - OpenCode: same replacement for 13 aggregators plus OPENCODE_PRESET_MODEL_VARIANTS entries for @ai-sdk/amazon-bedrock and @ai-sdk/anthropic, plus AWS Bedrock provider models map - OpenRouter / TheRouter / GitHub Copilot in claudeProviderPresets use dot-style id; update to anthropic/claude-opus-4.7 (missed by 509d2250) - omo: switch agent/category recommended to opus-4-7; replace key in OMO_BACKGROUND_TASK_PLACEHOLDER priority map - hermes_config.rs: update doc comments and test fixtures to opus-4-7; Hermes ModelPanel placeholder and i18n defaultHint examples follow - i18n unspecifiedHigh category description bumped to 'Claude Opus 4.7 max variant' to match omo recommended - Test fixtures updated: therouter preset assertion and opencode Bedrock variant lookup now check for opus-4-7 - Sonnet 4.6 / Haiku 4.5 untouched - no official 4.7 release for them
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
//!
|
||||
//! ```yaml
|
||||
//! model:
|
||||
//! default: "anthropic/claude-opus-4-6"
|
||||
//! default: "anthropic/claude-opus-4-7"
|
||||
//! provider: "openrouter"
|
||||
//! base_url: "https://openrouter.ai/api/v1"
|
||||
//!
|
||||
@@ -214,7 +214,7 @@ fn find_yaml_section_range(raw: &str, section_key: &str) -> Option<(usize, usize
|
||||
///
|
||||
/// ```yaml
|
||||
/// model:
|
||||
/// default: "anthropic/claude-opus-4-6"
|
||||
/// default: "anthropic/claude-opus-4-7"
|
||||
/// provider: "openrouter"
|
||||
/// ```
|
||||
fn serialize_yaml_section(key: &str, value: &serde_yaml::Value) -> Result<String, AppError> {
|
||||
@@ -902,7 +902,7 @@ agent:
|
||||
let mut m = serde_yaml::Mapping::new();
|
||||
m.insert(
|
||||
serde_yaml::Value::String("default".to_string()),
|
||||
serde_yaml::Value::String("claude-opus-4-6".to_string()),
|
||||
serde_yaml::Value::String("claude-opus-4-7".to_string()),
|
||||
);
|
||||
m.insert(
|
||||
serde_yaml::Value::String("provider".to_string()),
|
||||
@@ -916,7 +916,7 @@ agent:
|
||||
assert!(result.contains("agent:"));
|
||||
assert!(result.contains("max_turns"));
|
||||
// And the model section should be updated
|
||||
assert!(result.contains("claude-opus-4-6"));
|
||||
assert!(result.contains("claude-opus-4-7"));
|
||||
assert!(result.contains("anthropic"));
|
||||
assert!(!result.contains("gpt-4"));
|
||||
assert!(!result.contains("openai"));
|
||||
@@ -1115,7 +1115,7 @@ model:
|
||||
assert!(get_model_config().unwrap().is_none());
|
||||
|
||||
let model = HermesModelConfig {
|
||||
default: Some("anthropic/claude-opus-4-6".to_string()),
|
||||
default: Some("anthropic/claude-opus-4-7".to_string()),
|
||||
provider: Some("openrouter".to_string()),
|
||||
base_url: Some("https://openrouter.ai/api/v1".to_string()),
|
||||
context_length: Some(200000),
|
||||
@@ -1127,7 +1127,7 @@ model:
|
||||
let read_model = get_model_config().unwrap().unwrap();
|
||||
assert_eq!(
|
||||
read_model.default.as_deref(),
|
||||
Some("anthropic/claude-opus-4-6")
|
||||
Some("anthropic/claude-opus-4-7")
|
||||
);
|
||||
assert_eq!(read_model.provider.as_deref(), Some("openrouter"));
|
||||
assert_eq!(read_model.context_length, Some(200000));
|
||||
|
||||
@@ -110,12 +110,12 @@ const ModelPanel: React.FC = () => {
|
||||
id="hermes-model-default"
|
||||
value={defaultModel}
|
||||
onChange={(e) => setDefaultModel(e.target.value)}
|
||||
placeholder="anthropic/claude-opus-4-6"
|
||||
placeholder="anthropic/claude-opus-4-7"
|
||||
/>
|
||||
<p className="text-xs text-muted-foreground">
|
||||
{t("hermes.model.defaultHint", {
|
||||
defaultValue:
|
||||
"The default model to use, e.g. anthropic/claude-opus-4-6",
|
||||
"The default model to use, e.g. anthropic/claude-opus-4-7",
|
||||
})}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -759,7 +759,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-4.6",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.7",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -778,7 +778,7 @@ export const providerPresets: ProviderPreset[] = [
|
||||
ANTHROPIC_MODEL: "anthropic/claude-sonnet-4.6",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "anthropic/claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "anthropic/claude-sonnet-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "anthropic/claude-opus-4.7",
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -809,10 +809,10 @@ export const providerPresets: ProviderPreset[] = [
|
||||
settingsConfig: {
|
||||
env: {
|
||||
ANTHROPIC_BASE_URL: "https://api.githubcopilot.com",
|
||||
ANTHROPIC_MODEL: "claude-opus-4.6",
|
||||
ANTHROPIC_MODEL: "claude-opus-4.7",
|
||||
ANTHROPIC_DEFAULT_HAIKU_MODEL: "claude-haiku-4.5",
|
||||
ANTHROPIC_DEFAULT_SONNET_MODEL: "claude-sonnet-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-4.6",
|
||||
ANTHROPIC_DEFAULT_OPUS_MODEL: "claude-opus-4.7",
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
|
||||
@@ -69,8 +69,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -95,11 +95,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "shengsuanyun/claude-opus-4-6",
|
||||
primary: "shengsuanyun/claude-opus-4-7",
|
||||
fallbacks: ["shengsuanyun/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"shengsuanyun/claude-opus-4-6": { alias: "Opus" },
|
||||
"shengsuanyun/claude-opus-4-7": { alias: "Opus" },
|
||||
"shengsuanyun/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -696,8 +696,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -721,11 +721,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aihubmix/claude-opus-4-6",
|
||||
primary: "aihubmix/claude-opus-4-7",
|
||||
fallbacks: ["aihubmix/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aihubmix/claude-opus-4-6": { alias: "Opus" },
|
||||
"aihubmix/claude-opus-4-7": { alias: "Opus" },
|
||||
"aihubmix/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -740,8 +740,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -765,11 +765,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "dmxapi/claude-opus-4-6",
|
||||
primary: "dmxapi/claude-opus-4-7",
|
||||
fallbacks: ["dmxapi/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"dmxapi/claude-opus-4-6": { alias: "Opus" },
|
||||
"dmxapi/claude-opus-4-7": { alias: "Opus" },
|
||||
"dmxapi/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -784,8 +784,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "openai-completions",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic/claude-opus-4.6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "anthropic/claude-opus-4.7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -809,11 +809,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "openrouter/anthropic/claude-opus-4.6",
|
||||
primary: "openrouter/anthropic/claude-opus-4.7",
|
||||
fallbacks: ["openrouter/anthropic/claude-sonnet-4.6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"openrouter/anthropic/claude-opus-4.6": { alias: "Opus" },
|
||||
"openrouter/anthropic/claude-opus-4.7": { alias: "Opus" },
|
||||
"openrouter/anthropic/claude-sonnet-4.6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1070,8 +1070,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "claude-opus-4-6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "claude-opus-4-7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1100,11 +1100,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "pipellm/claude-opus-4-6",
|
||||
primary: "pipellm/claude-opus-4-7",
|
||||
fallbacks: ["pipellm/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"pipellm/claude-opus-4-6": { alias: "Opus" },
|
||||
"pipellm/claude-opus-4-7": { alias: "Opus" },
|
||||
"pipellm/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
"pipellm/claude-haiku-4-5-20251001": { alias: "Haiku" },
|
||||
},
|
||||
@@ -1122,8 +1122,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1148,11 +1148,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "packycode/claude-opus-4-6",
|
||||
primary: "packycode/claude-opus-4-7",
|
||||
fallbacks: ["packycode/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"packycode/claude-opus-4-6": { alias: "Opus" },
|
||||
"packycode/claude-opus-4-7": { alias: "Opus" },
|
||||
"packycode/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1167,8 +1167,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1194,11 +1194,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "cubence/claude-opus-4-6",
|
||||
primary: "cubence/claude-opus-4-7",
|
||||
fallbacks: ["cubence/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"cubence/claude-opus-4-6": { alias: "Opus" },
|
||||
"cubence/claude-opus-4-7": { alias: "Opus" },
|
||||
"cubence/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1213,8 +1213,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1240,11 +1240,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aigocode/claude-opus-4-6",
|
||||
primary: "aigocode/claude-opus-4-7",
|
||||
fallbacks: ["aigocode/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aigocode/claude-opus-4-6": { alias: "Opus" },
|
||||
"aigocode/claude-opus-4-7": { alias: "Opus" },
|
||||
"aigocode/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1259,8 +1259,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1286,11 +1286,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "rightcode/claude-opus-4-6",
|
||||
primary: "rightcode/claude-opus-4-7",
|
||||
fallbacks: ["rightcode/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"rightcode/claude-opus-4-6": { alias: "Opus" },
|
||||
"rightcode/claude-opus-4-7": { alias: "Opus" },
|
||||
"rightcode/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1305,8 +1305,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1332,11 +1332,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aicodemirror/claude-opus-4-6",
|
||||
primary: "aicodemirror/claude-opus-4-7",
|
||||
fallbacks: ["aicodemirror/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aicodemirror/claude-opus-4-6": { alias: "Opus" },
|
||||
"aicodemirror/claude-opus-4-7": { alias: "Opus" },
|
||||
"aicodemirror/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1351,8 +1351,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1378,11 +1378,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "aicoding/claude-opus-4-6",
|
||||
primary: "aicoding/claude-opus-4-7",
|
||||
fallbacks: ["aicoding/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"aicoding/claude-opus-4-6": { alias: "Opus" },
|
||||
"aicoding/claude-opus-4-7": { alias: "Opus" },
|
||||
"aicoding/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1397,8 +1397,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1424,11 +1424,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "crazyrouter/claude-opus-4-6",
|
||||
primary: "crazyrouter/claude-opus-4-7",
|
||||
fallbacks: ["crazyrouter/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"crazyrouter/claude-opus-4-6": { alias: "Opus" },
|
||||
"crazyrouter/claude-opus-4-7": { alias: "Opus" },
|
||||
"crazyrouter/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1443,8 +1443,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1470,11 +1470,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "sssaicode/claude-opus-4-6",
|
||||
primary: "sssaicode/claude-opus-4-7",
|
||||
fallbacks: ["sssaicode/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"sssaicode/claude-opus-4-6": { alias: "Opus" },
|
||||
"sssaicode/claude-opus-4-7": { alias: "Opus" },
|
||||
"sssaicode/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1491,8 +1491,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1512,10 +1512,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "compshare/claude-opus-4-6",
|
||||
primary: "compshare/claude-opus-4-7",
|
||||
},
|
||||
modelCatalog: {
|
||||
"compshare/claude-opus-4-6": { alias: "Opus" },
|
||||
"compshare/claude-opus-4-7": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1529,8 +1529,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1550,10 +1550,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "micu/claude-opus-4-6",
|
||||
primary: "micu/claude-opus-4-7",
|
||||
},
|
||||
modelCatalog: {
|
||||
"micu/claude-opus-4-6": { alias: "Opus" },
|
||||
"micu/claude-opus-4-7": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1567,8 +1567,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1588,10 +1588,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "ctok/claude-opus-4-6",
|
||||
primary: "ctok/claude-opus-4-7",
|
||||
},
|
||||
modelCatalog: {
|
||||
"ctok/claude-opus-4-6": { alias: "Opus" },
|
||||
"ctok/claude-opus-4-7": { alias: "Opus" },
|
||||
},
|
||||
},
|
||||
},
|
||||
@@ -1604,8 +1604,8 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "anthropic-messages",
|
||||
models: [
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 5, output: 25 },
|
||||
},
|
||||
@@ -1630,11 +1630,11 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
},
|
||||
suggestedDefaults: {
|
||||
model: {
|
||||
primary: "lionccapi/claude-opus-4-6",
|
||||
primary: "lionccapi/claude-opus-4-7",
|
||||
fallbacks: ["lionccapi/claude-sonnet-4-6"],
|
||||
},
|
||||
modelCatalog: {
|
||||
"lionccapi/claude-opus-4-6": { alias: "Opus" },
|
||||
"lionccapi/claude-opus-4-7": { alias: "Opus" },
|
||||
"lionccapi/claude-sonnet-4-6": { alias: "Sonnet" },
|
||||
},
|
||||
},
|
||||
@@ -1712,10 +1712,10 @@ export const openclawProviderPresets: OpenClawProviderPreset[] = [
|
||||
api: "bedrock-converse-stream",
|
||||
models: [
|
||||
{
|
||||
id: "anthropic.claude-opus-4-6-20250514-v1:0",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "anthropic.claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextWindow: 1000000,
|
||||
cost: { input: 15, output: 75, cacheRead: 1.5, cacheWrite: 18.75 },
|
||||
cost: { input: 5, output: 25, cacheRead: 0.5, cacheWrite: 6.25 },
|
||||
},
|
||||
{
|
||||
id: "anthropic.claude-sonnet-4-6",
|
||||
|
||||
@@ -166,8 +166,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
],
|
||||
"@ai-sdk/amazon-bedrock": [
|
||||
{
|
||||
id: "global.anthropic.claude-opus-4-6-v1",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "global.anthropic.claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextLimit: 1000000,
|
||||
outputLimit: 128000,
|
||||
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
||||
@@ -234,8 +234,8 @@ export const OPENCODE_PRESET_MODEL_VARIANTS: Record<
|
||||
},
|
||||
},
|
||||
{
|
||||
id: "claude-opus-4-6",
|
||||
name: "Claude Opus 4.6",
|
||||
id: "claude-opus-4-7",
|
||||
name: "Claude Opus 4.7",
|
||||
contextLimit: 1000000,
|
||||
outputLimit: 128000,
|
||||
modalities: { input: ["text", "image", "pdf"], output: ["text"] },
|
||||
@@ -310,7 +310,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
},
|
||||
},
|
||||
@@ -878,7 +878,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -906,7 +906,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -934,7 +934,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"anthropic/claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
||||
"anthropic/claude-opus-4.6": { name: "Claude Opus 4.6" },
|
||||
"anthropic/claude-opus-4.7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "aggregator",
|
||||
@@ -1046,7 +1046,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-6": { name: "claude-opus-4-6" },
|
||||
"claude-opus-4-7": { name: "claude-opus-4-7" },
|
||||
"claude-sonnet-4-6": { name: "claude-sonnet-4-6" },
|
||||
"claude-haiku-4-5-20251001": { name: "claude-haiku-4-5-20251001" },
|
||||
},
|
||||
@@ -1076,7 +1076,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1105,7 +1105,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1135,7 +1135,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1194,7 +1194,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4.6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4.6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4.7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1224,7 +1224,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1254,7 +1254,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1284,7 +1284,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
},
|
||||
models: {
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
},
|
||||
},
|
||||
category: "third_party",
|
||||
@@ -1313,7 +1313,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
},
|
||||
},
|
||||
@@ -1343,7 +1343,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
},
|
||||
},
|
||||
@@ -1372,7 +1372,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"claude-opus-4-6": { name: "Claude Opus 4.6" },
|
||||
"claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
"claude-sonnet-4-6": { name: "Claude Sonnet 4.6" },
|
||||
},
|
||||
},
|
||||
@@ -1431,7 +1431,7 @@ export const opencodeProviderPresets: OpenCodeProviderPreset[] = [
|
||||
setCacheKey: true,
|
||||
},
|
||||
models: {
|
||||
"global.anthropic.claude-opus-4-6-v1": { name: "Claude Opus 4.6" },
|
||||
"global.anthropic.claude-opus-4-7": { name: "Claude Opus 4.7" },
|
||||
"global.anthropic.claude-sonnet-4-6": {
|
||||
name: "Claude Sonnet 4.6",
|
||||
},
|
||||
|
||||
@@ -1646,7 +1646,7 @@
|
||||
"title": "Model Config",
|
||||
"description": "Configure the default model settings in config.yaml's model section.",
|
||||
"default": "Default Model",
|
||||
"defaultHint": "The default model to use, e.g. anthropic/claude-opus-4-6",
|
||||
"defaultHint": "The default model to use, e.g. anthropic/claude-opus-4-7",
|
||||
"provider": "Provider",
|
||||
"providerHint": "Provider name for model routing (e.g. openrouter, anthropic)",
|
||||
"baseUrl": "Base URL",
|
||||
@@ -2448,7 +2448,7 @@
|
||||
"artistry": "Highly creative and artistic task category that inspires novel ideas and creative solutions. Defaults to Gemini 3 Pro max variant.",
|
||||
"quick": "Lightweight task category for single-file modifications, typo fixes, and simple adjustments. Defaults to Claude Haiku 4.5 fast model.",
|
||||
"unspecifiedLow": "Uncategorized low-effort task category for tasks that don't fit other categories with small workload. Defaults to Claude Sonnet 4.5.",
|
||||
"unspecifiedHigh": "Uncategorized high-effort task category for tasks that don't fit other categories with large workload. Defaults to Claude Opus 4.6 max variant.",
|
||||
"unspecifiedHigh": "Uncategorized high-effort task category for tasks that don't fit other categories with large workload. Defaults to Claude Opus 4.7 max variant.",
|
||||
"writing": "Writing category for documentation, prose and technical writing. Defaults to Gemini 3 Flash fast generation model."
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
@@ -1646,7 +1646,7 @@
|
||||
"title": "モデル設定",
|
||||
"description": "config.yaml の model セクションのデフォルトモデル設定を構成します。",
|
||||
"default": "デフォルトモデル",
|
||||
"defaultHint": "使用するデフォルトモデル(例: anthropic/claude-opus-4-6)",
|
||||
"defaultHint": "使用するデフォルトモデル(例: anthropic/claude-opus-4-7)",
|
||||
"provider": "プロバイダー",
|
||||
"providerHint": "モデルルーティングのプロバイダー名(例: openrouter、anthropic)",
|
||||
"baseUrl": "Base URL",
|
||||
@@ -2448,7 +2448,7 @@
|
||||
"artistry": "高度にクリエイティブで芸術的なタスクカテゴリ。斬新なアイデアとクリエイティブなソリューションを促進。デフォルトで Gemini 3 Pro の max バリアントを使用。",
|
||||
"quick": "軽量タスクカテゴリ。単一ファイルの修正、タイポ修正、簡単な調整などの些細な作業に使用。デフォルトで Claude Haiku 4.5 高速モデルを使用。",
|
||||
"unspecifiedLow": "未分類の低作業量タスクカテゴリ。他のカテゴリに該当せず作業量が小さいタスクに適用。デフォルトで Claude Sonnet 4.5 を使用。",
|
||||
"unspecifiedHigh": "未分類の高作業量タスクカテゴリ。他のカテゴリに該当せず作業量が大きいタスクに適用。デフォルトで Claude Opus 4.6 の max バリアントを使用。",
|
||||
"unspecifiedHigh": "未分類の高作業量タスクカテゴリ。他のカテゴリに該当せず作業量が大きいタスクに適用。デフォルトで Claude Opus 4.7 の max バリアントを使用。",
|
||||
"writing": "ライティングカテゴリ。ドキュメント、散文、技術文書に特化。デフォルトで Gemini 3 Flash 高速生成モデルを使用。"
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
@@ -1647,7 +1647,7 @@
|
||||
"title": "模型配置",
|
||||
"description": "配置 config.yaml 中 model 节的默认模型设置。",
|
||||
"default": "默认模型",
|
||||
"defaultHint": "使用的默认模型,如 anthropic/claude-opus-4-6",
|
||||
"defaultHint": "使用的默认模型,如 anthropic/claude-opus-4-7",
|
||||
"provider": "供应商",
|
||||
"providerHint": "模型路由的供应商名称(如 openrouter、anthropic)",
|
||||
"baseUrl": "Base URL",
|
||||
@@ -2449,7 +2449,7 @@
|
||||
"artistry": "高度创意与艺术性任务类别,激发新颖想法和创造性解决方案,默认使用 Gemini 3 Pro 的最大变体。",
|
||||
"quick": "轻量任务类别,用于单文件修改、错别字修复、简单调整等琐碎工作,默认使用 Claude Haiku 4.5 快速模型。",
|
||||
"unspecifiedLow": "未归类低工作量任务类别,适用于不适合其他类别且工作量较小的任务,默认使用 Claude Sonnet 4.5。",
|
||||
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 4.6 的最大变体。",
|
||||
"unspecifiedHigh": "未归类高工作量任务类别,适用于不适合其他类别且工作量较大的任务,默认使用 Claude Opus 4.7 的最大变体。",
|
||||
"writing": "写作类别,专注于文档、散文和技术写作,默认使用 Gemini 3 Flash 快速生成模型。"
|
||||
},
|
||||
"slimAgentDesc": {
|
||||
|
||||
+6
-6
@@ -29,7 +29,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Sisyphus",
|
||||
descKey: "omo.agentDesc.sisyphus",
|
||||
tooltipKey: "omo.agentTooltip.sisyphus",
|
||||
recommended: "claude-opus-4-6",
|
||||
recommended: "claude-opus-4-7",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -45,7 +45,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Prometheus",
|
||||
descKey: "omo.agentDesc.prometheus",
|
||||
tooltipKey: "omo.agentTooltip.prometheus",
|
||||
recommended: "claude-opus-4-6",
|
||||
recommended: "claude-opus-4-7",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
@@ -93,7 +93,7 @@ export const OMO_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Metis",
|
||||
descKey: "omo.agentDesc.metis",
|
||||
tooltipKey: "omo.agentTooltip.metis",
|
||||
recommended: "claude-opus-4-6",
|
||||
recommended: "claude-opus-4-7",
|
||||
group: "sub",
|
||||
},
|
||||
{
|
||||
@@ -161,7 +161,7 @@ export const OMO_BUILTIN_CATEGORIES: OmoCategoryDef[] = [
|
||||
display: "Unspecified High",
|
||||
descKey: "omo.categoryDesc.unspecifiedHigh",
|
||||
tooltipKey: "omo.categoryTooltip.unspecifiedHigh",
|
||||
recommended: "claude-opus-4-6",
|
||||
recommended: "claude-opus-4-7",
|
||||
},
|
||||
{
|
||||
key: "writing",
|
||||
@@ -280,7 +280,7 @@ export const OMO_BACKGROUND_TASK_PLACEHOLDER = `{
|
||||
"google": 10
|
||||
},
|
||||
"modelConcurrency": {
|
||||
"anthropic/claude-opus-4-6": 2,
|
||||
"anthropic/claude-opus-4-7": 2,
|
||||
"google/gemini-3-flash": 10
|
||||
}
|
||||
}`;
|
||||
@@ -319,7 +319,7 @@ export const OMO_SLIM_BUILTIN_AGENTS: OmoAgentDef[] = [
|
||||
display: "Orchestrator",
|
||||
descKey: "omo.slimAgentDesc.orchestrator",
|
||||
tooltipKey: "omo.slimAgentTooltip.orchestrator",
|
||||
recommended: "claude-opus-4-6",
|
||||
recommended: "claude-opus-4-7",
|
||||
group: "main",
|
||||
},
|
||||
{
|
||||
|
||||
@@ -20,7 +20,7 @@ describe("AWS Bedrock OpenCode Provider Presets", () => {
|
||||
expect(variants.length).toBeGreaterThan(0);
|
||||
|
||||
const opusModel = variants.find((v) =>
|
||||
v.id.includes("anthropic.claude-opus-4-6"),
|
||||
v.id.includes("anthropic.claude-opus-4-7"),
|
||||
);
|
||||
expect(opusModel).toBeDefined();
|
||||
});
|
||||
|
||||
@@ -25,7 +25,7 @@ describe("TheRouter provider presets", () => {
|
||||
"anthropic/claude-sonnet-4.6",
|
||||
);
|
||||
expect(env.ANTHROPIC_DEFAULT_OPUS_MODEL).toBe(
|
||||
"anthropic/claude-opus-4.6",
|
||||
"anthropic/claude-opus-4.7",
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
Reference in New Issue
Block a user