cass は何をしますか?
コーディングエージェントセッション検索 - Claude Code、Codex、Gemini、Cursor、Aider、ChatGPT、Pi-Agent、Factoryなどからローカルのコーディングエージェント履歴をインデックス化して検索するための統合CLI/TUI。ロボットモードによりAIエージェントの利用に特化して設計されています。
概要
CASSは、複数のAIコーディングエージェントツールのセッションログを収集、インデックス化し、統一的に検索できるオープンソースツールです。人間が操作するTUIモードに加え、AIエージェントが直接利用できるロボットモードを提供します。
サポート対象エージェント
| エージェント名 | サポート状況 |
|---|---|
| Claude Code | 対応 |
| Codex | 対応 |
| Gemini | 対応 |
| Cursor | 対応 |
| Aider | 対応 |
| ChatGPT | 対応 |
| Pi-Agent | 対応 |
| Factory | 対応 |
インストール
pip install cass
またはソースからビルド:
git clone https://github.com/dicklesworthstone/cass.git
cd cass
pip install -e .
使用方法
CLIモード
# すべてのエージェントのセッションをインデックス化
cass index
# 特定のエージェントのみインデックス化
cass index --agent claude-code
# 検索クエリの実行
cass search "エラーハンドリングのパターン"
# TUIモードを起動
cass tui
# ロボットモードで検索(AIエージェント用)
cass search "データベース接続" --robot
設定
設定は ~/.config/cass/config.yaml に配置します。
# 設定例
storage:
path: ~/.local/share/cass
format: sqlite
agents:
directories:
claude-code: ~/.claude/sessions
cursor: ~/.cursor/sessions
tui:
theme: dark
vim_keys: true
robot:
output_format: json
max_results: 20
環境変数
| 変数名 | 説明 |
|---|---|
CASS_CONFIG_DIR | 設定ディレクトリのパス |
CASS_DATA_DIR | データ保存ディレクトリのパス |
CASS_LOG_LEVEL | ログレベル(DEBUG, INFO, WARNING, ERROR) |
CASS_ROBOT_MODE | ロボットモード強制(true/false) |
ロボットモード
ロボットモードはAIエージェントが直接CASSを操作するためのインターフェースです。出力は機械可読なJSON形式で提供され、エージェントが結果を容易に解析・再利用できます。
{
"results": [
{
"agent": "claude-code",
"session_id": "abc123",
"timestamp": "2025-01-15T10:30:00Z",
"summary": "postgresql connection pool size optimization",
"relevance": 0.95
}
],
"total": 1,
"query": "データベース接続"
}
開発
# テストの実行
pytest
# コードフォーマット
black .
# リンター
ruff check .
ライセンス
MIT License
貢献
バグ報告や機能リクエストは GitHub Issues へお願いします。プルリクエストも歓迎します。