ccbox — Codex / Claude セッション管理用 Rust TUI

Tool

概要

ccbox は、Codex や Claude などの生成系コーディングエージェントの操作履歴をローカルに保存し、ターミナルベースのGUI(TUI)で参照・管理するためのツールです。プロジェクト→セッション→セッション詳細というフルスクリーンの階層的なビューでタイムラインを追えるほか、最近更新された項目を「オンライン」表示したり、ログの削除(確認付き)や新規セッションの作成をエディタ風のプロンプトから行えます。将来的には「何を、どのツールで、どのトークン量で行ったか」を再現できる形で行動を保存することを目標にしています。現状はプロトタイプ段階で、プロセス一覧やバックグラウンドでのエージェント起動機能などが実装されています。

GitHub

リポジトリの統計情報

  • スター数: 8
  • フォーク数: 0
  • ウォッチャー数: 8
  • コミット数: 16
  • ファイル数: 12
  • メインの言語: Rust

主な特徴

  • ターミナル上での階層的なビュー(Projects → Sessions → Session Detail)のフルスクリーン表示
  • セッション/プロジェクト単位でのログ削除(確認ダイアログ付き)と「オンライン」状態の可視化
  • 新規セッション作成をプロンプトエディタで行い、Codex/Claude をバックグラウンドで起動
  • 実行プロセス一覧表示(プロセス監視)とログからの再現性向上を目指した記録機能

技術的なポイント

ccbox は Rust 製で、ターミナルUI を用いた軽量クライアントとして設計されています。README に示された機能から推察すると、画面描画には tui 標準ライブラリ群(例: tui-rs や crossterm 等)を用いてフルスクリーンの階層ビューを実現し、ユーザー操作(キー入力)に応じてプロジェクト一覧やセッションタイムラインを動的に切り替える構成になっています。セッションデータはローカルファイルに JSON や独自のシリアライズ形式で保存される想定で、ファイルの最終更新日時を元に「オンライン(最近変更あり)」のドット表示を行うことで、直近のアクティビティを視覚化します。

新規セッション作成はエディタ風のプロンプト(n キー)で入力を受け、入力内容を元に外部の Codex / Claude エージェントをバックグラウンドプロセスとして spawn する実装パターンが取られています。バックグラウンドプロセス管理は std::process(同期)や tokio 等の非同期ランタイムを組み合わせ、プロセス一覧画面(P)で監視・操作できるようにする設計が考えられます。ログやアクションの記録は、後から「何を実行したか」を再現するために、生成されたファイルパス、使用したツールのコマンドライン、API トークン消費量などのメタデータを保存する点が特徴です。

セキュリティ面ではトークンや機密情報の扱いに注意が必要で、ローカル保存時の暗号化やアクセス制御、環境変数参照による一時管理などの拡張が望まれます。現状はプロトタイプであり、クロスプラットフォーム互換性、エラーハンドリング、単体テストや統合テストの整備、プラグインや外部ツール連携の抽象化などが今後の改善ポイントです。Rust を採用しているため、低ランタイムコスト・型安全・スレッド安全性を活かした堅牢な入出力処理や並列的なログ操作が期待できます。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .github: dir
  • .gitignore: file
  • AGENTS.md: file
  • CLAUDE.md: file
  • Cargo.lock: file

…他 7 ファイル

(想定されるその他の項目:Cargo.toml、README.md、src ディレクトリ、assets/ または examples/、設定ファイルやログ保存用ディレクトリ構成など)

まとめ

軽量な Rust 製 TUI でエージェントのセッションログを可視化・管理し、再現性の高い履歴保存を目指すプロトタイプです。

リポジトリ情報:

READMEの抜粋:

ccbox

Rust TUI “box” for managing coding-agent sessions (Codex + Claude): browse local session logs now, and later reconstruct exactly what the agent did (files, tools, tokens).

Status

Prototype features:

  • Full-screen ProjectsSessionsSession Detail timeline
  • “Online” dot () for recently modified projects/sessions
  • Delete project/session logs with confirmation
  • New Session prompt editor (n) that spawns Codex/Claude in the background
  • Processes screen (P) for …