Signing was account-wide (gpg.format/user.signingkey/commit.gpgsign in
~/.gitconfig), so every repository was signed. Now Settings → Git →
Commit signing lists the user's workspaces, each with its own key picker
("Don't sign" by default). PUT /api/me/git/signing/lane {laneId, key}
writes a small file of ours (lane-<id>.gitconfig beside the account's
keys; a member's through write-as) and includes it from ~/.gitconfig
with includeIf "gitdir:<the workspace's git dir>" and
"gitdir:<common dir>/worktrees/ah-<id>-*" (its sessions' worktrees) —
only that workspace signs, from the terminal, the Changes panel or an
agent, and nothing is written into the repository. The git dirs come
from git run in the workspace's folder as its account; a workspace that
runs as another account is EFOREIGN, a folder that is not a repo
ENOREPO. Stopping needs no workspace, so one removed from the dashboard
while it signed is still listed and can be turned off.
The card now lists the keys that can sign, each with Delete (confirm;
deleting a key stops every workspace signing with it), a way out of the
old account-wide setting, and Remove for a signing setup the user made
themselves (PUT /signing {clearForeign: true}: the three settings only,
never their key file). Importing a key no longer turns on signing.
Verified with real signatures: the picked workspace's commits are G,
another repo's and an unrelated worktree's N, a session worktree's G.
AgentHub
Tiếng Việt · English
A dashboard that runs on your machine to watch and drive your Claude Code (and Codex) sessions from the browser.
| Section | Tiếng Việt |
|---|---|
| Requirements | Yêu cầu |
| Option 1 — Through Claude Code | Cách 1 — Cài qua Claude Code |
| Option 2 — From a terminal | Cách 2 — Cài bằng terminal |
| More docs | Tài liệu thêm |
Requirements
- Node.js ≥ 22.5
- git
- tmux
To install them:
- Ubuntu:
sudo apt install git tmux(get Node.js ≥ 22.5 from https://nodejs.org) - macOS:
brew install node git tmux
Option 1 — Install through Claude Code (recommended)
Send each line on its own straight into the Claude Code chat:
/plugin marketplace add https://git.smartgift.io.vn/Smartgift-AI/AgentHub.git
/plugin install agenthub@agenthub
/agenthub:agenthub-open
The last one prints the dashboard's address (by default http://localhost:4820) — open it in the browser and you are done.
Something wrong? Send /agenthub:agenthub-doctor to check and fix it.
To update to a new version: /agenthub:agenthub-update.
Not using it? Quit so nothing runs in the background: Settings → System → Quit,
or agenthub stop — opening Claude Code no longer starts it; agenthub start does.
AgentHub's icon beside the clock (top bar / menu bar / notification area) offers
Open, Quit and Start AgentHub too; hide it from its menu or in Settings → System.
Option 2 — Install from a terminal (without Claude Code)
Run these in a terminal, one after another:
git clone https://git.smartgift.io.vn/Smartgift-AI/AgentHub.git
cd AgentHub
npm run setup # install the dependencies + the agenthub command
npm run build # build the UI
npm start # run the dashboard
Open http://localhost:4820 in the browser.
npm start stops when the terminal closes. To have the dashboard start every time
the machine boots:
agenthub service install
⚠️ Pick only one of the two options. With both installed, every event is counted twice.
More docs
- Vietnamese README: README.md
- The full feature overview: docs/OVERVIEW.md · Tiếng Việt: docs/OVERVIEW.vi.md
- Detailed install, troubleshooting: INSTALL.md
- Plugin: docs/PLUGINS.md
- The
agenthubcommand: docs/CLI.md
Internal build — all rights reserved.