host
63823fc2e3
逐任务真实成本:上游用量事件 + 价目表计价
此前每任务只记一条 estimated(字符数/4,金额为空),注释称
host 协议不暴露真实 token 数。本轮实测推翻了该前提:
- account/usage/read 在中继上是死的(要求 ChatGPT 账号登录),
不是来源,已在 cost.py docstring 写明死胡同
- app-server 每上游补全发 thread/tokenUsage/updated,last 是该次
补全的用量;中继 5 调用回合实测 last 之和等于最后 total
(input/output/cached/reasoning 四路都对得上)
实现:host.py run_turn 从事件窗口按 threadId+turnId 汇总用量,
重试/goal 各轮累加,dispatch/run JSON 与 goal 用量行透传;
sandbox 三路解析(dispatch JSON 解析改用完整 stdout,顺带修
了长 text 下 failed 被误判 completed 的潜 bug);worker 每任务
记一条 actual(重试/fallback 用量累加进同一条),无用量时回落
estimated;cost.py 价目表(默认 OpenAI 挂牌价,env 可覆盖,
无价模型 usd 记 None、报表进 unpriced_actual_tokens 而非 0 美元),
cost_records 加 cached_input_tokens 列(SQLite/PG 两支迁移);
报表与按天行新增 cached_input_tokens/unpriced_actual_tokens。
测试:host 32、cloud 483 全过。
2026-10-26 18:41:27 +08:00
..
2026-10-26 16:27:42 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 01:23:21 +08:00
2026-10-26 07:13:45 +08:00
2026-10-26 15:20:02 +08:00
2026-10-26 03:23:06 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 10:26:21 +08:00
2026-10-26 06:46:20 +08:00
2026-10-26 06:19:01 +08:00
2026-10-26 16:11:29 +08:00
2026-10-26 08:39:57 +08:00
2026-10-26 01:23:21 +08:00
2026-10-26 18:41:27 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 16:27:42 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 04:37:40 +08:00
2026-10-26 07:42:14 +08:00
2026-10-26 04:16:11 +08:00
2026-10-26 03:23:06 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 15:20:02 +08:00
2026-10-26 17:01:47 +08:00
2026-10-26 04:16:11 +08:00
2026-10-26 03:55:07 +08:00
2026-10-26 03:59:54 +08:00
2026-10-26 04:16:11 +08:00
2026-10-26 17:31:30 +08:00
2026-10-26 18:41:27 +08:00
2026-10-26 01:32:57 +08:00
2026-10-26 18:11:12 +08:00
2026-10-26 02:46:10 +08:00
2026-10-26 17:31:30 +08:00
2026-10-26 16:47:55 +08:00
2026-10-26 06:46:20 +08:00
2026-10-26 03:55:07 +08:00
2026-10-26 07:24:54 +08:00
2026-10-26 01:23:21 +08:00
2026-10-26 06:46:20 +08:00
2026-10-26 18:41:27 +08:00