feature: agentop observe — group sessions and cost by working directory

未关闭
#1,739 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

维护者通常 1 天内回复

还没有人认领这个 Issue。

评估

难度
5/5
预计耗时
一周以上
新手友好度
25/100
Issue 类型
功能
描述清晰度
需要澄清
活跃度
活跃
技术栈
go
领域
analytics, cli

调研方向

Start with cmd/agentop/tui/sessions_pane.go, session_metadata.go, and sessions_title.go, then read the read-claude-sessions harvest in cmd/agentop/cmd_experimental.go and the Agents pane breakdown. The issue leaves key decisions open about directory source, grouping rules, changed working directories, and API exposure. Done means directory grouping and cost totals are available in the Sessions pane and agentop cost, with corresponding updates to cmd/agentop/README.md.

由索引模型根据 Issue 内容生成。

描述

enhancement ux

Problem

agentop observe now shows the cost of each session, so it is easy to see which tasks cost the most. Answering "where did my tokens go this month?" still means adding up sessions by hand, because nothing groups them by the project they ran in. The working directory is the natural key for that: one repo or checkout is usually one project.

Today the directory only appears by accident. The Claude Code title harvest (~/.cortex/session-metadata.json) falls back to the working directory as a session's title when the transcript has no model-generated one, so some rows show a path in TITLE and others don't. Codex, Bob, OpenCode and Pi sessions show no directory at all.

Proposal

Record each session's working directory and let the viewer group and total by it:

  • A DIR (or PROJECT) column in the Sessions pane, separate from TITLE.
  • A way to group or scope by directory, like the Agents pane does by agent: one row per directory with SESSIONS, LAST SEEN and COST <window>, and ↵ scopes sessions, usage and the $ band to it.
  • The same breakdown in agentop cost, so a monthly total per directory can be scripted.

Open questions:

  • Where does the directory come from per agent? Claude Code records cwd in its transcripts (the title harvest already reads them). Codex records it in its session files. For other agents it may need the process's cwd, looked up from the pid the proxy already attributes calls to.
  • Group by the exact path, or by repository root (so repo/ and repo/sub/ count together)? Worktrees under .claude/worktrees/ probably belong with their repo.
  • A session whose directory changes partway through (cd in a shell agent): first directory, or last?
  • Is the path sensitive enough to keep out of the session API by default? It is already in session-metadata.json for Claude Code.

Context

Requested in #cortex-community by @vinodmut (2026-11-09), who uses the per-session cost to compare models and agents (Codex vs Claude Code) and to account for monthly token use.

Where it lives

  • cmd/agentop/tui/sessions_pane.go, session_metadata.go, sessions_title.go
  • cmd/agentop/cmd_experimental.go (read-claude-sessions harvest)
  • The Agents pane, as the model for a per-directory breakdown
  • cmd/agentop/README.md: the Sessions pane section and the column table

Assisted-By: Claude (Anthropic AI) [email protected]

主要语言
Go
星标
26
派生
46
平均合并
12 小时 30 分钟
30 天内合并 PR
268

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

rossoctl/cortex 的其他 Issue

查看 rossoctl/cortex 的全部 Issue

相似的 Issue

更多 Go Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。