Skip to content

Commit c96a939

Browse files
committed
Added Chat Management feature
1 parent d7d92d2 commit c96a939

14 files changed

Lines changed: 2189 additions & 57 deletions

File tree

.github/workflows/release.yml

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,6 @@ jobs:
8686
path: dist
8787
merge-multiple: true
8888

89-
- name: Checksums
90-
run: cd dist && sha256sum * > SHA256SUMS.txt
9189

9290
- uses: softprops/action-gh-release@v2
9391
with:

Cargo.lock

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

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "agent-switch"
3-
version = "1.1.0"
3+
version = "1.2.0"
44
edition = "2021"
55
description = "Unified AI agent configuration manager"
66

@@ -14,6 +14,7 @@ walkdir = "2"
1414
anyhow = "1"
1515
dirs = "6"
1616
rfd = "0.15"
17+
zip = { version = "2", default-features = false }
1718

1819
[profile.release]
1920
opt-level = "z"

README.md

Lines changed: 54 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,101 @@
11
# AgentSwitch
22

3-
Native GUI for managing AI coding-agent configuration across providers. Toggle skills, hooks, rules, and MCP servers without hand-editing provider files.
3+
Native desktop GUI for managing AI coding-agent configuration across providers. Toggle skills, hooks, rules, and MCP servers — browse, diff, and manage chat histories — without hand-editing provider files.
44

55
## Features
66

7-
- Per-hook toggle with reversible disable behavior.
8-
- Bulk toggle (Enable All / Disable All) for filtered items.
9-
- Project/global scope switching.
10-
- Diff Workbench for project vs global config comparison.
11-
- Hook Cockpit for static hook inventory, conflicts, and risk warnings.
12-
- Inline editor for instruction files and rules.
13-
- JSON backups before config mutation.
14-
- Windows, Linux, and macOS builds.
7+
- **Item Toggle** — per-item enable/disable with reversible rename or JSON mutation.
8+
- **Bulk Toggle** — Enable All / Disable All for filtered item categories.
9+
- **Scope Switching** — project-level vs global configuration, with workspace browser.
10+
- **Diff Workbench** — compare project and global configs with stable, secret-safe fingerprints. Detects duplicates, missing targets, and scope conflicts.
11+
- **Hook Cockpit** — static hook inventory showing event, matcher, handler, blocking risk, timeout, duplicates, and project/global overlaps.
12+
- **Chat Manager** — unified chat history browser across Claude Code, Codex CLI, Gemini CLI, and Kiro. Search, export (single JSON or multi-chat ZIP), soft-delete with Trash, and import archived sessions.
13+
- **Inline Editor** — edit instruction files, rules, and steering docs without leaving the app.
14+
- **JSON Backups** — automatic `.bak` creation before any config mutation.
15+
- **Cross-platform** — Windows, Linux, and macOS builds.
1516

1617
## Supported Providers
1718

1819
| Provider | Instruction File | Skills | Hooks | MCP | Other |
1920
|---|---|---|---|---|---|
2021
| Claude Code | `CLAUDE.md` | `.claude/skills/` | `settings.json` | `settings.json` | Rules |
21-
| Codex CLI | `AGENTS.md` | `.codex/skills/`, `.agents/skills/` | `config.toml`, `hooks.json` | `config.toml`, `.mcp.json` | - |
22+
| Codex CLI | `AGENTS.md` | `.codex/skills/`, `.agents/skills/` | `config.toml`, `hooks.json` | `config.toml`, `.mcp.json` | |
2223
| Gemini CLI | `GEMINI.md`, `AGENTS.md` | `.gemini/skills/` | `settings.json` | `settings.json` | Rules |
23-
| Kiro | - | - | Agent JSON | `settings/mcp.json` | Steering, Specs |
24+
| Kiro | | | Agent JSON | `settings/mcp.json` | Steering, Specs, Agents |
2425
| OpenCode | `AGENTS.md` | `.opencode/skills/` | Plugins | `opencode.json` | Agents |
2526

2627
## Install
2728

28-
Download the matching binary from [Releases](https://github.com/AshishRogannagar/AgentSwitch/releases):
29+
Download the matching binary from [Releases](https://github.com/RoyCoding8/AgentSwitch/releases):
2930

30-
- `agent-switch-windows-x86_64.exe`
31-
- `agent-switch-linux-x86_64`
32-
- `agent-switch-macos-x86_64`
33-
- `agent-switch-macos-aarch64`
31+
| Platform | Asset |
32+
|---|---|
33+
| Windows x86-64 | `agent-switch-windows-x86_64.exe` |
34+
| Linux x86-64 | `agent-switch-linux-x86_64` |
35+
| macOS Intel | `agent-switch-macos-x86_64` |
36+
| macOS Apple Silicon | `agent-switch-macos-aarch64` |
3437

35-
## Build
38+
## Build from Source
3639

37-
Requires the [Rust toolchain](https://rustup.rs/).
40+
Requires the [Rust toolchain](https://rustup.rs/) (1.75+).
3841

3942
```bash
40-
git clone https://github.com/AshishRogannagar/AgentSwitch.git
43+
git clone https://github.com/RoyCoding8/AgentSwitch.git
4144
cd AgentSwitch
4245
cargo build --release
4346
```
4447

45-
Output:
48+
Output binary:
4649

47-
- Windows: `target/release/agent-switch.exe`
48-
- Linux/macOS: `target/release/agent-switch`
50+
- **Windows:** `target/release/agent-switch.exe`
51+
- **Linux / macOS:** `target/release/agent-switch`
4952

50-
Linux builds may need native GUI dependencies:
53+
### Linux Dependencies
5154

5255
```bash
5356
sudo apt-get update
54-
sudo apt-get install -y pkg-config libgtk-3-dev libx11-dev libxi-dev libxkbcommon-dev libwayland-dev libgl1-mesa-dev libasound2-dev
57+
sudo apt-get install -y \
58+
pkg-config libgtk-3-dev libx11-dev libxi-dev \
59+
libxkbcommon-dev libwayland-dev libgl1-mesa-dev libasound2-dev
5560
```
5661

5762
## Usage
5863

59-
Launch AgentSwitch from the workspace you want to inspect, or use Browse to pick a workspace.
64+
Launch AgentSwitch from the workspace you want to inspect, or use **Browse** to pick a workspace at runtime.
6065

61-
- `Items`: toggle discovered provider config items.
62-
- `Hooks`: inspect hook order, scope, matcher, handler, blocking risk, duplicates, and project/global overlaps.
63-
- `Diff`: compare project and global config with stable, secret-safe fingerprints.
66+
| Tab | Purpose |
67+
|---|---|
68+
| **Items** | Toggle discovered provider config items (skills, hooks, rules, MCP servers). |
69+
| **Hooks** | Inspect hook execution order, scope, matcher, handler type, blocking risk, duplicates, and project/global overlaps. |
70+
| **Diff** | Compare project vs global config with stable, secret-redacted fingerprints. |
71+
| **Chats** | Browse, search, export, import, and trash chat sessions across all providers. |
6472

65-
Diff Workbench and Hook Cockpit are read-only. Toggle actions remain in `Items`.
73+
> Diff Workbench and Hook Cockpit are read-only diagnostics. Toggle actions remain in **Items**.
6674
67-
## Releases
68-
69-
CI runs on Windows, Linux, and macOS for pushes, pull requests, and manual dispatch.
70-
71-
Manual release workflow:
72-
73-
1. Open GitHub Actions.
74-
2. Run `Release`.
75-
3. Enter the version without `v`, for example `1.0.0`.
76-
4. The workflow builds release binaries for Windows, Linux, macOS Intel, and macOS Apple Silicon.
77-
5. The workflow publishes all artifacts plus `SHA256SUMS.txt` to GitHub Releases.
7875

7976
## Architecture
8077

8178
```text
8279
src/
8380
main.rs eframe entry point
84-
app.rs state and UI orchestration
85-
types.rs shared item/provider types
81+
app.rs state machine and UI orchestration
82+
types.rs shared item, provider, and scope types
8683
scanner.rs provider filesystem discovery
87-
toggler.rs rename and JSON mutation logic
88-
diagnostics.rs project/global diff workbench logic
89-
hook_diag.rs static hook cockpit logic
90-
editor.rs markdown editor state
91-
ui/ egui panels and theme
84+
toggler.rs rename and JSON/TOML mutation logic
85+
diagnostics.rs project/global diff workbench engine
86+
hook_diag.rs static hook cockpit engine
87+
chat.rs chat history scanner, archive, export/import, trash
88+
editor.rs inline markdown editor state
89+
ui/
90+
mod.rs module declarations
91+
theme.rs dark theme colors, fonts, and style
92+
sidebar.rs provider list and scope tabs
93+
item_list.rs toggle list with filter tabs
94+
diff_panel.rs diff workbench UI
95+
hooks_panel.rs hook cockpit UI
96+
chat_panel.rs chat manager UI
97+
editor_panel.rs inline editor UI
98+
status_bar.rs bottom status summary
9299
```
93100

94101
## License

0 commit comments

Comments
 (0)