slackhive 0.1.44 → 0.1.45
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/README.md +29 -23
- package/cli/README.md +29 -23
- package/cli/dist/index.js +507 -318
- package/package.json +15 -4
- package/cli/dist/commands/init.d.ts +0 -16
- package/cli/dist/commands/init.js +0 -488
- package/cli/dist/commands/manage.d.ts +0 -30
- package/cli/dist/commands/manage.js +0 -121
- package/cli/dist/index.d.ts +0 -15
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](https://www.npmjs.com/package/slackhive)
|
|
13
13
|
[](https://nodejs.org)
|
|
14
14
|
[](https://www.typescriptlang.org)
|
|
15
|
-
[](https://sqlite.org)
|
|
16
16
|
[](https://slackhive.mintlify.app)
|
|
17
17
|
[](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml)
|
|
18
18
|
|
|
@@ -67,11 +67,11 @@ slackhive init
|
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
The CLI will:
|
|
70
|
-
1. Check prerequisites (
|
|
70
|
+
1. Check prerequisites (Git, Node.js ≥ 20, Claude Code)
|
|
71
71
|
2. Clone the repository
|
|
72
72
|
3. Auto-detect your Claude installation (cross-platform compatible)
|
|
73
73
|
4. Walk you through configuration (API key or subscription, admin credentials)
|
|
74
|
-
5.
|
|
74
|
+
5. Build and start the services natively — no Docker required
|
|
75
75
|
|
|
76
76
|
Open `http://localhost:3001` and create your first agent.
|
|
77
77
|
|
|
@@ -81,14 +81,14 @@ Open `http://localhost:3001` and create your first agent.
|
|
|
81
81
|
|---------|-------------|
|
|
82
82
|
| `slackhive init` | Clone, configure, and start SlackHive |
|
|
83
83
|
| `slackhive start` | Start all services |
|
|
84
|
-
| `slackhive stop` | Stop all services |
|
|
85
|
-
| `slackhive status` | Show running
|
|
84
|
+
| `slackhive stop` | Stop all services (and any orphaned runner processes) |
|
|
85
|
+
| `slackhive status` | Show running services + ports |
|
|
86
86
|
| `slackhive logs` | Tail runner logs |
|
|
87
87
|
| `slackhive update` | Pull latest changes and rebuild |
|
|
88
88
|
|
|
89
89
|
### Option B: Manual setup
|
|
90
90
|
|
|
91
|
-
**Prerequisites:**
|
|
91
|
+
**Prerequisites:** Node.js ≥ 20, Git, [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup) on your PATH
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
94
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
@@ -101,13 +101,18 @@ Edit `.env` with your credentials:
|
|
|
101
101
|
```env
|
|
102
102
|
ANTHROPIC_API_KEY=sk-ant-... # or use Claude Pro/Max subscription
|
|
103
103
|
ADMIN_USERNAME=admin
|
|
104
|
-
ADMIN_PASSWORD
|
|
105
|
-
|
|
104
|
+
ADMIN_PASSWORD=<strong-random-password>
|
|
105
|
+
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
106
|
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
107
|
+
DATABASE_TYPE=sqlite # embedded — no external DB needed
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
```bash
|
|
110
|
-
|
|
111
|
+
npm install
|
|
112
|
+
npm run build
|
|
113
|
+
|
|
114
|
+
# Start the stack (web on :3001, runner on :3002)
|
|
115
|
+
npx slackhive start
|
|
111
116
|
```
|
|
112
117
|
|
|
113
118
|
Open `http://localhost:3001`, log in, and create your first agent.
|
|
@@ -124,7 +129,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
124
129
|
|
|
125
130
|
| | |
|
|
126
131
|
|---|---|
|
|
127
|
-
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to
|
|
132
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
128
133
|
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) — stdio, SSE, or HTTP transports. |
|
|
129
134
|
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI — no deployment needed. The runner compiles and executes it. |
|
|
130
135
|
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation — zero context lost in handoffs. |
|
|
@@ -163,11 +168,12 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
163
168
|
│ Socket Mode (Bolt)
|
|
164
169
|
▼
|
|
165
170
|
┌──────────────────────────────────────────────────┐
|
|
166
|
-
│
|
|
171
|
+
│ Local host — two Node.js processes │
|
|
167
172
|
│ │
|
|
168
|
-
│ Web (Next.js)
|
|
169
|
-
│
|
|
170
|
-
│
|
|
173
|
+
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
174
|
+
│ │ │ │
|
|
175
|
+
│ └───── SQLite file ──────┘ │
|
|
176
|
+
│ (./data/slackhive.db) │
|
|
171
177
|
└──────────────────────────────────────────────────┘
|
|
172
178
|
```
|
|
173
179
|
|
|
@@ -175,8 +181,8 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
175
181
|
|---------|-------------|
|
|
176
182
|
| **Web** (Next.js 15) | Dashboard — create agents, edit skills, view logs, manage users |
|
|
177
183
|
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
178
|
-
| **
|
|
179
|
-
| **
|
|
184
|
+
| **SQLite** | Embedded — stores agents, memories, skills, sessions, users, history. No external DB to install |
|
|
185
|
+
| **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
|
|
180
186
|
|
|
181
187
|
**How a message flows:**
|
|
182
188
|
1. User @mentions an agent in Slack
|
|
@@ -184,7 +190,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
184
190
|
3. Claude Code processes the message with the agent's compiled `CLAUDE.md`
|
|
185
191
|
4. Agent uses MCP tools if needed (Redshift, GitHub, Notion, etc.)
|
|
186
192
|
5. Response is formatted as Slack Block Kit and posted to the thread
|
|
187
|
-
6. Memory files written during the session are synced to
|
|
193
|
+
6. Memory files written during the session are synced to SQLite
|
|
188
194
|
7. Next conversation starts with all accumulated knowledge
|
|
189
195
|
|
|
190
196
|
---
|
|
@@ -219,9 +225,9 @@ For more installation options, uninstall steps, and troubleshooting, see the [se
|
|
|
219
225
|
|
|
220
226
|
Then log in:
|
|
221
227
|
```bash
|
|
222
|
-
claude login #
|
|
228
|
+
claude login # saves credentials to your system keychain / ~/.claude/
|
|
223
229
|
```
|
|
224
|
-
|
|
230
|
+
Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
225
231
|
|
|
226
232
|
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
227
233
|
|
|
@@ -253,12 +259,12 @@ Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
|
253
259
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
254
260
|
cd slackhive && npm install
|
|
255
261
|
|
|
256
|
-
#
|
|
257
|
-
|
|
262
|
+
# Configure
|
|
263
|
+
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
258
264
|
|
|
259
|
-
# Run locally
|
|
265
|
+
# Run locally (SQLite — no external services required)
|
|
260
266
|
cd apps/web && npm run dev # http://localhost:3000
|
|
261
|
-
cd apps/runner && npm run dev
|
|
267
|
+
cd apps/runner && npm run dev # http://localhost:3002
|
|
262
268
|
```
|
|
263
269
|
|
|
264
270
|
Open an issue before submitting large PRs so we can align on the approach.
|
package/cli/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
[](https://www.npmjs.com/package/slackhive)
|
|
13
13
|
[](https://nodejs.org)
|
|
14
14
|
[](https://www.typescriptlang.org)
|
|
15
|
-
[](https://sqlite.org)
|
|
16
16
|
[](https://slackhive.mintlify.app)
|
|
17
17
|
[](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml)
|
|
18
18
|
|
|
@@ -67,11 +67,11 @@ slackhive init
|
|
|
67
67
|
```
|
|
68
68
|
|
|
69
69
|
The CLI will:
|
|
70
|
-
1. Check prerequisites (
|
|
70
|
+
1. Check prerequisites (Git, Node.js ≥ 20, Claude Code)
|
|
71
71
|
2. Clone the repository
|
|
72
72
|
3. Auto-detect your Claude installation (cross-platform compatible)
|
|
73
73
|
4. Walk you through configuration (API key or subscription, admin credentials)
|
|
74
|
-
5.
|
|
74
|
+
5. Build and start the services natively — no Docker required
|
|
75
75
|
|
|
76
76
|
Open `http://localhost:3001` and create your first agent.
|
|
77
77
|
|
|
@@ -81,14 +81,14 @@ Open `http://localhost:3001` and create your first agent.
|
|
|
81
81
|
|---------|-------------|
|
|
82
82
|
| `slackhive init` | Clone, configure, and start SlackHive |
|
|
83
83
|
| `slackhive start` | Start all services |
|
|
84
|
-
| `slackhive stop` | Stop all services |
|
|
85
|
-
| `slackhive status` | Show running
|
|
84
|
+
| `slackhive stop` | Stop all services (and any orphaned runner processes) |
|
|
85
|
+
| `slackhive status` | Show running services + ports |
|
|
86
86
|
| `slackhive logs` | Tail runner logs |
|
|
87
87
|
| `slackhive update` | Pull latest changes and rebuild |
|
|
88
88
|
|
|
89
89
|
### Option B: Manual setup
|
|
90
90
|
|
|
91
|
-
**Prerequisites:**
|
|
91
|
+
**Prerequisites:** Node.js ≥ 20, Git, [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup) on your PATH
|
|
92
92
|
|
|
93
93
|
```bash
|
|
94
94
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
@@ -101,13 +101,18 @@ Edit `.env` with your credentials:
|
|
|
101
101
|
```env
|
|
102
102
|
ANTHROPIC_API_KEY=sk-ant-... # or use Claude Pro/Max subscription
|
|
103
103
|
ADMIN_USERNAME=admin
|
|
104
|
-
ADMIN_PASSWORD
|
|
105
|
-
|
|
104
|
+
ADMIN_PASSWORD=<strong-random-password>
|
|
105
|
+
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
106
|
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
107
|
+
DATABASE_TYPE=sqlite # embedded — no external DB needed
|
|
107
108
|
```
|
|
108
109
|
|
|
109
110
|
```bash
|
|
110
|
-
|
|
111
|
+
npm install
|
|
112
|
+
npm run build
|
|
113
|
+
|
|
114
|
+
# Start the stack (web on :3001, runner on :3002)
|
|
115
|
+
npx slackhive start
|
|
111
116
|
```
|
|
112
117
|
|
|
113
118
|
Open `http://localhost:3001`, log in, and create your first agent.
|
|
@@ -124,7 +129,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
124
129
|
|
|
125
130
|
| | |
|
|
126
131
|
|---|---|
|
|
127
|
-
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to
|
|
132
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
128
133
|
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) — stdio, SSE, or HTTP transports. |
|
|
129
134
|
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI — no deployment needed. The runner compiles and executes it. |
|
|
130
135
|
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation — zero context lost in handoffs. |
|
|
@@ -162,11 +167,12 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
162
167
|
│ Socket Mode (Bolt)
|
|
163
168
|
▼
|
|
164
169
|
┌──────────────────────────────────────────────────┐
|
|
165
|
-
│
|
|
170
|
+
│ Local host — two Node.js processes │
|
|
166
171
|
│ │
|
|
167
|
-
│ Web (Next.js)
|
|
168
|
-
│
|
|
169
|
-
│
|
|
172
|
+
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
173
|
+
│ │ │ │
|
|
174
|
+
│ └───── SQLite file ──────┘ │
|
|
175
|
+
│ (./data/slackhive.db) │
|
|
170
176
|
└──────────────────────────────────────────────────┘
|
|
171
177
|
```
|
|
172
178
|
|
|
@@ -174,8 +180,8 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
174
180
|
|---------|-------------|
|
|
175
181
|
| **Web** (Next.js 15) | Dashboard — create agents, edit skills, view logs, manage users |
|
|
176
182
|
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
177
|
-
| **
|
|
178
|
-
| **
|
|
183
|
+
| **SQLite** | Embedded — stores agents, memories, skills, sessions, users, history. No external DB to install |
|
|
184
|
+
| **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
|
|
179
185
|
|
|
180
186
|
**How a message flows:**
|
|
181
187
|
1. User @mentions an agent in Slack
|
|
@@ -183,7 +189,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
183
189
|
3. Claude Code processes the message with the agent's compiled `CLAUDE.md`
|
|
184
190
|
4. Agent uses MCP tools if needed (Redshift, GitHub, Notion, etc.)
|
|
185
191
|
5. Response is formatted as Slack Block Kit and posted to the thread
|
|
186
|
-
6. Memory files written during the session are synced to
|
|
192
|
+
6. Memory files written during the session are synced to SQLite
|
|
187
193
|
7. Next conversation starts with all accumulated knowledge
|
|
188
194
|
|
|
189
195
|
---
|
|
@@ -200,9 +206,9 @@ Billed per token via the Anthropic API. Best for teams and production.
|
|
|
200
206
|
|
|
201
207
|
**Option B — Claude Pro or Max Subscription**
|
|
202
208
|
```bash
|
|
203
|
-
claude login #
|
|
209
|
+
claude login # saves credentials to your system keychain / ~/.claude/
|
|
204
210
|
```
|
|
205
|
-
|
|
211
|
+
Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
206
212
|
|
|
207
213
|
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
208
214
|
|
|
@@ -234,12 +240,12 @@ Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
|
234
240
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
235
241
|
cd slackhive && npm install
|
|
236
242
|
|
|
237
|
-
#
|
|
238
|
-
|
|
243
|
+
# Configure
|
|
244
|
+
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
239
245
|
|
|
240
|
-
# Run locally
|
|
246
|
+
# Run locally (SQLite — no external services required)
|
|
241
247
|
cd apps/web && npm run dev # http://localhost:3000
|
|
242
|
-
cd apps/runner && npm run dev
|
|
248
|
+
cd apps/runner && npm run dev # http://localhost:3002
|
|
243
249
|
```
|
|
244
250
|
|
|
245
251
|
Open an issue before submitting large PRs so we can align on the approach.
|