agent-tower 0.4.10 → 0.4.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/README.md +156 -0
  2. package/package.json +9 -1
package/README.md ADDED
@@ -0,0 +1,156 @@
1
+ **English** | [简体中文](./README.zh-CN.md)
2
+
3
+ # Agent Tower
4
+
5
+ > Too many terminal sessions (Claude Code / Codex ...) open? Here's their command center.
6
+
7
+ ## Why I Built This
8
+
9
+ When I first started using Claude Code, I'd open one terminal and sit there, bored, watching it spit out characters. Then I got clever — opened multiple terminals, ran different tasks at the same time, even worked on different projects simultaneously. Productivity went through the roof. I felt like an absolute genius.
10
+
11
+ That lasted about two days before the problems hit:
12
+
13
+ - **Visual chaos**: My desktop was covered in Claude Code terminals. I constantly lost track of which window was running which task.
14
+ - **Edit conflicts**: Multiple tasks touching the same files meant merge conflicts everywhere. I tried Git Worktree to isolate each task, but manually running commands to split, rebase, and merge was still a pain.
15
+ - **No mobile access**: Sitting in front of the computer staring at terminals gets old. When I'm chilling on the balcony with my phone, why can't I check on how my AI workhorses are doing?
16
+ - **Token bills**: More tasks meant bigger bills, and it stung. Plenty of simple tasks could run on cheaper models, but manually switching configs was a hassle — even with tools like ccswitch, you have to wait for the current task to finish before switching.
17
+
18
+ So Agent Tower was born out of necessity — a single dashboard that brings all your agent tasks, terminals, and code changes into one interface. Auto-creates isolated branches, lets you pick providers per task, works from your phone, and notifies you when it's time to review.
19
+
20
+ ## Core Features
21
+
22
+ ### 🎯 One Dashboard for All Agents
23
+
24
+ No more juggling terminal windows. All projects, all tasks, all agents — one page. Create a task, pick an agent, hit start — output, progress, and code changes are visible in real time. When a task finishes, it automatically moves to "Ready for Review". You decide whether to merge.
25
+
26
+ ### 🔀 Automatic Git Worktree Isolation
27
+
28
+ Each task gets its own Git branch automatically. Agents work in isolated environments, eliminating code conflicts at the root. One-click merge back to main, with line-by-line review in the diff viewer.
29
+
30
+ ### 💰 Pick Providers Per Task, Save Money Effortlessly
31
+
32
+ Each task can use a different provider. Throw translation tasks to MiniMax, planning to Opus, execution to Codex — each in their lane, no waiting for one task to finish before switching. Agent Tower helps you spend smart.
33
+
34
+ ### 📱 Monitor Progress from Your Phone
35
+
36
+ One-click Cloudflare tunnel for remote access — open the dashboard right in your phone's browser. Away from your desk? Still in the loop. Task done? Desktop notification or Lark webhook lets you know it's review time.
37
+
38
+ ### 🤖 Supports Major AI Agents
39
+
40
+ - **Claude Code** · **Gemini CLI** · **Cursor Agent** · **Codex**
41
+
42
+ No vendor lock-in. Use whichever agent you prefer. Each supports custom Profile variants.
43
+
44
+ ### 📡 MCP Protocol Integration
45
+
46
+ Built-in MCP server lets agents read the task board, claim tasks, and report progress directly. You're not just managing agents — they can collaborate proactively.
47
+
48
+ ## Getting Started
49
+
50
+ **Recommended: global install** (simplest — one command and you're done)
51
+
52
+ ```bash
53
+ npm install -g agent-tower
54
+ agent-tower
55
+ ```
56
+
57
+ Open `http://localhost:12580` and start using it.
58
+
59
+ > Prerequisite: Node.js >= 18
60
+
61
+ ### Configure MCP (Optional)
62
+
63
+ Let Claude Code operate the task board directly:
64
+
65
+ ```json
66
+ {
67
+ "mcpServers": {
68
+ "agent-tower": {
69
+ "command": "agent-tower-mcp",
70
+ "args": []
71
+ }
72
+ }
73
+ }
74
+ ```
75
+
76
+ ### Development from Source
77
+
78
+ ```bash
79
+ git clone https://github.com/agent-tower/core.git
80
+ cd agent-tower
81
+ pnpm setup # Install deps + build shared package
82
+ pnpm dev # Start all services in dev mode
83
+ ```
84
+
85
+ ## Architecture Overview
86
+
87
+ ```
88
+ ┌─────────────────────────────────────────────────┐
89
+ │ Browser (React) │
90
+ │ Kanban ─ Terminal ─ Code Editor ─ Git Changes │
91
+ │ TanStack Query (server cache) + Zustand (UI) │
92
+ └──────────────────┬──────────────────────────────┘
93
+ │ HTTP REST + Socket.IO (/events)
94
+ ┌──────────────────┴──────────────────────────────┐
95
+ │ Fastify Server │
96
+ │ ┌───────────┐ ┌──────────┐ ┌────────────────┐ │
97
+ │ │ REST API │ │ Socket.IO│ │ MCP Server │ │
98
+ │ │ (16 routes)│ │ (realtime)│ │ (agent integ.) │ │
99
+ │ └─────┬─────┘ └────┬─────┘ └───────┬────────┘ │
100
+ │ └──────┬──────┘ │ │
101
+ │ ┌──────┴──────┐ │ │
102
+ │ │ Services │ │ │
103
+ │ │ Session Mgmt│ │ │
104
+ │ │ Workspace │ │ │
105
+ │ │ Git/Worktree│ │ │
106
+ │ │ Notif/Tunnel│ │ │
107
+ │ └──────┬──────┘ │ │
108
+ │ ┌──────┴──────┐ │ │
109
+ │ │AgentPipeline│ │ │
110
+ │ │ PTY + Parser│ │ │
111
+ │ │ + MsgStore │ │ │
112
+ │ └──────┬──────┘ │ │
113
+ │ │ node-pty │ │
114
+ │ ┌──────┴──────┐ │ │
115
+ │ │ Executors │ │ │
116
+ │ │ Claude Code │ │ │
117
+ │ │ Gemini CLI │ │ │
118
+ │ │ Cursor Agent│ │ │
119
+ │ │ Codex │ │ │
120
+ │ └─────────────┘ │ │
121
+ │ │ │
122
+ │ ┌─────────────┐ │ │
123
+ │ │ SQLite │◄──────────────┘ │
124
+ │ │ (Prisma ORM)│ │
125
+ │ └─────────────┘ │
126
+ └─────────────────────────────────────────────────┘
127
+ ```
128
+
129
+ ### Design Philosophy
130
+
131
+ **Agents as Team Members**: Agent Tower treats AI agents like team members. Projects are workspaces, tasks are work items, agents are executors. Manage assignments via the kanban board, monitor execution through terminals, review results through Git integration.
132
+
133
+ **Pipeline Architecture**: Each agent session is managed by an AgentPipeline with three core components:
134
+ - **PTY**: Pseudo-terminal for interacting with the agent CLI process
135
+ - **Parser**: Output parser that structures raw agent output into tool calls, code changes, etc.
136
+ - **MsgStore**: Message store using JSON Patch for incremental sync to the frontend
137
+
138
+ **Worktree Isolation**: Each task creates an independent Git Worktree, so agents work on isolated branches — preventing conflicts when multiple agents modify code simultaneously.
139
+
140
+ ## Tech Stack
141
+
142
+ | Layer | Technology |
143
+ |-------|-----------|
144
+ | Frontend | React 19 + Vite 7 + TypeScript 5 |
145
+ | Styling | TailwindCSS v4 + shadcn/ui (Radix UI) |
146
+ | State | TanStack Query v5 + Zustand v5 |
147
+ | Terminal | xterm.js 5 + Monaco Editor |
148
+ | Backend | Fastify 4 + Socket.IO 4 |
149
+ | Database | Prisma 5 + SQLite |
150
+ | Process | node-pty |
151
+ | Protocol | MCP (Model Context Protocol) |
152
+ | Package | pnpm monorepo |
153
+
154
+ ## License
155
+
156
+ Licensed under the Apache License, Version 2.0. See [LICENSE](./LICENSE) for details.
package/package.json CHANGED
@@ -1,7 +1,15 @@
1
1
  {
2
2
  "name": "agent-tower",
3
- "version": "0.4.10",
3
+ "version": "0.4.11",
4
4
  "description": "AI Agent Task Management Dashboard",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/agent-tower/core.git"
8
+ },
9
+ "homepage": "https://github.com/agent-tower/core#readme",
10
+ "bugs": {
11
+ "url": "https://github.com/agent-tower/core/issues"
12
+ },
5
13
  "type": "module",
6
14
  "license": "MIT",
7
15
  "bin": {