wezard 2.2.2 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLAUDE.md +9 -6
- package/README.md +5 -5
- package/config.example.jsonc +12 -0
- package/dist/cli/init.js +2 -1
- package/dist/cli/init.js.map +1 -1
- package/dist/daemon/approval.js +90 -6
- package/dist/daemon/approval.js.map +1 -1
- package/dist/daemon/chat-log.js +6 -1
- package/dist/daemon/chat-log.js.map +1 -1
- package/dist/daemon/chat-name.js +15 -0
- package/dist/daemon/chat-name.js.map +1 -1
- package/dist/daemon/config-api.js +265 -70
- package/dist/daemon/config-api.js.map +1 -1
- package/dist/daemon/danger.js +15 -0
- package/dist/daemon/danger.js.map +1 -1
- package/dist/daemon/detail.js +49 -0
- package/dist/daemon/detail.js.map +1 -1
- package/dist/daemon/handoff.js +12 -5
- package/dist/daemon/handoff.js.map +1 -1
- package/dist/daemon/idle-nudge.js +55 -0
- package/dist/daemon/idle-nudge.js.map +1 -0
- package/dist/daemon/inbound.js +19 -14
- package/dist/daemon/inbound.js.map +1 -1
- package/dist/daemon/index.js +1509 -259
- package/dist/daemon/index.js.map +1 -1
- package/dist/daemon/jobs.js +180 -32
- package/dist/daemon/jobs.js.map +1 -1
- package/dist/daemon/last-response.js +15 -0
- package/dist/daemon/last-response.js.map +1 -1
- package/dist/daemon/memory-steward.js +124 -68
- package/dist/daemon/memory-steward.js.map +1 -1
- package/dist/daemon/mirror-bridge.js +506 -124
- package/dist/daemon/mirror-bridge.js.map +1 -1
- package/dist/daemon/mirror-store.js.map +1 -1
- package/dist/daemon/model-select.js +102 -0
- package/dist/daemon/model-select.js.map +1 -1
- package/dist/daemon/notices.js +147 -33
- package/dist/daemon/notices.js.map +1 -1
- package/dist/daemon/peers.js +261 -124
- package/dist/daemon/peers.js.map +1 -1
- package/dist/daemon/pending-items.js +171 -0
- package/dist/daemon/pending-items.js.map +1 -0
- package/dist/daemon/receipts.js +428 -80
- package/dist/daemon/receipts.js.map +1 -1
- package/dist/daemon/route.js +133 -19
- package/dist/daemon/route.js.map +1 -1
- package/dist/daemon/spawn-tmux.js +24 -13
- package/dist/daemon/spawn-tmux.js.map +1 -1
- package/dist/daemon/steward-guard.js +32 -0
- package/dist/daemon/steward-guard.js.map +1 -0
- package/dist/daemon/task-registry.js +1 -1
- package/dist/daemon/task-registry.js.map +1 -1
- package/dist/daemon/tasks.js +12 -4
- package/dist/daemon/tasks.js.map +1 -1
- package/dist/daemon/usage.js +4 -11
- package/dist/daemon/usage.js.map +1 -1
- package/dist/daemon/wizard-memory.js +36 -4
- package/dist/daemon/wizard-memory.js.map +1 -1
- package/dist/daemon/wizard.js +174 -87
- package/dist/daemon/wizard.js.map +1 -1
- package/dist/mcp/server.js +209 -132
- package/dist/mcp/server.js.map +1 -1
- package/dist/shared/charter-view.js +35 -0
- package/dist/shared/charter-view.js.map +1 -0
- package/dist/shared/chat-http.js +134 -32
- package/dist/shared/chat-http.js.map +1 -1
- package/dist/shared/chat-render.js +6 -3
- package/dist/shared/chat-render.js.map +1 -1
- package/dist/shared/chat-view.js +17 -6
- package/dist/shared/chat-view.js.map +1 -1
- package/dist/shared/cli-backends.js +2 -0
- package/dist/shared/cli-backends.js.map +1 -1
- package/dist/shared/config-meta.js +91 -0
- package/dist/shared/config-meta.js.map +1 -0
- package/dist/shared/config-writer.js +5 -6
- package/dist/shared/config-writer.js.map +1 -1
- package/dist/shared/config.js +273 -294
- package/dist/shared/config.js.map +1 -1
- package/dist/shared/daemon-token.js +18 -0
- package/dist/shared/daemon-token.js.map +1 -0
- package/dist/shared/detail-render.js +233 -20
- package/dist/shared/detail-render.js.map +1 -1
- package/dist/shared/detail-store.js +33 -12
- package/dist/shared/detail-store.js.map +1 -1
- package/dist/shared/effort.js +11 -0
- package/dist/shared/effort.js.map +1 -0
- package/dist/shared/keepalive.js +5 -5
- package/dist/shared/keepalive.js.map +1 -1
- package/dist/shared/model-prices.js +258 -0
- package/dist/shared/model-prices.js.map +1 -0
- package/dist/shared/pricing.js +55 -0
- package/dist/shared/pricing.js.map +1 -0
- package/dist/shared/reminder.js +18 -4
- package/dist/shared/reminder.js.map +1 -1
- package/dist/shared/role-render.js +210 -8
- package/dist/shared/role-render.js.map +1 -1
- package/dist/shared/role-view.js +104 -26
- package/dist/shared/role-view.js.map +1 -1
- package/dist/shared/session-label.js +4 -0
- package/dist/shared/session-label.js.map +1 -1
- package/dist/shared/task-file.js +16 -1
- package/dist/shared/task-file.js.map +1 -1
- package/dist/shared/turn-state.js +24 -0
- package/dist/shared/turn-state.js.map +1 -0
- package/dist/shared/world.js +116 -13
- package/dist/shared/world.js.map +1 -1
- package/dist/svr/index.js +2 -1
- package/dist/svr/index.js.map +1 -1
- package/hooks/pre-tool-use.sh +15 -3
- package/package.json +1 -1
- package/web/chat.css +226 -74
- package/web/chat.js +1075 -370
|
@@ -0,0 +1,258 @@
|
|
|
1
|
+
// 生成文件, 别手改: node scripts/update-prices.mjs
|
|
2
|
+
// 来源 LiteLLM model_prices_and_context_window.json, 快照于 2026-10-02。
|
|
3
|
+
// 每项 = [输入, 输出, 缓存写?, 缓存读?] USD / 百万 token; 缓存档缺省 (null / 省略) 由 pricing.ts 兜底。
|
|
4
|
+
export const MODEL_PRICES = {
|
|
5
|
+
"ai21.j2-mid": [12.5, 12.5],
|
|
6
|
+
"ai21.j2-ultra": [18.8, 18.8],
|
|
7
|
+
"ai21.jamba-1-5-large": [2, 8],
|
|
8
|
+
"ai21.jamba-1-5-mini": [0.2, 0.4],
|
|
9
|
+
"ai21.jamba-instruct": [0.5, 0.7],
|
|
10
|
+
"c4ai-aya-expanse-32b": [0.5, 1.5],
|
|
11
|
+
"chat-latest": [5, 30, null, 0.5],
|
|
12
|
+
"chatdolphin": [0.5, 0.5],
|
|
13
|
+
"claude": [8, 24],
|
|
14
|
+
"claude-3-5-haiku-20241022": [0.8, 4, 1, 0.08],
|
|
15
|
+
"claude-3-5-sonnet-20240620": [3, 15, 3.75, 0.3],
|
|
16
|
+
"claude-3-5-sonnet-20241022": [3, 15, 3.75, 0.3],
|
|
17
|
+
"claude-3-7-sonnet-20240620": [3.6, 18, 4.5, 0.36],
|
|
18
|
+
"claude-3-7-sonnet-20250219": [3, 15, 3.75, 0.3],
|
|
19
|
+
"claude-3-opus-20240229": [15, 75, 18.75, 1.5],
|
|
20
|
+
"claude-fable-5": [10, 50, 12.5, 1],
|
|
21
|
+
"claude-fable-5-1": [10, 50, 12.5, 0.25],
|
|
22
|
+
"claude-haiku-4-5": [1, 5, 1.25, 0.1],
|
|
23
|
+
"claude-haiku-4-5-20251001": [1, 5, 1.25, 0.1],
|
|
24
|
+
"claude-instant": [0.8, 2.4],
|
|
25
|
+
"claude-mythos-5": [10, 50, 12.5, 1],
|
|
26
|
+
"claude-mythos-5-1": [10, 50, 12.5, 0.25],
|
|
27
|
+
"claude-mythos-preview": [10, 50, 12.5, 1],
|
|
28
|
+
"claude-opus-4-1-20250805": [15, 75, 18.75, 1.5],
|
|
29
|
+
"claude-opus-4-20250514": [15, 75, 18.75, 1.5],
|
|
30
|
+
"claude-opus-4-5": [5, 25, 6.25, 0.5],
|
|
31
|
+
"claude-opus-4-5-20251101": [5, 25, 6.25, 0.5],
|
|
32
|
+
"claude-opus-4-6": [5, 25, 6.25, 0.5],
|
|
33
|
+
"claude-opus-4-6-20260205": [5, 25, 6.25, 0.5],
|
|
34
|
+
"claude-opus-4-7": [5, 25, 6.25, 0.5],
|
|
35
|
+
"claude-opus-4-7-20260416": [5, 25, 6.25, 0.5],
|
|
36
|
+
"claude-opus-4-8": [5, 25, 6.25, 0.5],
|
|
37
|
+
"claude-opus-5": [5, 25, 6.25, 0.5],
|
|
38
|
+
"claude-opus-5-5": [4, 20, 5, 0.2],
|
|
39
|
+
"claude-sonnet-4-20250514": [3, 15, 3.75, 0.3],
|
|
40
|
+
"claude-sonnet-4-5": [3, 15, 3.75, 0.3],
|
|
41
|
+
"claude-sonnet-4-5-20250929": [3, 15, 3.75, 0.3],
|
|
42
|
+
"claude-sonnet-4-6": [3, 15, 3.75, 0.3],
|
|
43
|
+
"claude-sonnet-5": [2, 10, 2.5, 0.2],
|
|
44
|
+
"claude-sonnet-5-5": [2, 10, 2.5, 0.2],
|
|
45
|
+
"command-a-03-2025": [2.5, 10],
|
|
46
|
+
"command-light-text": [0.3, 0.6],
|
|
47
|
+
"command-r-08-2024": [0.15, 0.6],
|
|
48
|
+
"command-r-plus-08-2024": [2.5, 10],
|
|
49
|
+
"command-r7b-12-2024": [0.0375, 0.15],
|
|
50
|
+
"command-text": [1, 2],
|
|
51
|
+
"computer-use-preview": [3, 12],
|
|
52
|
+
"daybreak-blue-latest": [4, 20, 5, 0.4],
|
|
53
|
+
"daybreak-red-latest": [12.5, 75, 15.625, 1.25],
|
|
54
|
+
"deepseek-chat": [0.28, 0.42, null, 0.028],
|
|
55
|
+
"deepseek-flash": [0.3, 1.2, 0, 0.006],
|
|
56
|
+
"deepseek-reasoner": [0.28, 0.42, null, 0.028],
|
|
57
|
+
"deepseek-v4-flash": [0.3, 1.2, 0, 0.006],
|
|
58
|
+
"deepseek-v4-flash-vision-exp": [0.3, 1.2, 0, 0.006],
|
|
59
|
+
"deepseek-v4-pro": [1.32, 3.96, 0, 0.044],
|
|
60
|
+
"devstral-2-123b": [0.4, 2],
|
|
61
|
+
"ft:gpt-3.5-turbo": [3, 6],
|
|
62
|
+
"ft:gpt-3.5-turbo-0125": [3, 6],
|
|
63
|
+
"ft:gpt-3.5-turbo-0613": [3, 6],
|
|
64
|
+
"ft:gpt-3.5-turbo-1106": [3, 6],
|
|
65
|
+
"ft:gpt-4-0613": [30, 60],
|
|
66
|
+
"ft:gpt-4.1-2025-04-14": [3, 12, null, 0.75],
|
|
67
|
+
"ft:gpt-4.1-mini-2025-04-14": [0.8, 3.2, null, 0.2],
|
|
68
|
+
"ft:gpt-4.1-nano-2025-04-14": [0.2, 0.8, null, 0.05],
|
|
69
|
+
"ft:gpt-4o-2024-08-06": [3.75, 15, null, 1.875],
|
|
70
|
+
"ft:gpt-4o-2024-11-20": [3.75, 15, 1.875, null],
|
|
71
|
+
"ft:gpt-4o-mini-2024-07-18": [0.3, 1.2, null, 0.15],
|
|
72
|
+
"ft:o4-mini-2025-04-16": [4, 16, null, 1],
|
|
73
|
+
"gemini-2.5-computer-use-preview-10-2025": [1.25, 10],
|
|
74
|
+
"gemini-2.5-flash": [0.3, 2.5, null, 0.03],
|
|
75
|
+
"gemini-2.5-flash-lite": [0.1, 0.4, null, 0.01],
|
|
76
|
+
"gemini-2.5-flash-lite-preview-09-2025": [0.1, 0.4, null, 0.01],
|
|
77
|
+
"gemini-2.5-flash-preview-09-2025": [0.3, 2.5, null, 0.03],
|
|
78
|
+
"gemini-2.5-pro": [1.25, 10, null, 0.125],
|
|
79
|
+
"gemini-2.5-pro-preview-tts": [1, 20, null, 0.125],
|
|
80
|
+
"gemini-3-flash-preview": [0.5, 3, null, 0.05],
|
|
81
|
+
"gemini-3.1-flash-lite": [0.25, 1.5, null, 0.025],
|
|
82
|
+
"gemini-3.1-flash-lite-preview": [0.25, 1.5, null, 0.025],
|
|
83
|
+
"gemini-3.1-pro-preview": [2, 12, null, 0.2],
|
|
84
|
+
"gemini-3.1-pro-preview-customtools": [2, 12, null, 0.2],
|
|
85
|
+
"gemini-3.5-flash": [1.5, 9, null, 0.15],
|
|
86
|
+
"gemini-3.5-flash-lite": [0.3, 2.5, null, 0.03],
|
|
87
|
+
"gemini-3.6-flash": [0.75, 3.75, null, 0.075],
|
|
88
|
+
"gemini-3.7-flash": [0.75, 3.75, null, 0.075],
|
|
89
|
+
"gemini-3.8-flash": [0.75, 3.75, null, 0.075],
|
|
90
|
+
"gemini-3.8-flash-cyber": [1.5, 7.5, null, 0.15],
|
|
91
|
+
"gemini-exp-1206": [0.3, 2.5, null, 0.03],
|
|
92
|
+
"gemini-flash-latest": [0.75, 3.75, null, 0.075],
|
|
93
|
+
"gemini-flash-lite-latest": [0.3, 2.5, null, 0.03],
|
|
94
|
+
"gemini-omni-flash-preview": [1.5, 9],
|
|
95
|
+
"gemini-pro-latest": [2, 12, null, 0.2],
|
|
96
|
+
"gemini-robotics-er-1.5-preview": [0.3, 2.5, null, 0],
|
|
97
|
+
"gemma-3-12b-it": [0.09, 0.29],
|
|
98
|
+
"gemma-3-27b-it": [0.23, 0.38],
|
|
99
|
+
"gemma-3-4b-it": [0.04, 0.08],
|
|
100
|
+
"glm-4.7": [0.6, 2.2],
|
|
101
|
+
"glm-4.7-flash": [0.07, 0.4],
|
|
102
|
+
"glm-5": [1, 3.2],
|
|
103
|
+
"gpt-3.5-turbo": [0.5, 1.5],
|
|
104
|
+
"gpt-3.5-turbo-0125": [0.5, 1.5],
|
|
105
|
+
"gpt-3.5-turbo-1106": [1, 2],
|
|
106
|
+
"gpt-3.5-turbo-16k": [3, 4],
|
|
107
|
+
"gpt-4": [30, 60],
|
|
108
|
+
"gpt-4-0613": [30, 60],
|
|
109
|
+
"gpt-4-1106-preview": [10, 30],
|
|
110
|
+
"gpt-4-turbo": [10, 30],
|
|
111
|
+
"gpt-4-turbo-2024-04-09": [10, 30],
|
|
112
|
+
"gpt-4.1": [2, 8, null, 0.5],
|
|
113
|
+
"gpt-4.1-2025-04-14": [2, 8, null, 0.5],
|
|
114
|
+
"gpt-4.1-mini": [0.4, 1.6, null, 0.1],
|
|
115
|
+
"gpt-4.1-mini-2025-04-14": [0.4, 1.6, null, 0.1],
|
|
116
|
+
"gpt-4.1-nano": [0.1, 0.4, null, 0.025],
|
|
117
|
+
"gpt-4.1-nano-2025-04-14": [0.1, 0.4, null, 0.025],
|
|
118
|
+
"gpt-4o": [2.5, 10, null, 1.25],
|
|
119
|
+
"gpt-4o-2024-05-13": [5, 15],
|
|
120
|
+
"gpt-4o-2024-08-06": [2.5, 10, null, 1.25],
|
|
121
|
+
"gpt-4o-2024-11-20": [2.5, 10, null, 1.25],
|
|
122
|
+
"gpt-4o-audio-preview-2024-12-17": [2.5, 10],
|
|
123
|
+
"gpt-4o-audio-preview-2025-06-03": [2.5, 10],
|
|
124
|
+
"gpt-4o-mini": [0.15, 0.6, null, 0.075],
|
|
125
|
+
"gpt-4o-mini-2024-07-18": [0.15, 0.6, null, 0.075],
|
|
126
|
+
"gpt-4o-mini-audio-preview-2024-12-17": [0.15, 0.6],
|
|
127
|
+
"gpt-4o-mini-search-preview": [0.15, 0.6, null, 0.075],
|
|
128
|
+
"gpt-4o-search-preview": [2.5, 10, null, 1.25],
|
|
129
|
+
"gpt-5": [1.25, 10, null, 0.125],
|
|
130
|
+
"gpt-5-2025-08-07": [1.25, 10, null, 0.125],
|
|
131
|
+
"gpt-5-chat": [1.25, 10, null, 0.125],
|
|
132
|
+
"gpt-5-chat-latest": [1.25, 10, null, 0.125],
|
|
133
|
+
"gpt-5-mini": [0.25, 2, null, 0.025],
|
|
134
|
+
"gpt-5-mini-2025-08-07": [0.25, 2, null, 0.025],
|
|
135
|
+
"gpt-5-nano": [0.05, 0.4, null, 0.005],
|
|
136
|
+
"gpt-5-nano-2025-08-07": [0.05, 0.4, null, 0.005],
|
|
137
|
+
"gpt-5-search-api": [1.25, 10, null, 0.125],
|
|
138
|
+
"gpt-5-search-api-2025-10-14": [1.25, 10, null, 0.125],
|
|
139
|
+
"gpt-5.1": [1.25, 10, null, 0.125],
|
|
140
|
+
"gpt-5.1-2025-11-13": [1.25, 10, null, 0.125],
|
|
141
|
+
"gpt-5.1-chat-latest": [1.25, 10, null, 0.125],
|
|
142
|
+
"gpt-5.2": [1.75, 14, null, 0.175],
|
|
143
|
+
"gpt-5.2-2025-12-11": [1.75, 14, null, 0.175],
|
|
144
|
+
"gpt-5.2-chat-latest": [1.75, 14, null, 0.175],
|
|
145
|
+
"gpt-5.3-chat-latest": [1.75, 14, null, 0.175],
|
|
146
|
+
"gpt-5.4": [2.5, 15, null, 0.25],
|
|
147
|
+
"gpt-5.4-2026-03-05": [2.5, 15, null, 0.25],
|
|
148
|
+
"gpt-5.4-mini": [0.75, 4.5, null, 0.075],
|
|
149
|
+
"gpt-5.4-mini-2026-03-17": [0.75, 4.5, null, 0.075],
|
|
150
|
+
"gpt-5.4-nano": [0.2, 1.25, null, 0.02],
|
|
151
|
+
"gpt-5.4-nano-2026-03-17": [0.2, 1.25, null, 0.02],
|
|
152
|
+
"gpt-5.5": [5, 30, null, 0.5],
|
|
153
|
+
"gpt-5.5-2026-04-23": [5, 30, null, 0.5],
|
|
154
|
+
"gpt-5.5-cyber": [12.5, 75, null, 1.25],
|
|
155
|
+
"gpt-5.6": [4, 20, 5, 0.4],
|
|
156
|
+
"gpt-5.6-cyber": [12.5, 75, 15.625, 1.25],
|
|
157
|
+
"gpt-5.6-luna": [0.2, 1.2, 0.25, 0.02],
|
|
158
|
+
"gpt-5.6-sol": [4, 20, 5, 0.4],
|
|
159
|
+
"gpt-5.6-terra": [2, 12, 2.5, 0.2],
|
|
160
|
+
"gpt-6-astra": [10, 50, 12.5, 1],
|
|
161
|
+
"gpt-6-luna": [0.1, 0.5, 0.125, 0.01],
|
|
162
|
+
"gpt-6-sol": [2, 10, 2.5, 0.2],
|
|
163
|
+
"gpt-6.1-sol": [2, 10, 2.5, 0.1],
|
|
164
|
+
"gpt-audio": [2.5, 10],
|
|
165
|
+
"gpt-audio-1.5": [2.5, 10],
|
|
166
|
+
"gpt-audio-2025-08-28": [2.5, 10],
|
|
167
|
+
"gpt-audio-mini": [0.6, 2.4],
|
|
168
|
+
"gpt-audio-mini-2025-12-15": [0.6, 2.4],
|
|
169
|
+
"gpt-oss-120b-1:0": [0.15, 0.6],
|
|
170
|
+
"gpt-oss-20b-1:0": [0.07, 0.3],
|
|
171
|
+
"gpt-oss-safeguard-120b": [0.15, 0.6],
|
|
172
|
+
"gpt-oss-safeguard-20b": [0.07, 0.2],
|
|
173
|
+
"gpt-rosalind-research": [5, 25, null, 0.5],
|
|
174
|
+
"jamba-1.5": [0.2, 0.4],
|
|
175
|
+
"jamba-1.5-large": [2, 8],
|
|
176
|
+
"jamba-1.5-large@001": [2, 8],
|
|
177
|
+
"jamba-1.5-mini": [0.2, 0.4],
|
|
178
|
+
"jamba-1.5-mini@001": [0.2, 0.4],
|
|
179
|
+
"jamba-large-1.6": [2, 8],
|
|
180
|
+
"jamba-large-1.7": [2, 8],
|
|
181
|
+
"jamba-mini-1.6": [0.2, 0.4],
|
|
182
|
+
"jamba-mini-1.7": [0.2, 0.4],
|
|
183
|
+
"kimi-k2-thinking": [0.6, 2.5],
|
|
184
|
+
"kimi-k2.5": [0.6, 3],
|
|
185
|
+
"kimi-k3": [3, 15, 3.75, 0.3],
|
|
186
|
+
"llama2-13b-chat": [0.75, 1],
|
|
187
|
+
"llama2-70b-chat": [1.95, 2.56],
|
|
188
|
+
"llama3-1-405b-instruct": [2.4, 2.4],
|
|
189
|
+
"llama3-1-70b-instruct": [0.72, 0.72],
|
|
190
|
+
"llama3-1-8b-instruct": [0.22, 0.22],
|
|
191
|
+
"llama3-2-11b-instruct": [0.16, 0.16],
|
|
192
|
+
"llama3-2-1b-instruct": [0.1, 0.1],
|
|
193
|
+
"llama3-2-3b-instruct": [0.15, 0.15],
|
|
194
|
+
"llama3-2-90b-instruct": [0.72, 0.72],
|
|
195
|
+
"llama3-3-70b-instruct": [0.72, 0.72],
|
|
196
|
+
"llama3-70b-instruct": [2.65, 3.5],
|
|
197
|
+
"llama3-8b-instruct": [0.3, 0.6],
|
|
198
|
+
"llama4-maverick-17b-instruct": [0.24, 0.97],
|
|
199
|
+
"llama4-scout-17b-instruct": [0.17, 0.66],
|
|
200
|
+
"magistral-small-2509": [0.5, 1.5],
|
|
201
|
+
"minimax-m2": [0.3, 1.2],
|
|
202
|
+
"minimax-m2.1": [0.3, 1.2],
|
|
203
|
+
"minimax-m2.5": [0.3, 1.2],
|
|
204
|
+
"ministral-3-14b-instruct": [0.2, 0.2],
|
|
205
|
+
"ministral-3-3b-instruct": [0.1, 0.1],
|
|
206
|
+
"ministral-3-8b-instruct": [0.15, 0.15],
|
|
207
|
+
"mistral-7b-instruct": [0.15, 0.2],
|
|
208
|
+
"mistral-large-2402": [4, 12],
|
|
209
|
+
"mistral-large-2407": [2, 6],
|
|
210
|
+
"mistral-large-3-675b-instruct": [0.5, 1.5],
|
|
211
|
+
"mistral-small-2402": [1, 3],
|
|
212
|
+
"mixtral-8x7b-instruct": [0.45, 0.7],
|
|
213
|
+
"nova-2-lite": [0.3, 2.5, null, 0.075],
|
|
214
|
+
"nova-2-pro-preview-20251202": [2.1875, 17.5, null, 0.5469],
|
|
215
|
+
"nova-lite": [0.06, 0.24, null, 0.015],
|
|
216
|
+
"nova-micro": [0.035, 0.14, null, 0.0088],
|
|
217
|
+
"nova-pro": [0.8, 3.2, null, 0.2],
|
|
218
|
+
"nvidia.nemotron-nano-12b": [0.2, 0.6],
|
|
219
|
+
"nvidia.nemotron-nano-3-30b": [0.06, 0.24],
|
|
220
|
+
"nvidia.nemotron-nano-9b": [0.06, 0.23],
|
|
221
|
+
"nvidia.nemotron-super-3-120b": [0.15, 0.65],
|
|
222
|
+
"o1": [15, 60, null, 7.5],
|
|
223
|
+
"o1-2024-12-17": [15, 60, null, 7.5],
|
|
224
|
+
"o3": [2, 8, null, 0.5],
|
|
225
|
+
"o3-2025-04-16": [2, 8, null, 0.5],
|
|
226
|
+
"o3-mini": [1.1, 4.4, null, 0.55],
|
|
227
|
+
"o3-mini-2025-01-31": [1.1, 4.4, null, 0.55],
|
|
228
|
+
"o4-mini": [1.1, 4.4, null, 0.275],
|
|
229
|
+
"o4-mini-2025-04-16": [1.1, 4.4, null, 0.275],
|
|
230
|
+
"pixtral-large-2502": [2, 6],
|
|
231
|
+
"qwen3-235b-a22b-2507": [0.22, 0.88],
|
|
232
|
+
"qwen3-32b": [0.15, 0.6],
|
|
233
|
+
"qwen3-coder-30b-a3b": [0.15, 0.6],
|
|
234
|
+
"qwen3-coder-480b-a35b": [0.45, 1.8],
|
|
235
|
+
"qwen3-coder-next": [0.5, 1.2],
|
|
236
|
+
"qwen3-next-80b-a3b": [0.15, 1.2],
|
|
237
|
+
"qwen3-vl-235b-a22b": [0.53, 2.66],
|
|
238
|
+
"r1": [1.35, 5.4],
|
|
239
|
+
"titan-text-express": [1.3, 1.7],
|
|
240
|
+
"titan-text-lite": [0.3, 0.4],
|
|
241
|
+
"titan-text-premier": [0.5, 1.5],
|
|
242
|
+
"together-ai-21.1b-41b": [0.8, 0.8],
|
|
243
|
+
"together-ai-4.1b-8b": [0.2, 0.2],
|
|
244
|
+
"together-ai-41.1b-80b": [0.9, 0.9],
|
|
245
|
+
"together-ai-8.1b-21b": [0.3, 0.3],
|
|
246
|
+
"together-ai-81.1b-110b": [1.8, 1.8],
|
|
247
|
+
"together-ai-up-to-4b": [0.1, 0.1],
|
|
248
|
+
"v3": [0.58, 1.68],
|
|
249
|
+
"v3.2": [0.62, 1.85],
|
|
250
|
+
"voxtral-mini-3b-2507": [0.04, 0.04],
|
|
251
|
+
"voxtral-small-24b-2507": [0.1, 0.3],
|
|
252
|
+
"writer.palmyra-vision-7b": [0.15, 0.6],
|
|
253
|
+
"writer.palmyra-x4": [2.5, 10],
|
|
254
|
+
"writer.palmyra-x5": [0.6, 6],
|
|
255
|
+
"xai.grok-4.6": [2, 6, null, 0.5],
|
|
256
|
+
"xai.grok-4.7": [2, 6, null, 0.5],
|
|
257
|
+
};
|
|
258
|
+
//# sourceMappingURL=model-prices.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-prices.js","sourceRoot":"","sources":["../../shared/model-prices.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
// 按模型计费: 价格表是 LiteLLM 的快照 (model-prices.ts, scripts/update-prices.mjs 生成),
|
|
2
|
+
// 这里只做「transcript 里的模型名 → 表里的键」与单价乘法。纯函数, daemon 与独立 svr 共用。
|
|
3
|
+
//
|
|
4
|
+
// 快照而非运行时拉取: svr 可能跑在拿不到 GitHub 的机器上, 且同一份记录今天和明天算出的账
|
|
5
|
+
// 不该因为上游改表而变; 也不引依赖 —— LiteLLM 没有只含价格表的 npm 包。
|
|
6
|
+
// 不分档: Claude 早期型号 >200k 上下文的加价按单次调用计, 而轮次只存了累计数。
|
|
7
|
+
import { MODEL_PRICES } from "./model-prices.js";
|
|
8
|
+
const REGION = /^(?:us-gov|us|eu|apac|au|jp|global)\./;
|
|
9
|
+
const VENDOR = /^(?:anthropic|deepseek|zai|moonshotai|moonshot|openai|google|meta|mistral|qwen|minimax|amazon|cohere)\./;
|
|
10
|
+
/** 去掉各后端 / 网关给模型名加的壳: `[1m]`、`vendor/`、bedrock 前缀与 `-v1:0`、`@日期`。 */
|
|
11
|
+
const unwrap = (m) => m.toLowerCase().trim()
|
|
12
|
+
.replace(/\[1m\]$/, "")
|
|
13
|
+
.replace(/^.*\//, "")
|
|
14
|
+
.replace(REGION, "").replace(VENDOR, "")
|
|
15
|
+
.replace(/-v\d+(?::\d+)?$/, "")
|
|
16
|
+
.replace(/@(\d{8})$/, "-$1");
|
|
17
|
+
// 同一个模型的几种写法, 依次去表里找: 原样 → 去日期 → 网关倒装 (claude-4.7-opus) → 点号版本 (claude-opus-4.7)。
|
|
18
|
+
const spellings = (m) => {
|
|
19
|
+
const undated = m.replace(/-\d{8}$/, "");
|
|
20
|
+
const flipped = undated.replace(/^claude-(\d+)(?:[.-](\d+))?-(opus|sonnet|haiku|fable|mythos)\b/, (_, a, b, f) => `claude-${f}-${a}${b ? `-${b}` : ""}`);
|
|
21
|
+
const dashed = flipped.replace(/^(claude-[a-z]+-\d+)\.(\d+)/, "$1-$2");
|
|
22
|
+
return [...new Set([m, undated, flipped, dashed])];
|
|
23
|
+
};
|
|
24
|
+
/** 归一后的规范写法 (claude-opus-4-7 / gpt-5 …): 计价查表与显示名共用。 */
|
|
25
|
+
const canonical = (model) => spellings(unwrap(model)).at(-1).replace(/-\d{8}$/, "");
|
|
26
|
+
const FAMILY = /^claude-(opus|sonnet|haiku|fable|mythos)-(\d+)(?:-(\d+))?$/;
|
|
27
|
+
/** 给人看的模型名: claude-opus-5-5[1m] → Opus 5.5; 不是 Claude 家族的就是去了壳的规范名。 */
|
|
28
|
+
export const modelLabel = (model) => {
|
|
29
|
+
const c = canonical(model);
|
|
30
|
+
const m = FAMILY.exec(c);
|
|
31
|
+
return m ? `${m[1][0].toUpperCase()}${m[1].slice(1)} ${m[2]}${m[3] ? `.${m[3]}` : ""}` : c;
|
|
32
|
+
};
|
|
33
|
+
const KEYS = Object.keys(MODEL_PRICES).sort((a, b) => b.length - a.length);
|
|
34
|
+
/** 都没精确命中: 表里最长的、是它前缀的键 (claude-opus-5-5-preview → claude-opus-5-5)。 */
|
|
35
|
+
const byPrefix = (m) => KEYS.find((k) => m.startsWith(`${k}-`));
|
|
36
|
+
const toPrice = (row) => {
|
|
37
|
+
const [i = 0, o = 0, cw, cr] = row;
|
|
38
|
+
// 表里没有缓存档 = 该家不单独计缓存价: 写按输入价, 读也按输入价 (宁高勿低)。
|
|
39
|
+
return { in: i ?? 0, out: o ?? 0, cacheWrite: cw ?? i ?? 0, cacheRead: cr ?? i ?? 0 };
|
|
40
|
+
};
|
|
41
|
+
const memo = new Map();
|
|
42
|
+
/** 模型的单价 (USD / 百万 token); 表里认不出 → undefined, 由调用方记成「未计价」, 不瞎猜。 */
|
|
43
|
+
export const priceOf = (model) => {
|
|
44
|
+
if (!model)
|
|
45
|
+
return undefined;
|
|
46
|
+
if (memo.has(model))
|
|
47
|
+
return memo.get(model);
|
|
48
|
+
const names = spellings(unwrap(model));
|
|
49
|
+
const key = names.find((n) => n in MODEL_PRICES) ?? names.map(byPrefix).find(Boolean);
|
|
50
|
+
const p = key ? toPrice(MODEL_PRICES[key]) : undefined;
|
|
51
|
+
memo.set(model, p);
|
|
52
|
+
return p;
|
|
53
|
+
};
|
|
54
|
+
export const costOf = (p, t) => (t.input * p.in + t.output * p.out + t.cacheWrite * p.cacheWrite + t.cacheRead * p.cacheRead) / 1_000_000;
|
|
55
|
+
//# sourceMappingURL=pricing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../../shared/pricing.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/reminder.js
CHANGED
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
// 属性一览 (`wezard` 区分种类):
|
|
9
9
|
// envelope kind=human|peer|task from chat? scope=private|public (仅 peer)
|
|
10
10
|
// receipt=1 (仅 peer): 这一轮是守护进程自动送回来的回执, 不是新活
|
|
11
|
+
// reply-to (仅回执): 这一轮的终句会送到哪 (`.x` / 群名); 缺省 = 只进 rolepage
|
|
12
|
+
// k (仅回执): 机器读的父 k (`chat:<base>` / `peer:<turn>:<key>`), 下一跳继承
|
|
11
13
|
// mention names (空格分隔的 `.name`)
|
|
12
14
|
// roster 正文里 `- ` 开头的每一行是一条变动
|
|
13
15
|
// 开标签容许属性: 我们自己的, 以及 codebuddy 的 `data-role="command-caveat"`。
|
|
@@ -28,15 +30,21 @@ export const stripReminders = (text) => text.replace(REMINDER_RE, "").trim();
|
|
|
28
30
|
export const envelopeAttrs = {
|
|
29
31
|
human: (user, chat) => ({ wezard: "envelope", kind: "human", from: user, chat }),
|
|
30
32
|
/** `chat` 不给 = 私聊。 */
|
|
31
|
-
peer: (from, chat) => ({
|
|
33
|
+
peer: (from, chat, t) => ({
|
|
32
34
|
wezard: "envelope", kind: "peer", from, scope: chat === undefined ? "private" : "public", ...(chat ? { chat } : {}),
|
|
35
|
+
...(t ? { turn: t.turn, ...(t.re ? { re: t.turn } : {}), ...(t.deadline ? { deadline: new Date(t.deadline).toISOString() } : {}), ...(t.act ? { act: t.act } : {}) } : {}),
|
|
33
36
|
}),
|
|
34
|
-
|
|
37
|
+
/** `turn` = 这一枪的件号 (安静任务按它定位终句, 见 index.ts relayUnlessQuiet)。 */
|
|
38
|
+
task: (taskId, turn) => ({ wezard: "envelope", kind: "task", from: taskId, ...(turn ? { turn } : {}) }),
|
|
35
39
|
/** 回执也是「`from` 在对你说话」, 所以仍是 peer 信封 —— read_chat / rolepage 照旧
|
|
36
40
|
* 把它归到那场对话里; 多一个 `receipt` 属性说明它是自动送回来的结论而不是新活。 */
|
|
37
|
-
receipt: (from, chat, job) => ({
|
|
38
|
-
...envelopeAttrs.peer(from, chat),
|
|
41
|
+
receipt: (from, chat, job, status = "done", turn, route) => ({
|
|
42
|
+
...envelopeAttrs.peer(from, chat, turn ? { turn } : undefined),
|
|
39
43
|
receipt: "1",
|
|
44
|
+
status,
|
|
45
|
+
...(route?.replyTo ? { "reply-to": route.replyTo } : {}),
|
|
46
|
+
...(route?.k ? { k: route.k } : {}),
|
|
47
|
+
...(route?.audience ? { audience: route.audience } : {}),
|
|
40
48
|
// 工单的「齐了吗」由守护进程数出来写在属性上, 不让模型自己记: 异步回执是 N 个
|
|
41
49
|
// 独立的轮次陆续进来的, 靠模型在上下文里数到五是最容易出错的那种事。
|
|
42
50
|
...(job && job.job
|
|
@@ -52,6 +60,12 @@ const envelopeOfAttrs = (a) => a.wezard === "envelope" && KINDS.has(a.kind ?? ""
|
|
|
52
60
|
private: a.scope === "private",
|
|
53
61
|
chat: a.chat ?? "",
|
|
54
62
|
...(a.receipt === "1" ? { receipt: true } : {}),
|
|
63
|
+
...(a.status ? { status: a.status } : {}),
|
|
64
|
+
...(a.turn ? { turn: a.turn } : {}),
|
|
65
|
+
...(a.re ? { re: a.re } : {}),
|
|
66
|
+
...(a["reply-to"] ? { replyTo: a["reply-to"] } : {}),
|
|
67
|
+
...(a.k ? { k: a.k } : {}),
|
|
68
|
+
...(a.audience ? { audience: a.audience } : {}),
|
|
55
69
|
}
|
|
56
70
|
: undefined;
|
|
57
71
|
// 属性出现之前的措辞。只增不删: 老 transcript 永远在盘上。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reminder.js","sourceRoot":"","sources":["../../shared/reminder.ts"],"names":[],"mappings":"AAAA,yDAAyD;AACzD,wBAAwB;AACxB,8BAA8B;AAC9B,mDAAmD;AACnD,2BAA2B;AAC3B,sDAAsD;AACtD,EAAE;AACF,wBAAwB;AACxB,+EAA+E;AAC/E,yDAAyD;AACzD,qCAAqC;AACrC,mCAAmC;AASnC,+DAA+D;AAC/D,MAAM,CAAC,MAAM,WAAW,GAAG,2DAA2D,CAAC;AAEvF,MAAM,GAAG,GAAoC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC;AAC7G,MAAM,OAAO,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACxF,MAAM,SAAS,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEzG,MAAM,OAAO,GAAG,CAAC,CAAC,GAAG,EAAE,EAAS,EAAE,CAChC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAEnG,yBAAyB;AACzB,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,KAAY,EAAE,KAAwB,EAAU,EAAE,CAC/E;IACE,EAAE;IACF,mBAAmB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG;IAC7F,GAAG,KAAK;IACR,oBAAoB;CACrB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEf,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAc,EAAE,CACzD,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAE/G,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"reminder.js","sourceRoot":"","sources":["../../shared/reminder.ts"],"names":[],"mappings":"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"}
|