slackhive 0.1.44 → 0.1.46
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 +43 -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,28 +67,42 @@ 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
|
|
|
78
|
+
#### Hit `EACCES: permission denied` on install?
|
|
79
|
+
|
|
80
|
+
If you installed Node from nodejs.org on macOS/Linux, `/usr/local/lib/node_modules` is root-owned and `npm install -g` fails without sudo. Point npm at a user-owned prefix once — no sudo needed again:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
mkdir -p ~/.npm-global
|
|
84
|
+
npm config set prefix '~/.npm-global'
|
|
85
|
+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc # or ~/.bashrc
|
|
86
|
+
source ~/.zshrc
|
|
87
|
+
npm install -g slackhive
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
Installing Node via [nvm](https://github.com/nvm-sh/nvm) or Homebrew (`brew install node`) puts it in a user-writable location by default and avoids this entirely. If you'd rather skip global install, `npx slackhive init` works too — just prefix every command with `npx`.
|
|
91
|
+
|
|
78
92
|
### CLI Commands
|
|
79
93
|
|
|
80
94
|
| Command | Description |
|
|
81
95
|
|---------|-------------|
|
|
82
96
|
| `slackhive init` | Clone, configure, and start SlackHive |
|
|
83
97
|
| `slackhive start` | Start all services |
|
|
84
|
-
| `slackhive stop` | Stop all services |
|
|
85
|
-
| `slackhive status` | Show running
|
|
98
|
+
| `slackhive stop` | Stop all services (and any orphaned runner processes) |
|
|
99
|
+
| `slackhive status` | Show running services + ports |
|
|
86
100
|
| `slackhive logs` | Tail runner logs |
|
|
87
101
|
| `slackhive update` | Pull latest changes and rebuild |
|
|
88
102
|
|
|
89
103
|
### Option B: Manual setup
|
|
90
104
|
|
|
91
|
-
**Prerequisites:**
|
|
105
|
+
**Prerequisites:** Node.js ≥ 20, Git, [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup) on your PATH
|
|
92
106
|
|
|
93
107
|
```bash
|
|
94
108
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
@@ -101,13 +115,18 @@ Edit `.env` with your credentials:
|
|
|
101
115
|
```env
|
|
102
116
|
ANTHROPIC_API_KEY=sk-ant-... # or use Claude Pro/Max subscription
|
|
103
117
|
ADMIN_USERNAME=admin
|
|
104
|
-
ADMIN_PASSWORD
|
|
105
|
-
|
|
118
|
+
ADMIN_PASSWORD=<strong-random-password>
|
|
119
|
+
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
120
|
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
121
|
+
DATABASE_TYPE=sqlite # embedded — no external DB needed
|
|
107
122
|
```
|
|
108
123
|
|
|
109
124
|
```bash
|
|
110
|
-
|
|
125
|
+
npm install
|
|
126
|
+
npm run build
|
|
127
|
+
|
|
128
|
+
# Start the stack (web on :3001, runner on :3002)
|
|
129
|
+
npx slackhive start
|
|
111
130
|
```
|
|
112
131
|
|
|
113
132
|
Open `http://localhost:3001`, log in, and create your first agent.
|
|
@@ -124,7 +143,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
124
143
|
|
|
125
144
|
| | |
|
|
126
145
|
|---|---|
|
|
127
|
-
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to
|
|
146
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
128
147
|
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) — stdio, SSE, or HTTP transports. |
|
|
129
148
|
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI — no deployment needed. The runner compiles and executes it. |
|
|
130
149
|
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation — zero context lost in handoffs. |
|
|
@@ -163,11 +182,12 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
163
182
|
│ Socket Mode (Bolt)
|
|
164
183
|
▼
|
|
165
184
|
┌──────────────────────────────────────────────────┐
|
|
166
|
-
│
|
|
185
|
+
│ Local host — two Node.js processes │
|
|
167
186
|
│ │
|
|
168
|
-
│ Web (Next.js)
|
|
169
|
-
│
|
|
170
|
-
│
|
|
187
|
+
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
188
|
+
│ │ │ │
|
|
189
|
+
│ └───── SQLite file ──────┘ │
|
|
190
|
+
│ (./data/slackhive.db) │
|
|
171
191
|
└──────────────────────────────────────────────────┘
|
|
172
192
|
```
|
|
173
193
|
|
|
@@ -175,8 +195,8 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
175
195
|
|---------|-------------|
|
|
176
196
|
| **Web** (Next.js 15) | Dashboard — create agents, edit skills, view logs, manage users |
|
|
177
197
|
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
178
|
-
| **
|
|
179
|
-
| **
|
|
198
|
+
| **SQLite** | Embedded — stores agents, memories, skills, sessions, users, history. No external DB to install |
|
|
199
|
+
| **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
|
|
180
200
|
|
|
181
201
|
**How a message flows:**
|
|
182
202
|
1. User @mentions an agent in Slack
|
|
@@ -184,7 +204,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
184
204
|
3. Claude Code processes the message with the agent's compiled `CLAUDE.md`
|
|
185
205
|
4. Agent uses MCP tools if needed (Redshift, GitHub, Notion, etc.)
|
|
186
206
|
5. Response is formatted as Slack Block Kit and posted to the thread
|
|
187
|
-
6. Memory files written during the session are synced to
|
|
207
|
+
6. Memory files written during the session are synced to SQLite
|
|
188
208
|
7. Next conversation starts with all accumulated knowledge
|
|
189
209
|
|
|
190
210
|
---
|
|
@@ -219,9 +239,9 @@ For more installation options, uninstall steps, and troubleshooting, see the [se
|
|
|
219
239
|
|
|
220
240
|
Then log in:
|
|
221
241
|
```bash
|
|
222
|
-
claude login #
|
|
242
|
+
claude login # saves credentials to your system keychain / ~/.claude/
|
|
223
243
|
```
|
|
224
|
-
|
|
244
|
+
Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
225
245
|
|
|
226
246
|
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
227
247
|
|
|
@@ -253,12 +273,12 @@ Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
|
253
273
|
git clone https://github.com/pelago-labs/slackhive.git
|
|
254
274
|
cd slackhive && npm install
|
|
255
275
|
|
|
256
|
-
#
|
|
257
|
-
|
|
276
|
+
# Configure
|
|
277
|
+
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
258
278
|
|
|
259
|
-
# Run locally
|
|
279
|
+
# Run locally (SQLite — no external services required)
|
|
260
280
|
cd apps/web && npm run dev # http://localhost:3000
|
|
261
|
-
cd apps/runner && npm run dev
|
|
281
|
+
cd apps/runner && npm run dev # http://localhost:3002
|
|
262
282
|
```
|
|
263
283
|
|
|
264
284
|
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.
|