fix(cli): `sessions` 无机器出口、`agents` 无活体判定——交接四问(status/为什么/花多少/最后发生什么)一个都答不全

Fermée
#121 1 commentaire 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
4/5
Temps estimé
3-5 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
rust
Domaine
cli

Piste de recherche

This spans several entry points: SessionCmd (main.rs:405-465) and the Cmd::Sessions branch (main.rs:1112-1330) where --json is silently dropped, sessions show (main.rs:1176-1248) which truncates content and omits meta.cost, and cmd_agents (main.rs:1710-1745) which only checks meta.status == Active. The reusable lock/pid liveness check already exists at session/lifecycle.rs:225-233. HTTP sessions write a meta-less flat .jsonl (storage/local.rs:29-34), invisible to SessionReader::list_sessions (session/reader.rs:258-286). Done: --json on list/show, cost surfaced, --tail/--full, live/stale wired, HTTP sessions listed.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

场景 gap 单(okguitar 提报)· 优先级 P1 · 依赖:无 · 验收:代码 diff 逐点核对;运行时可见性另需 Langfuse(#124)

基线 origin/main = fc29f3d4。

Summary

  • SessionCmd(main.rs:405-465)无一个 --json;全局 --json 在 Cmd::Sessions 分支被静默忽略(main.rs:1112-1330)。
  • sessions show(main.rs:1176-1248):逐条 content.chars().take(200) 截断、不打印 meta.cost(即使已落盘)、无 --tail/--full;sessions list 无 cost/message_count/updated_at;export 丢 updated_at/cost/preset 等字段。
  • cmd_agents(main.rs:1710-1745):文档承诺"status active 或 lock 文件活着",实现只有 meta.status == Active 一条——从不读 .lock/不调 is_pid_alive(该逻辑已存在但只用于写侧:session/lifecycle.rs:225-233)。叠加 P0-1(55% active 是尸体),recursive agents 把 8 小时前的尸体和真在跑的 run 打印成一模一样。
  • 另:HTTP 落盘是无 meta 的扁平 <id>.jsonl(storage/local.rs:29-34),SessionReader::list_sessions(session/reader.rs:258-286)只认 slug 目录——HTTP 会话不出现在 sessions list/resume picker(#57 只修了 AG-UI 同类)。

建议

sessions list/show 加 --json(序列化 SessionMeta + 可选 transcript);show 补 cost/usage 与 --tail;agents 接线 lock+pid 判 live/stale;HTTP 会话写 meta 以被统一收录。

Langage dominant
Rust
Étoiles
4
Forks
0
Merge moyen
1 h 2 min
PR mergées (30 j)
5

Préparer son environnement

  • Fournit un Dockerfile ou un fichier Docker Compose
  • Aucun modèle de pull request
  • Aucun guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de jeffkit/recursive

Toutes les issues de jeffkit/recursive

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.