Skip to content

Commit 6ce257b

Browse files
chingleel17claude
andcommitted
chore: release v0.1.6
1. 版本號 0.1.5 -> 0.1.6 (package.json / Cargo.toml / Cargo.lock) 2. 全面更新 README 反映多 provider 現況 3. 新增 CHANGELOG.md(新增/調整/修正/移除 格式) 4. 新增 release workflow(推 tag 自動建置並建立 draft release) 5. 新增 scripts/release.ps1 發布腳本 Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BQtx62dGcZzp4z51Z7JNtj
1 parent 75cdff2 commit 6ce257b

7 files changed

Lines changed: 235 additions & 49 deletions

File tree

‎.github/workflows/release.yml‎

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "v*"
7+
8+
permissions:
9+
contents: write
10+
11+
jobs:
12+
release:
13+
name: Build & Release (Windows)
14+
runs-on: windows-latest
15+
16+
steps:
17+
- name: Checkout
18+
uses: actions/checkout@v4
19+
20+
- name: Setup Rust (stable)
21+
uses: dtolnay/rust-toolchain@stable
22+
23+
- name: Cache Rust build artifacts
24+
uses: Swatinem/rust-cache@v2
25+
with:
26+
workspaces: src-tauri
27+
28+
- name: Setup Bun
29+
uses: oven-sh/setup-bun@v2
30+
31+
- name: Install frontend dependencies
32+
run: bun install --frozen-lockfile
33+
34+
- name: Build and create GitHub release
35+
uses: tauri-apps/tauri-action@v0
36+
env:
37+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
38+
with:
39+
tauriScript: bun run tauri
40+
tagName: ${{ github.ref_name }}
41+
releaseName: SessionHub ${{ github.ref_name }}
42+
releaseBody: |
43+
完整變更內容請見 [CHANGELOG.md](https://github.com/${{ github.repository }}/blob/main/CHANGELOG.md)。
44+
45+
下載下方的 `.msi` 或 `-setup.exe` 安裝檔即可安裝。
46+
releaseDraft: true
47+
prerelease: false

‎CHANGELOG.md‎

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
# Changelog
2+
3+
本專案的所有重要變更都記錄在此檔案。
4+
5+
格式依循 [Keep a Changelog](https://keepachangelog.com/zh-TW/1.1.0/),版本號依循 [Semantic Versioning](https://semver.org/lang/zh-TW/)。
6+
7+
每個版本的變更分為以下類別(沒有內容的類別可省略):
8+
9+
- **新增**:全新的功能
10+
- **調整**:既有功能的行為變更、重構或體驗改進
11+
- **修正**:錯誤修復
12+
- **移除**:被拿掉的功能
13+
14+
## [Unreleased]
15+
16+
## [0.1.6] - 2026-07-12
17+
18+
首個公開發布版本。SessionHub 是一個 Windows 桌面應用程式,統一管理多家 AI coding 工具的 sessions、用量配額與 hook 整合。
19+
20+
### 新增
21+
22+
- 多 provider session 管理:支援 GitHub Copilot CLI、OpenCode、Codex、Claude Code、Antigravity (Google Gemini) 五種 provider 的 session 掃描、搜尋、標籤、封存與刪除
23+
- 用量配額監控(quota):底部狀態列 SVG 圓環即時顯示、Dashboard 依模型群組(Gemini / Claude & GPT)分組顯示、系統匣 quota widget
24+
- Hook 整合管理:一鍵安裝/偵測/解除安裝各 provider 的 SessionHub 事件橋接 hook,驅動即時狀態更新
25+
- MCP 設定管理介面:GUI 檢視與編輯多平台 MCP server 設定
26+
- Agents 設定管理:AGENTS.md / CLAUDE.md 雙檔源狀態徽章、Skills 與 Commands 瀏覽、設定搜尋
27+
- Plans & Specs 瀏覽:檢視專案內 OpenSpec 變更(含 archive)與規格節點
28+
- Session 統計分析:token 用量、工具呼叫、互動次數等圖表(SQLite 快取)
29+
- 通知:agent 等待介入通知、session 結束通知
30+
- 多語系介面(繁體中文/English)
31+
- Minimal UI 設計系統:統一 design token、玻璃浮層、Linear 式分頁、自訂 scrollbar、`prefers-reduced-motion` 支援
32+
33+
[Unreleased]: https://github.com/chingleel17/SessionHub/compare/v0.1.6...HEAD
34+
[0.1.6]: https://github.com/chingleel17/SessionHub/releases/tag/v0.1.6

‎README.md‎

Lines changed: 85 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,78 @@
11
# SessionHub
22

3-
> 一個 Windows 桌面應用程式,讓你輕鬆管理所有 GitHub Copilot CLI 的 Session。
3+
> 一個 Windows 桌面應用程式,統一管理 GitHub Copilot CLI、OpenCode、Codex、Claude Code、Antigravity(Google Gemini)等多家 AI coding 工具的 Session。
44
5-
![Version](https://img.shields.io/badge/version-0.1.0-blue)
5+
![Version](https://img.shields.io/badge/version-0.1.6-blue)
66
![Platform](https://img.shields.io/badge/platform-Windows-lightgrey)
7-
![Stack](https://img.shields.io/badge/stack-Tauri%202%20%2B%20React%20%2B%20Rust-orange)
7+
![Stack](https://img.shields.io/badge/stack-Tauri%202%20%2B%20React%2019%20%2B%20Rust-orange)
88

99
---
1010

1111
## 為什麼需要這個工具?
1212

13-
使用 GitHub Copilot CLI 一段時間後,`~/.copilot/session-state/` 目錄下會累積大量 session 資料夾。這些 session 分散在不同專案之間,既沒有統一的檢視介面,也沒有方法快速回到某個 session 繼續工作。
13+
使用多種 AI coding CLI/IDE(GitHub Copilot CLI、OpenCode、Codex、Claude Code、Antigravity)一段時間後,各家工具會在各自的資料目錄下累積大量 session 資料。這些 session 分散在不同工具與不同專案之間,既沒有統一的檢視介面,也很難掌握每家工具的用量配額還剩多少。
1414

1515
**SessionHub 解決了以下問題:**
1616

17-
- 無法一覽所有 session 及其對應專案
18-
- 不知道哪些 session 有進行中的 `plan.md` 計畫
19-
- 每次要重新開啟 session 都需要手動複製指令
20-
- Session 越來越多卻沒有封存或刪除的管理方式
17+
- 無法一覽所有工具、所有專案的 session
18+
- 不知道各家 provider 的用量配額(quota)還剩多少、何時重置
19+
- 不知道哪些 session 有進行中的 `plan.md` 計畫或 OpenSpec 變更
20+
- 每次要重新開啟 session 都需要手動查指令、切終端
21+
- Session 越來越多卻沒有統一的封存、標籤、統計方式
22+
- 各專案的 AGENTS.md / CLAUDE.md / Skills / MCP 設定要手動比對是否同步
23+
24+
---
25+
26+
## 支援的 Provider
27+
28+
| Provider | 說明 |
29+
| --- | --- |
30+
| **GitHub Copilot CLI** | 掃描 `~/.copilot/session-state/`,支援 session 讀取、hook 整合 |
31+
| **OpenCode** | 掃描 session/message/part 目錄,支援統計指標與 hook 整合 |
32+
| **Codex** | 掃描 session 資料,支援 hook 整合與信任狀態偵測(codex trust) |
33+
| **Claude Code** | 掃描 `~/.claude/`,支援 hook 整合、用量配額監控 |
34+
| **Antigravity(Google Gemini)** | 掃描 `~/.gemini/` brain roots,透過本機 language server RPC 取得用量配額 |
35+
36+
各 provider 皆可在設定頁個別啟用/停用,並各自設定資料根目錄。
2137

2238
---
2339

2440
## 主要功能
2541

26-
| 功能 | 說明 |
27-
| ----------------------- | ---------------------------------------------------------------------- |
28-
| **Session 列表** | 掃描並列出所有 Copilot session,顯示專案路徑、摘要、建立時間、更新時間 |
29-
| **依專案分頁** | 每個專案(cwd)開啟獨立分頁,方便跨專案切換 |
30-
| **搜尋與篩選** | 關鍵字搜尋、標籤多選篩選、排序(時間/名稱) |
31-
| **Dashboard** | 統計總覽:session 數量、近期活動、專案分佈 |
32-
| **一鍵開啟終端** | 直接以指定終端(pwsh/PowerShell)在 session 的工作目錄開啟 |
33-
| **複製 Session 指令** | 一鍵複製重新進入該 session 的 Copilot 指令 |
34-
| **封存/刪除** | 封存不再需要的 session,或永久刪除 |
35-
| **Plan 編輯器** | 在 app 內查看、編輯 `plan.md`,支援 Markdown 預覽 |
36-
| **外部編輯器開啟 Plan** | 以 VSCode 或自訂編輯器開啟 `plan.md` |
37-
| **即時更新** | 監聽 session-state 目錄,新增或修改時自動刷新列表 |
38-
| **備註與標籤** | 為每個 session 加入個人備註與標籤,存於本地資料庫 |
39-
| **多語系** | 支援繁體中文介面 |
40-
| **Claude Hook 整合** | 安裝 Claude Code hooks 並將事件寫入 SessionHub bridge |
42+
| 功能 | 說明 |
43+
| --- | --- |
44+
| **多 Provider Session 掃描** | 同時掃描並列出五種 provider 的 session,顯示專案路徑、Git 分支、摘要、建立/更新時間 |
45+
| **依專案分頁** | 每個專案(cwd)開啟獨立分頁,方便跨專案、跨 provider 切換 |
46+
| **搜尋與篩選** | 關鍵字搜尋、標籤多選篩選、專案釘選、排序(時間/名稱) |
47+
| **Dashboard** | 統計總覽、看板(Kanban)檢視 session 進行狀態(進行中/等待回應/閒置/已完成)、活動圖表 |
48+
| **Session 統計分析** | Token 用量、花費、互動次數等分析圖表,可依週/月切換 |
49+
| **用量配額監控(Quota)** | 狀態列圓環顯示即時用量百分比(變色警示),Dashboard 依模型群組分組顯示各 provider 配額視窗與重置時間 |
50+
| **Hook 整合** | 一鍵安裝/偵測/解除安裝各 provider 的事件 hook(bridge),支援 targeted 局部刷新與原生通知 |
51+
| **通知** | Agent 需要介入時、session 結束時跳出系統通知 |
52+
| **系統匣(Tray)** | 可最小化至系統匣背景執行 |
53+
| **MCP 設定管理** | GUI 新增/編輯/刪除/啟停用各平台的 MCP Server 設定(HTTP/SSE、npx、本機執行檔、自訂 JSON) |
54+
| **Agents 設定管理** | 管理 AGENTS.md/CLAUDE.md 雙檔源、Skills、Commands,顯示各平台載入/同步狀態並可一鍵同步 |
55+
| **Plans & Specs 瀏覽** | 瀏覽專案內 OpenSpec 變更(active/archived)、規格與 `.sisyphus` 計畫/筆記/證據,支援 Tree/List/Cols 檢視模式 |
56+
| **一鍵開啟終端** | 直接以指定終端(pwsh/PowerShell)在 session 的工作目錄開啟 |
57+
| **複製 Session 指令** | 一鍵複製依 provider 對應的重新進入指令 |
58+
| **封存/刪除** | 封存不再需要的 session,或永久刪除 |
59+
| **Plan 編輯器** | 在 app 內查看、編輯 `plan.md`,支援 Markdown 預覽;亦可用外部編輯器開啟 |
60+
| **即時更新** | 監聽各 provider 的 session 目錄與 hook 事件,新增或修改時自動刷新列表 |
61+
| **備註與標籤** | 為每個 session 加入個人備註與標籤,存於本地資料庫 |
62+
| **多語系** | 支援繁體中文、English 介面切換 |
4163

4264
---
4365

4466
## 系統需求
4567

4668
- **作業系統**:Windows 10 / 11(x64)
47-
- **GitHub Copilot CLI** 已安裝,session-state 路徑為 `~/.copilot/session-state/`(可自訂)
4869
- **終端機**:PowerShell 7(pwsh)或 Windows PowerShell
70+
- 至少安裝並使用過以下其中一種工具,才有 session 可供管理:
71+
- GitHub Copilot CLI
72+
- OpenCode
73+
- Codex CLI
74+
- Claude Code
75+
- Antigravity(Google Gemini)
4976

5077
---
5178

@@ -81,43 +108,52 @@ bun run tauri build
81108

82109
```
83110
src-tauri/target/release/bundle/
84-
msi/ → SessionHub_0.1.0_x64_en-US.msi
85-
nsis/ → SessionHub_0.1.0_x64-setup.exe
111+
msi/ → SessionHub_0.1.6_x64_en-US.msi
112+
nsis/ → SessionHub_0.1.6_x64-setup.exe
86113
```
87114

88115
---
89116

90117
## 首次設定
91118

92119
1. 開啟應用程式後,前往左側 Sidebar 的「**設定**」
93-
2. 確認 **Copilot 路徑**(預設 `~/.copilot`)是否正確
120+
2. 在「Provider」區塊啟用需要的工具,並確認各自的資料根目錄(例如 Copilot 根目錄、Claude Code 資料目錄、Antigravity 根目錄等)是否正確
94121
3. 設定**終端機路徑**(點擊「自動偵測」讓 app 自動找到 pwsh/PowerShell)
95122
4. 選填**外部編輯器路徑**(用於開啟 plan.md,點擊「偵測 VSCode」自動填入)
96-
5. 儲存設定,回到主頁即可看到所有 session
123+
5. 依需求開啟用量配額監控、通知、系統匣最小化等選項
124+
6. 儲存設定,回到主頁即可看到所有 session
97125

98126
---
99127

100128
## 使用說明
101129

102130
### 查看所有 Session
103131

104-
- 主頁(Dashboard)顯示統計資訊與最近活動
105-
- 點擊左側 Sidebar 的「**Sessions**」進入完整列表
132+
- 主頁(Dashboard)顯示統計資訊、看板檢視與最近活動
133+
- 點擊左側 Sidebar 的專案分頁進入完整列表
106134
- 使用頂部搜尋列過濾,或點選標籤篩選
107135

108136
### 開啟 Session
109137

110138
選擇任一 session,點擊:
111139

112-
- 🖥 **開啟終端**:在該專案目錄開啟終端機
113-
- 📋 **複製指令**:複製 `gh copilot session <id>` 指令,貼到任何終端執行
140+
- **開啟終端**:在該專案目錄開啟終端機
141+
- **複製指令**:複製對應 provider 的 session 重新進入指令,貼到任何終端執行
142+
143+
### 管理 Plan 與 OpenSpec
144+
145+
- Session 卡片上若含 `plan.md`,可展開 **Plan 編輯器** 直接在 app 內查看與編輯,或以外部編輯器開啟
146+
- 「Plans & Specs」頁籤可瀏覽專案的 OpenSpec 變更與規格、`.sisyphus` 計畫資料
147+
148+
### 管理 Agents 設定
114149

115-
### 管理 Plan
150+
- 「Agents」頁籤可檢視/編輯 AGENTS.md、CLAUDE.md、Skills、Commands、MCP 設定
151+
- 顯示各平台的載入/同步狀態(一致/需同步/未安裝),可一鍵套用同步
116152

117-
Session 卡片上若有 📄 圖示,代表該 session 包含 `plan.md`:
153+
### 監控用量配額
118154

119-
- 點擊 session 展開 **Plan 編輯器**,可直接在 app 內查看與編輯
120-
- 點擊「**外部開啟**」以 VSCode 或指定編輯器開啟
155+
- 狀態列圓環會即時顯示目前 provider 的用量百分比並依用量變色
156+
- Dashboard 的用量面板依模型群組分組顯示各配額視窗、剩餘額度與重置時間
121157

122158
### 封存與刪除
123159

@@ -128,22 +164,26 @@ Session 卡片上若有 📄 圖示,代表該 session 包含 `plan.md`:
128164

129165
## 資料存放位置
130166

131-
| 資料 | 路徑 |
132-
| -------------------- | ------------------------------------- |
133-
| 應用程式設定 | `%APPDATA%\SessionHub\settings.json` |
134-
| 備註與標籤(SQLite) | `%APPDATA%\SessionHub\metadata.db` |
135-
| Claude Hook 腳本 | `%APPDATA%\SessionHub\.claude\hooks\` |
136-
| Copilot Sessions | `~/.copilot/session-state/`(可自訂) |
167+
| 資料 | 路徑 |
168+
| --- | --- |
169+
| 應用程式設定 | `%APPDATA%\SessionHub\settings.json` |
170+
| 備註與標籤/快取(SQLite) | `%APPDATA%\SessionHub\metadata.db` |
171+
| Hook 腳本 | `%APPDATA%\SessionHub\.claude\hooks\`(及各 provider 對應目錄) |
172+
| GitHub Copilot CLI Sessions | `~/.copilot/session-state/`(可自訂) |
173+
| OpenCode Sessions | `<root>/session|message|part/`(可自訂) |
174+
| Codex Sessions | Codex 資料目錄(可自訂) |
175+
| Claude Code Sessions | `~/.claude/`(可自訂) |
176+
| Antigravity Sessions | `~/.gemini/`(brain roots + `agyhub_summaries_proto.pb`,可自訂) |
137177

138178
---
139179

140180
## 技術棧
141181

142-
- **前端**:React 18 + TypeScript + Vite + React Query
182+
- **前端**:React 19 + TypeScript + Vite + React Query
143183
- **後端**:Rust + Tauri 2
144184
- **資料庫**:SQLite(rusqlite,bundled)
145-
- **即時監控**:notify crate(filesystem watcher)
146-
- **UI**:純 CSS(無 CSS 框架)
185+
- **即時監控**:notify crate(filesystem watcher)+ 各 provider hook bridge
186+
- **UI**:純 CSS(無 CSS 框架),統一設計 token(圓角/邊框/陰影/玻璃/動畫)
147187

148188
---
149189

‎package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "session-hub",
33
"private": true,
4-
"version": "0.1.5",
4+
"version": "0.1.6",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",

‎scripts/release.ps1‎

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# SessionHub 發布腳本
2+
# 用法: .\scripts\release.ps1 -Version 0.1.7
3+
#
4+
# 流程:
5+
# 1. 檢查工作區乾淨、位於 main 分支
6+
# 2. 更新 package.json / Cargo.toml / Cargo.lock 版本號
7+
# 3. 檢查 CHANGELOG.md 已有該版本的段落(沒有就中止,先寫 changelog)
8+
# 4. commit + 建立 tag vX.Y.Z + push
9+
# 5. GitHub Actions (release.yml) 會自動建置安裝檔並建立 draft release
10+
# 6. 到 GitHub Releases 頁面檢查後按 Publish
11+
12+
param(
13+
[Parameter(Mandatory = $true)]
14+
[ValidatePattern('^\d+\.\d+\.\d+$')]
15+
[string]$Version
16+
)
17+
18+
$ErrorActionPreference = "Stop"
19+
$repoRoot = Split-Path -Parent $PSScriptRoot
20+
Set-Location $repoRoot
21+
22+
# 1. 前置檢查
23+
$branch = git rev-parse --abbrev-ref HEAD
24+
if ($branch -ne "main") { throw "目前在 '$branch' 分支,請切到 main 再發布" }
25+
26+
$dirty = git status --porcelain
27+
if ($dirty) { throw "工作區有未提交的變更,請先 commit 或 stash:`n$dirty" }
28+
29+
$tag = "v$Version"
30+
if (git tag -l $tag) { throw "tag $tag 已存在" }
31+
32+
# 2. 檢查 CHANGELOG 已有該版本段落
33+
$changelog = Get-Content "CHANGELOG.md" -Raw
34+
if ($changelog -notmatch [regex]::Escape("## [$Version]")) {
35+
throw "CHANGELOG.md 中找不到 '## [$Version]' 段落,請先撰寫該版本的變更內容(新增/調整/修正/移除)"
36+
}
37+
38+
# 3. 更新版本號
39+
Write-Host "更新版本號至 $Version ..." -ForegroundColor Cyan
40+
41+
$pkg = Get-Content "package.json" -Raw
42+
$pkg = $pkg -replace '"version":\s*"[\d.]+"', "`"version`": `"$Version`""
43+
Set-Content "package.json" $pkg -NoNewline
44+
45+
$cargo = Get-Content "src-tauri/Cargo.toml" -Raw
46+
$cargo = $cargo -replace '(?m)^version\s*=\s*"[\d.]+"', "version = `"$Version`""
47+
Set-Content "src-tauri/Cargo.toml" $cargo -NoNewline
48+
49+
Push-Location src-tauri
50+
cargo update -p session-hub --offline | Out-Null
51+
Pop-Location
52+
53+
# 4. commit + tag + push
54+
Write-Host "建立 commit 與 tag $tag ..." -ForegroundColor Cyan
55+
git add package.json src-tauri/Cargo.toml src-tauri/Cargo.lock CHANGELOG.md
56+
git commit -m "chore: release $tag"
57+
git tag $tag
58+
git push origin main
59+
git push origin $tag
60+
61+
Write-Host ""
62+
Write-Host "完成!GitHub Actions 正在建置安裝檔。" -ForegroundColor Green
63+
Write-Host "建置完成後會產生 draft release,請到以下網址檢查並按 Publish:" -ForegroundColor Green
64+
Write-Host " https://github.com/chingleel17/SessionHub/releases" -ForegroundColor Yellow
65+
Write-Host "查看建置進度: gh run watch" -ForegroundColor Yellow

‎src-tauri/Cargo.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src-tauri/Cargo.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[package]
22
name = "session-hub"
3-
version = "0.1.5"
4-
description = "Windows desktop app for managing GitHub Copilot CLI sessions"
3+
version = "0.1.6"
4+
description = "Windows desktop app for managing AI coding CLI sessions (Copilot, OpenCode, Codex, Claude, Antigravity)"
55
authors = ["ching"]
66
edition = "2021"
77

0 commit comments

Comments
 (0)