1{
2 "$schema": "https://charm.land/crush.json",
3 "options": {
4 "disable_provider_auto_update": true,
5 "attribution": {
6 "trailer_style": "assisted-by",
7 "generated_with": false
8 },
9 "memory_paths": ["~/.config/crush/rules", "~/.config/AGENTS.md"]
10 },
11 "providers": {
12 "proxy": {
13 "name": "wan",
14 "type": "anthropic",
15 "api_key": "dummy",
16 "base_url": "http://127.0.0.1:8317/",
17 "models": [
18 {
19 "id": "claude-sonnet-4-5-20250929",
20 "name": "Claude Sonnet 4.5",
21 "cost_per_1m_in": 0,
22 "cost_per_1m_out": 0,
23 "cost_per_1m_in_cached": 0,
24 "cost_per_1m_out_cached": 0,
25 "context_window": 200000,
26 "default_max_tokens": 50000,
27 "can_reason": true,
28 "has_reasoning_efforts": false,
29 "supports_attachments": true
30 },
31 {
32 "id": "synthetic/glm-4.6",
33 "name": "GLM-4.6",
34 "cost_per_1m_in": 0,
35 "cost_per_1m_out": 0,
36 "cost_per_1m_in_cached": 0,
37 "cost_per_1m_out_cached": 0,
38 "context_window": 204800,
39 "default_max_tokens": 65536,
40 "can_reason": true,
41 "has_reasoning_efforts": false,
42 "supports_attachments": false
43 },
44 {
45 "id": "gpt-5-codex-high",
46 "name": "GPT-5 Codex High",
47 "cost_per_1m_in": 0,
48 "cost_per_1m_out": 0,
49 "cost_per_1m_in_cached": 0,
50 "cost_per_1m_out_cached": 0,
51 "context_window": 204800,
52 "default_max_tokens": 65536,
53 "can_reason": true,
54 "has_reasoning_efforts": false,
55 "supports_attachments": false
56 },
57 {
58 "id": "gpt-5-high",
59 "name": "GPT-5 High",
60 "cost_per_1m_in": 0,
61 "cost_per_1m_out": 0,
62 "cost_per_1m_in_cached": 0,
63 "cost_per_1m_out_cached": 0,
64 "context_window": 204800,
65 "default_max_tokens": 65536,
66 "can_reason": true,
67 "has_reasoning_efforts": false,
68 "supports_attachments": false
69 },
70 {
71 "id": "claude-haiku-4-5-20251001",
72 "name": "Claude 4.5 Haiku",
73 "cost_per_1m_in": 0,
74 "cost_per_1m_out": 0,
75 "cost_per_1m_in_cached": 0,
76 "cost_per_1m_out_cached": 0,
77 "context_window": 200000,
78 "default_max_tokens": 32000,
79 "can_reason": true,
80 "has_reasoning_efforts": false,
81 "supports_attachments": true
82 },
83 {
84 "id": "synthetic/kimi-k2-thinking",
85 "name": "Kimi K2 Thinking",
86 "cost_per_1m_in": 0,
87 "cost_per_1m_out": 0,
88 "cost_per_1m_in_cached": 0,
89 "cost_per_1m_out_cached": 0,
90 "context_window": 204800,
91 "default_max_tokens": 65536,
92 "can_reason": true,
93 "has_reasoning_efforts": false,
94 "supports_attachments": false
95 },
96 {
97 "id": "synthetic/minimax-m2",
98 "name": "MiniMax M2",
99 "cost_per_1m_in": 0,
100 "cost_per_1m_out": 0,
101 "cost_per_1m_in_cached": 0,
102 "cost_per_1m_out_cached": 0,
103 "context_window": 196608,
104 "default_max_tokens": 65536,
105 "can_reason": true,
106 "has_reasoning_efforts": false,
107 "supports_attachments": false
108 }
109 ]
110 },
111 "minimax": {
112 "name": "MiniMax",
113 "type": "anthropic",
114 "base_url": "https://api.minimax.io/anthropic",
115 "api_key": "$MINIMAX_API_KEY",
116 "extra_headers": {
117 "User-Agent": "claude-cli/2.0.31 (external, cli)",
118 "x-app": "cli",
119 "anthropic-version": "2023-06-01",
120 "anthropic-beta": "oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14"
121 },
122 "models": [
123 {
124 "id": "MiniMax-M2",
125 "name": "MiniMax M2",
126 "cost_per_1m_in": 0,
127 "cost_per_1m_out": 0,
128 "cost_per_1m_in_cached": 0,
129 "cost_per_1m_out_cached": 0,
130 "context_window": 200000,
131 "default_max_tokens": 16384,
132 "can_reason": true,
133 "has_reasoning_efforts": false,
134 "supports_attachments": true
135 }
136 ]
137 }
138 }
139}