Universal AI agent conversation viewer. Right-click any folder to explore.
English ยท ไธญๆๆๆกฃ ยท Report Bug ยท Request Feature
Agent Log Viewer is a universal conversation history viewer for AI coding agents. Currently supports Claude Code, with more agents coming soon.
It integrates directly into Windows Explorer โ right-click any folder, select "View Agent Log", and your conversation history opens in a beautifully rendered ChatGPT-style interface.
๐ฎ Roadmap: Support for Cursor, Copilot, Windsurf, Aider, and other AI coding agents is planned. See Supported Agents for details.
|
Just right-click any folder in Windows Explorer and select "View Agent Log". Your conversation history opens in the browser instantly. |
Automatically matches the clicked folder to its agent project data. Non-agent folders get a friendly notice with a list of known projects. |
|
Beautiful dark/light theme with conversation bubbles, markdown rendering, syntax-highlighted code blocks, and a collapsible sidebar. |
All sessions from the same project are merged into a single chronological timeline, with clear session dividers and timestamps. |
|
Export conversations to Markdown (.md), Plain Text (.txt), or Word Document (.doc) with one click. |
Toggle between dark and light themes. Your preference is remembered across sessions. |
| Feature | Description |
|---|---|
| ๐ Consecutive Message Merge | Same-role messages are grouped into one bubble with dashed separators |
| ๐ Search | Filter sessions in the sidebar by keyword |
| ๐ Copy Code | Hover any code block to reveal a one-click copy button |
| ๐งน Auto Cleanup | Temp HTML files older than 1 hour are automatically removed |
| ๐ No Admin Required | Uses HKCU registry keys โ no UAC prompt |
Want to add support for another agent? Open an issue or submit a PR!
git clone https://github.com/<your-username>/agent-log-viewer.git
cd agent-log-viewerThen double-click register.bat โ
That's it. You'll now see "View Agent Log" in your right-click context menu.
Double-click unregister.bat ๐งน
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Windows Explorer โ
โ โ
โ Right-click any folder โโโโโโโบ "View Agent Log" โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ launcher.bat โ
โ โ
โ Receives folder path (%V or %1) โ
โ Calls PowerShell with the path โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ generate.ps1 โ
โ โ
โ 1. Encode path โ find matching project folder โ
โ in ~/.claude/projects/ โ
โ 2. Fallback: scan JSONL cwd fields โ
โ 3. Read all .jsonl session files โ
โ 4. Extract user text + assistant text blocks โ
โ 5. Filter out tool_calls, thinking, attachments โ
โ 6. Sort by timestamp + line index โ
โ 7. Inject data into viewer.html template โ
โ 8. Open in default browser โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ Browser (viewer.html) โ
โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ Sidebar โ โ Chat Messages โ โ
โ โ โ โ โ โ
โ โ Session 1 โ โ ๐ฆ User: "Help me build..." โ โ
โ โ Session 2 โ โ ๐ฉ Assistant: "Sure! Let's..." โ โ
โ โ Session 3 โ โ ๐ฉ ... (merged) โ โ
โ โ โ โ โโโ Session Divider โโโ โ โ
โ โ ๐ Search โ โ ๐ฆ User: "Now add..." โ โ
โ โ โ โ ๐ฉ Assistant: "Done! ..." โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ
โ [โ/โพ Theme] [Export โพ] โ
โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
agent-log-viewer/
โ
โโโ ๐ viewer.html โ ChatGPT-style UI template (CSS + JS)
โโโ โ๏ธ generate.ps1 โ Core: JSONL parsing, data extraction, HTML generation
โโโ ๐ฑ๏ธ launcher.bat โ Context menu entry point (receives folder path)
โโโ ๐ฅ register.bat โ Install right-click menu (HKCU, no admin needed)
โโโ ๐๏ธ unregister.bat โ Remove right-click menu
โโโ ๐ .gitignore
โโโ ๐ README.md โ English
โโโ ๐ README_CN.md โ ไธญๆๆๆกฃ
| Key | Scope | Trigger |
|---|---|---|
HKCU\Software\Classes\Directory\shell\AgentLogViewer |
Per-user, no admin | Right-click on folder icon |
HKCU\Software\Classes\Directory\Background\shell\AgentLogViewer |
Per-user, no admin | Right-click in folder background |
Claude Code stores conversation data as JSONL files in:
~/.claude/projects/<encoded-project-path>/<session-uuid>.jsonl
Each line is a JSON object. Agent Log Viewer extracts:
JSONL type |
Extracted Content |
|---|---|
"user" with string message.content |
User's text messages |
"assistant" with content[].type === "text" |
Assistant's text responses |
Filtered out: thinking, tool_use, tool_result, attachment, permission-mode, etc.
Messages are sorted by a dual-key scheme:
- Primary: ISO 8601 timestamp (string comparison โ naturally ordered)
- Secondary: Line index within the JSONL file (stable tiebreaker)
This ensures strictly chronological order even when multiple entries share the same millisecond timestamp.
Generated HTML files are stored in %TEMP%\agent_log_*.html. On each launch, files older than 1 hour are automatically purged.
| Requirement | Details |
|---|---|
| Built-in PowerShell 5.1+ required | |
| For proper CSS custom properties & marked.js | |
| At least one project with conversation history |
Note: No Python, Node.js, or any runtime installation needed. Everything runs on Windows built-in tools.
- Cursor support โ Parse Cursor's workbench session storage
- Copilot support โ Read VS Code GitHub Copilot chat history
- Windsurf support โ Parse Cascade session data
- Aider support โ Read
.aider.chat.history.md - Multi-agent view โ Show conversations from multiple agents in the same project
- Cross-platform โ macOS and Linux support
- Search full-text โ Search within message content, not just session metadata
Contributions are welcome! Especially agent adapters for new AI coding tools.
- ๐ด Fork the repository
- ๐ฟ Create a feature branch (
git checkout -b feature/amazing-feature) - ๐พ Commit your changes (
git commit -m 'Add amazing feature') - ๐ค Push to the branch (
git push origin feature/amazing-feature) - ๐ Open a Pull Request
This project is licensed under the MIT License โ see the LICENSE file for details.