agentdashpulse 1.0.0
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.
- package/LICENSE +21 -0
- package/README.md +201 -0
- package/package.json +38 -0
- package/public/index.html +1532 -0
- package/server.js +1636 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Ying Liu
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<h1 align="center">AgentPulse</h1>
|
|
3
|
+
<p align="center">
|
|
4
|
+
<strong>A unified management dashboard for AI coding agents.</strong><br>
|
|
5
|
+
Monitor sessions, manage configurations, and track activity across Claude Code, GitHub Copilot, and more — all from one place.
|
|
6
|
+
</p>
|
|
7
|
+
<p align="center">
|
|
8
|
+
<a href="https://www.npmjs.com/package/agentdashpulse"><img src="https://img.shields.io/npm/v/agentdashpulse" alt="npm version"></a>
|
|
9
|
+
<a href="https://github.com/cdlliuy/AgentPulse/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/agentdashpulse" alt="license"></a>
|
|
10
|
+
<a href="https://www.npmjs.com/package/agentdashpulse"><img src="https://img.shields.io/npm/dt/agentdashpulse" alt="downloads"></a>
|
|
11
|
+
</p>
|
|
12
|
+
</p>
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
|
|
16
|
+
## The Problem
|
|
17
|
+
|
|
18
|
+
AI coding agents are powerful, but managing them is chaotic:
|
|
19
|
+
|
|
20
|
+
- **Sessions scatter everywhere** — multiple agents running simultaneously with no central view
|
|
21
|
+
- **Context gets lost** — session history, AI-generated insights, and configuration changes disappear on restart
|
|
22
|
+
- **Configuration fragments** — settings, skills, memory files, and MCP servers spread across different locations and formats
|
|
23
|
+
- **No visibility** — hard to see what agents are doing, what they've done, and what's queued
|
|
24
|
+
|
|
25
|
+
## The Solution
|
|
26
|
+
|
|
27
|
+
AgentPulse is a **local-first, zero-config dashboard** that automatically discovers and visualizes your AI agent ecosystem. No databases, no cloud services, no setup — just install and open.
|
|
28
|
+
|
|
29
|
+
## Who Is This For?
|
|
30
|
+
|
|
31
|
+
Developers who use AI coding agents (Claude Code, GitHub Copilot, etc.) daily and want a **single place** to monitor sessions, manage configurations, and review activity — instead of juggling scattered files, terminal windows, and config locations.
|
|
32
|
+
|
|
33
|
+
## Demo
|
|
34
|
+
|
|
35
|
+

|
|
36
|
+
|
|
37
|
+
## Features
|
|
38
|
+
|
|
39
|
+
### Session Management
|
|
40
|
+
|
|
41
|
+
| Capability | Description |
|
|
42
|
+
|-----------|-------------|
|
|
43
|
+
| **Live monitoring** | Real-time view of all active and historical sessions via WebSocket |
|
|
44
|
+
| **Multi-agent support** | Claude Code and GitHub Copilot side by side, with extensible agent architecture |
|
|
45
|
+
| **Session control** | Rename, close, and organize sessions from one place |
|
|
46
|
+
| **Status at a glance** | Active (green) vs. ended sessions, PID tracking, project grouping |
|
|
47
|
+
|
|
48
|
+
### AI-Powered Summaries
|
|
49
|
+
|
|
50
|
+
| Capability | Description |
|
|
51
|
+
|-----------|-------------|
|
|
52
|
+
| **One-click summaries** | Generate AI-powered analysis of any session via `claude -p` |
|
|
53
|
+
| **Brief naming** | Auto-suggest meaningful session names from conversation content |
|
|
54
|
+
| **Persistent storage** | Summaries survive server restarts, cached for fast access |
|
|
55
|
+
| **Title editing** | Modify titles of completed sessions directly in the log |
|
|
56
|
+
|
|
57
|
+
### Configuration Center
|
|
58
|
+
|
|
59
|
+
| Capability | Description |
|
|
60
|
+
|-----------|-------------|
|
|
61
|
+
| **Global & project settings** | Unified view of `settings.json`, `.claude.json`, and per-project overrides |
|
|
62
|
+
| **CLAUDE.md editor** | Read and edit global instructions that guide agent behavior |
|
|
63
|
+
| **Memory management** | Browse, edit, and delete memory files across all projects |
|
|
64
|
+
| **MCP server overview** | See all configured MCP servers with masked credentials |
|
|
65
|
+
| **Skills inventory** | Slash commands and skills organized by scope (global vs. project) |
|
|
66
|
+
|
|
67
|
+
### Activity & Event Log
|
|
68
|
+
|
|
69
|
+
| Capability | Description |
|
|
70
|
+
|-----------|-------------|
|
|
71
|
+
| **Curated Event Log** | Filtered, deduplicated view of session events (oldest first) |
|
|
72
|
+
| **Full Timeline** | Detailed visual workflow timeline (newest first) |
|
|
73
|
+
| **Smart deduplication** | Consecutive identical events collapsed with count badges |
|
|
74
|
+
| **Flexible filtering** | Filter by type: substantive, user-only, remote input, agents, or all |
|
|
75
|
+
| **Cron job tracking** | View active and historical cron jobs across all sessions |
|
|
76
|
+
|
|
77
|
+
## Quick Start
|
|
78
|
+
|
|
79
|
+
### Install from npm
|
|
80
|
+
|
|
81
|
+
```bash
|
|
82
|
+
npm install -g agentdashpulse
|
|
83
|
+
agentdashpulse
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Or run without installing:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
npx agentdashpulse
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Install from source
|
|
93
|
+
|
|
94
|
+
```bash
|
|
95
|
+
git clone https://github.com/cdlliuy/AgentPulse.git
|
|
96
|
+
cd AgentPulse
|
|
97
|
+
npm install
|
|
98
|
+
npm start
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
Open **http://localhost:3456** in your browser. Custom port:
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
PORT=8080 agentdashpulse
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
### Run in background
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
PORT=3456 nohup agentdashpulse > agentdashpulse.log 2>&1 & echo $! > agentdashpulse.pid
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## How It Works
|
|
114
|
+
|
|
115
|
+
### Zero Configuration
|
|
116
|
+
|
|
117
|
+
AgentPulse auto-discovers everything from standard locations — no config file needed:
|
|
118
|
+
|
|
119
|
+
| Data | Source |
|
|
120
|
+
|------|--------|
|
|
121
|
+
| Sessions | `~/.claude/sessions/` and `~/.claude/projects/*/` |
|
|
122
|
+
| Settings | `~/.claude/settings.json` and `~/.claude.json` |
|
|
123
|
+
| Memory | `~/.claude/projects/*/memory/` |
|
|
124
|
+
| Skills | `~/.claude/commands/` and `.claude/commands/` |
|
|
125
|
+
| Copilot | `~/.copilot/` |
|
|
126
|
+
|
|
127
|
+
### Architecture
|
|
128
|
+
|
|
129
|
+
Deliberately simple — no build step, no framework, no database:
|
|
130
|
+
|
|
131
|
+
| Component | What |
|
|
132
|
+
|-----------|------|
|
|
133
|
+
| `server.js` | Express server with REST API + WebSocket — all business logic in one file |
|
|
134
|
+
| `public/index.html` | Vanilla JS frontend — no framework, no build step |
|
|
135
|
+
| Dependencies | Just 2: `express` and `ws` |
|
|
136
|
+
|
|
137
|
+
### API
|
|
138
|
+
|
|
139
|
+
22 REST endpoints + WebSocket for real-time updates:
|
|
140
|
+
|
|
141
|
+
```
|
|
142
|
+
GET /api/sessions — list all sessions
|
|
143
|
+
GET /api/sessions/:id — session detail with full event timeline
|
|
144
|
+
POST /api/sessions/:id/close — terminate an active session
|
|
145
|
+
POST /api/sessions/:id/ai-summary — generate AI summary
|
|
146
|
+
GET /api/settings — global + project settings
|
|
147
|
+
GET /api/memory — memory files across projects
|
|
148
|
+
GET /api/projects — all projects with configs
|
|
149
|
+
WS ws://localhost:3456 — real-time session updates (5s interval)
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
## Contributing
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npm install
|
|
156
|
+
npm test # 96 tests, ~85% coverage
|
|
157
|
+
npm run dev # start dev server
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
See the [contributor guide](README.md#for-contributors) section below for code style rules, testing requirements, and review checklist.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## For Contributors
|
|
165
|
+
|
|
166
|
+
### Project Structure
|
|
167
|
+
|
|
168
|
+
```
|
|
169
|
+
agentpulse/
|
|
170
|
+
server.js — Express server, REST APIs, WebSocket, all business logic
|
|
171
|
+
server.test.js — Jest + Supertest tests (96 tests, ~85% line coverage)
|
|
172
|
+
public/index.html — Single-page frontend (vanilla JS, no framework)
|
|
173
|
+
package.json — Dependencies: express, ws; devDeps: jest, supertest
|
|
174
|
+
LICENSE — MIT License
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Code Style
|
|
178
|
+
|
|
179
|
+
- **No build step** — runs directly in Node.js, no TypeScript, no bundler
|
|
180
|
+
- **Single-file architecture** — server in `server.js`, frontend in `index.html`
|
|
181
|
+
- **Extract shared helpers** — deduplicate after 3+ occurrences
|
|
182
|
+
- **Mask sensitive data** — all MCP env configs pass through `maskMcpEnv()`
|
|
183
|
+
|
|
184
|
+
### Testing
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
npm test # all tests must pass
|
|
188
|
+
npx jest --coverage # maintain >80% line coverage
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Code Review Checklist
|
|
192
|
+
|
|
193
|
+
- [ ] All 96+ tests pass
|
|
194
|
+
- [ ] No coverage regression (>80%)
|
|
195
|
+
- [ ] No duplicated logic
|
|
196
|
+
- [ ] Sensitive data masked
|
|
197
|
+
- [ ] No unnecessary new dependencies
|
|
198
|
+
|
|
199
|
+
## License
|
|
200
|
+
|
|
201
|
+
[MIT](LICENSE) — Ying Liu
|
package/package.json
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "agentdashpulse",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "AI Agent Management Dashboard — monitor and manage Claude Code, GitHub Copilot, and other AI agent sessions",
|
|
5
|
+
"author": "Ying Liu",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "git+https://github.com/cdlliuy/AgentPulse.git"
|
|
10
|
+
},
|
|
11
|
+
"keywords": [
|
|
12
|
+
"ai",
|
|
13
|
+
"agent",
|
|
14
|
+
"dashboard",
|
|
15
|
+
"claude",
|
|
16
|
+
"copilot",
|
|
17
|
+
"monitoring",
|
|
18
|
+
"session",
|
|
19
|
+
"management"
|
|
20
|
+
],
|
|
21
|
+
"bin": {
|
|
22
|
+
"agentdashpulse": "server.js"
|
|
23
|
+
},
|
|
24
|
+
"scripts": {
|
|
25
|
+
"start": "node server.js",
|
|
26
|
+
"dev": "node server.js",
|
|
27
|
+
"test": "jest --verbose",
|
|
28
|
+
"test:watch": "jest --watch"
|
|
29
|
+
},
|
|
30
|
+
"dependencies": {
|
|
31
|
+
"express": "^4.18.2",
|
|
32
|
+
"ws": "^8.16.0"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"jest": "^30.3.0",
|
|
36
|
+
"supertest": "^7.2.2"
|
|
37
|
+
}
|
|
38
|
+
}
|