ai-hub Svelte Themes

Ai Hub

AI Hub 是一个本地 AI 编程助手会话与技能管理器,支持统一查看 Claude Code、Codex、OpenCode 等工具产生的本地会话记录,并提供会话筛选、统计、删除、Markdown 渲染、纯对话/完整详情切换等功能。

AI Hub 图标

AI Hub

AI Hub 是一个用于浏览、搜索和管理本地 AI 编程助手会话与技能的桌面应用,当前支持 OpenCode、Claude Code 和 Codex。

它的目标是把分散在本地文件和数据库里的工具记录整理成一个可读、可检索、可管理的工作台:干净的对话视图、会话统计、批量管理、工具路径配置和技能浏览都放在一个应用里。

当前项目处于 beta 阶段。核心功能已经可用,但不同工具的本地日志格式可能随版本变化,欢迎反馈兼容性问题。

隐私说明

AI Hub 只读取本机上的 AI 工具会话文件、数据库和技能文件,用于在本地界面中展示和管理。项目不会内置云同步、远程上传或遥测逻辑。

请不要把自己的 .claude/.codex/、OpenCode 数据库、日志、截图、打包产物或私有配置提交到公开仓库。

功能亮点

  • 统一管理 OpenCode、Claude Code、Codex 的本地会话。
  • 默认使用纯对话视图,隐藏工具调用、工具结果、推理、事件和内部控制消息。
  • 支持完整详情模式,方便排查工具执行过程和原始技术信息。
  • 会话统计包含对话轮次、可见消息条目、原始日志条目、文件大小和工具分布。
  • 支持日期筛选、搜索、工具筛选、选择模式、全选、反选、批量删除和缓存刷新。
  • 技能浏览器支持按工具筛选,并提供清晰的内容预览。
  • 可在设置中配置各工具的本地数据目录。
  • 基于 Tauri、Svelte 5、Tailwind CSS 和 Rust 构建。

界面预览

仪表盘
AI Hub 仪表盘
会话管理
AI Hub 会话列表与详情
会话渲染
AI Hub 会话对话渲染
技能浏览
AI Hub 技能浏览
设置
AI Hub 设置页
本地优先
所有截图均使用虚拟演示数据。AI Hub 默认只读取本机工具数据目录,不上传会话内容。

界面模块

AI Hub 主要包含四个视图:

  • 仪表盘:展示总体统计、工具分布和最近会话。
  • 会话:搜索和筛选会话,并查看可读的对话详情。
  • 技能:浏览来自不同工具的本地技能。
  • 设置:配置工具路径、对话显示模式、语言、预览开关和缓存维护。

支持的工具

工具 默认本地数据来源
OpenCode 本地 OpenCode 数据目录中的 opencode.db
Claude Code .claude/projects/*/*.jsonl
Codex .codex/sessions/**/*.jsonl

也可以在设置页手动指定路径。这里填写的是工具的本地数据目录,不是 CLI 可执行文件路径。

对话显示模式

AI Hub 提供两种显示模式:

  • 纯对话:只展示真实用户消息和助手回复。系统/开发者上下文、工具调用、工具结果、推理块、本地命令输出、压缩事件、任务通知等内部控制消息会被隐藏。
  • 完整详情:保留技术块用于排查问题,同时避免把内部上下文误显示成普通用户消息。

默认模式是 纯对话

统计口径

AI Hub 默认使用更接近用户直觉的统计方式:

  • 对话轮次:过滤内部消息后的真实用户输入数量。
  • 可见消息:纯对话模式下可见的用户/助手气泡数量。
  • 原始条目:工具日志或数据库中的原始记录数量,主要用于排查差异。

如果某个工具把子代理会话保存成独立 session,AI Hub 当前会把它们作为独立会话计入总数。

开发

环境要求

  • Node.js
  • npm
  • Rust
  • 当前操作系统所需的 Tauri 2 依赖

安装依赖

npm install
npm --prefix web install

开发运行

npm run dev

构建

npm run build

检查

npm --prefix web run check
cargo check --manifest-path src-tauri/Cargo.toml

项目结构

ai-hub/
├── src-tauri/        # Rust/Tauri 后端、本地数据读取器和命令
├── web/              # Svelte 前端
├── package.json      # Tauri 命令快捷入口
└── README.md

配置

AI Hub 会把配置保存在系统配置目录下的 ai-hub/config.toml 中。

常见配置示例:

default_view = "sessions"
show_preview = true
conversation_view_mode = "chat_only"

[tool_paths]
opencode = "/path/to/opencode/data"
claude-code = "/path/to/claude/data"
codex = "/path/to/codex/data"

如果工具路径留空,AI Hub 会尝试读取默认的本地数据位置。

许可证

MIT

致谢

感谢所有围绕 AI 编程工具分享想法、反馈和工作流的开发者与社区成员。

特别感谢 LINUX DO

Top categories

Loading Svelte Themes