本项目为个人自用工具,公开发布仅作分享:不受理 issue,亦不保证后续更新。
本项目的全部代码与文档均由 AI 独立编写,不含任何人工编写的内容。
一个 Windows 桌面小工具,用来分类管理 CLI agent(目前支持 Claude Code)散落在本机的会话记录。
Claude Code 的会话以 jsonl 文件堆在 ~/.claude/projects 下,数量一多就找不到东西——本软件把它们
扫描出来,让你像在 Cherry Studio 里那样用多层文件夹归类保存,日后按文件夹、搜索或排序快速找回。
- 对原始 jsonl 只读:归类、浏览都不改动会话文件一个字节,CLI agent 照常继续使用这些会话。 唯一例外是你主动使用"删除会话"功能,且删除一律移入回收站,可随时恢复。
- 纯本地单机:无联网、无账号,归类数据就是一个本地 JSON 文件。
为"快速浏览大量会话"取舍出的一套风格:
- 紧凑高密度:信息密度对标 Outlook/Thunderbird 的紧凑邮件列表,一屏尽量多放有效信息; 列表每条固定"元数据行 + 多行摘要",开头相同的会话也能一眼区分。
- 一律直角:全部界面元素无圆角(下拉框等控件为此自绘)。
- 不用悬停交互:没有悬停浮层、悬停提示,信息要么直接展示,要么点击展开, 所见即全部,不需要把鼠标停在某处碰运气。
- 三套主题:默认亮色、JetBrains Dark、One Dark Pro;各栏宽度可拖动。
- 扫描全部 Claude Code 会话(含 subagent 记录,树形挂靠在主会话下)
- 多层文件夹归类:拖拽或右键"移动到";subagent 自动跟随主会话
- 列表:会话名(/rename 或 AI 自动标题)、首条发言摘要(1-3 行可调)、 模型、时间、大小、ID;搜索、排序、按项目分组、分页(每页至多 100 条)、批量选择
- 会话浏览窗口:完整消息流——用户发言/AI 正文(markdown 渲染)/Thinking/工具调用/
本地命令/报错/系统注入分类展示;会话内搜索、右侧跳转导航、逐条复制(始终给原始文本)
- Edit 显示为行级 diff:删除行红底、新增行绿底,头部附增删行数统计,改动一目了然
- Write 按原文换行显示:不是 JSON 转义的一坨
- Thinking 的 token 标注:能取到官方精确值时直接显示精确值,取不到时按官方总量 校准估算并标"约";中英文分别按各自比率估算
- 还原读取过的文件:Read / Write 工具条目上有"导出"按钮,自动去掉行号等标注、 取该次读取/写入的完整内容另存为文件——源文件已被删改时,可以用它找回当时的版本
- 删除会话:连带其 subagent 文件一并移入回收站
- 设置:正文字号、代码字体(可直接填字体的中文名,如"微软雅黑",自动对应到实际字体 并实时显示识别结果)、归类数据存放位置可自定义
发布包是免安装的单文件程序:解压后把 SessionOrganizer.exe 放到任意目录,双击运行即可。
配置与归类数据保存在 exe 旁的 data\ 文件夹中,不写注册表、不向系统目录写入任何文件,
删除整个目录即等于卸载。
本软件不内置 .NET 运行环境,需要系统装有 .NET 10 桌面运行时(Desktop Runtime, Windows x64)。未安装时首次运行会弹出系统提示并引导下载,安装一次即可;也可以直接到 https://dotnet.microsoft.com/download/dotnet/10.0 下载。
dotnet build app\SessionOrganizer\SessionOrganizer.csproj -c Release
app\SessionOrganizer\bin\Release\net10.0-windows\SessionOrganizer.exe- 归类数据:
library.json(文件夹结构 + 会话归属),默认在data/,存放目录可在设置中更改 - 设置:
data/settings.json(主题、字号、代码字体、数据位置等,固定在默认位置) - 以上文件损坏或删除只影响归类信息,不影响任何会话原始文件。
C# + WPF(.NET 10),无第三方依赖;markdown 渲染器为内置自写实现。