fix(http): HTTP 模式会话成本归零——不落 cost.json/meta、冷加载计数清零、客户端拿不到任何 USD
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
調査の方向性
Grep for CostTracker to see how agui_session.rs and the CLI wire it in, then compare the HTTP path in handlers.rs (counters at 1259-1264, init at 467-468) and storage/local.rs save_transcript (64-85), which writes JSONL with no meta or cost. Cold-load restoration sits at http/cold_load.rs:126-127, and per-step Usage events are dropped at handlers.rs:1398-1401. Done means HTTP sessions persist cumulative usage plus model to storage meta, cold loads restore them, and GET /sessions/:id/usage returns cache-split totals with USD.
索引モデルが issue の本文から書いたものです。
説明
场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无 · 验收:代码 diff 逐点核对;运行时可见性另需 Langfuse(#124)
基线 origin/main = fc29f3d4。
Summary
- HTTP 路径只有内存原子计数:
handlers.rs:1259-1264prompt_tokens_arc.fetch_add(...);创建时初始化 0(handlers.rs:467-468)。 - 落盘只写 JSONL:
storage/local.rs:64-85save_transcript 无 meta、无 cost;HTTP 全程未接CostTracker(grep 仅 cost.rs/agui_session.rs/CLI)。 - 重启即归零:
http/cold_load.rs:126-127恢复的 token 计数器硬编码 0(从未存过,无从恢复)。 - 客户端面全缺:
SessionInfo仅 id/created_at/message_count;RunResponse.usage无 cache 拆分无 USD;per-stepUsage事件在 SSE 被丢(handlers.rs:1398-1401)。
建议
HTTP 会话接入同源记账(或 teardown 时把累计 usage+模型写存储 meta);提供 GET /sessions/:id/usage(cache 拆分+USD);冷加载从存储回填;加 recursive_cost_usd_total。
- 主要言語
- Rust
- スター
- 4
- フォーク
- 0
- 平均マージ
- 5時間 32分
- マージ済み PR(30日)
- 7
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
jeffkit/recursive のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 20/100
jeffkit/recursive#134 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 30/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
jeffkit/recursive#131 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
jeffkit/recursive の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 4 日以内に返信
-
`future_into_py` loses the original panic message対応中かも @Danipulok が今日担当しました。 オープン
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
PyO3/pyo3-async-runtimes#91 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1時間未満 初心者へのやさしさ 85/100
メンテナーはふだん 2 日以内に返信