slackhive 0.2.3 → 0.2.4
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 +71 -32
- package/cli/README.md +287 -0
- package/{dist → cli/dist}/index.js +1 -1
- package/package.json +35 -33
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Pelago Labs
|
|
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
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
# SlackHive
|
|
6
6
|
|
|
7
7
|
### Build your AI-first company on Slack
|
|
8
|
-
####
|
|
8
|
+
#### A Karpathy-inspired team of humans and AI specialists, powered by Claude Code
|
|
9
9
|
|
|
10
10
|
[](LICENSE)
|
|
11
11
|
[](https://www.npmjs.com/package/slackhive)
|
|
@@ -24,14 +24,16 @@
|
|
|
24
24
|
|
|
25
25
|
## Why SlackHive?
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Andrej Karpathy made two observations that changed how we think about AI systems: LLMs read **wikis** better than file dumps, and **specialists beat generalists**. SlackHive is what fell out when we took both seriously.
|
|
28
28
|
|
|
29
|
-
|
|
29
|
+
One agent per role. Each with its own Karpathy-style wiki, its own tools, its own memory. A Boss agent that delegates instead of cramming everything into one context window. And all of it living in the workspace your team already uses - Slack.
|
|
30
|
+
|
|
31
|
+
These aren't chatbots you switch to. They're **colleagues you @mention** - side by side with your people, in the same channels, in the same threads. Each agent connects to the tools your team already uses - Notion, Jira, GitHub, Figma, your database, your analytics stack. **Anyone on the team can create one.** No engineers, no platform team - if you can describe what you need, you can deploy it in minutes.
|
|
30
32
|
|
|
31
33
|
```
|
|
32
34
|
CEO: @data-analyst revenue is down 8% this week, can you dig in?
|
|
33
35
|
DataBot: [queries Redshift across 6 dimensions]
|
|
34
|
-
Found it
|
|
36
|
+
Found it - enterprise churn spiked Tuesday after the pricing change.
|
|
35
37
|
3 accounts, $42k ARR at risk.
|
|
36
38
|
|
|
37
39
|
Engineer: @devops the checkout service is throwing 500s
|
|
@@ -40,18 +42,18 @@ DevOps: [reads logs, identifies root cause, opens PR]
|
|
|
40
42
|
|
|
41
43
|
PM: @designer mock up a simpler onboarding flow
|
|
42
44
|
Designer: [creates Figma frames via MCP]
|
|
43
|
-
Done
|
|
45
|
+
Done - 3 variants in Figma. Which direction do you want to take?
|
|
44
46
|
```
|
|
45
47
|
|
|
46
|
-
Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure
|
|
48
|
+
Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure - Boss finds the right specialist, delegates, and summarizes the result:
|
|
47
49
|
|
|
48
50
|
```
|
|
49
51
|
You: @boss can you analyze last week's conversion funnel?
|
|
50
52
|
Boss: That's right up @data-analyst's alley 👇
|
|
51
|
-
@data-analyst
|
|
53
|
+
@data-analyst - conversion funnel analysis for last week.
|
|
52
54
|
When you're done, please tag @boss.
|
|
53
|
-
DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss
|
|
54
|
-
Boss: Conversions are up 12% WoW. The win was checkout
|
|
55
|
+
DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss - done!
|
|
56
|
+
Boss: Conversions are up 12% WoW. The win was checkout - 3× completion rate.
|
|
55
57
|
Want me to pull a channel or cohort breakdown?
|
|
56
58
|
```
|
|
57
59
|
|
|
@@ -63,6 +65,9 @@ Boss: Conversions are up 12% WoW. The win was checkout — 3× completion
|
|
|
63
65
|
|
|
64
66
|
```bash
|
|
65
67
|
npm install -g slackhive
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
```bash
|
|
66
71
|
slackhive init
|
|
67
72
|
```
|
|
68
73
|
|
|
@@ -71,10 +76,24 @@ The CLI will:
|
|
|
71
76
|
2. Clone the repository
|
|
72
77
|
3. Auto-detect your Claude installation (cross-platform compatible)
|
|
73
78
|
4. Walk you through configuration (API key or subscription, admin credentials)
|
|
74
|
-
5. Build and start the services natively
|
|
79
|
+
5. Build and start the services natively - no Docker required
|
|
75
80
|
|
|
76
81
|
Open `http://localhost:3001` and create your first agent.
|
|
77
82
|
|
|
83
|
+
#### Hit `EACCES: permission denied` on install?
|
|
84
|
+
|
|
85
|
+
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:
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
mkdir -p ~/.npm-global
|
|
89
|
+
npm config set prefix '~/.npm-global'
|
|
90
|
+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc # or ~/.bashrc
|
|
91
|
+
source ~/.zshrc
|
|
92
|
+
npm install -g slackhive
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
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`.
|
|
96
|
+
|
|
78
97
|
### CLI Commands
|
|
79
98
|
|
|
80
99
|
| Command | Description |
|
|
@@ -104,7 +123,7 @@ ADMIN_USERNAME=admin
|
|
|
104
123
|
ADMIN_PASSWORD=<strong-random-password>
|
|
105
124
|
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
125
|
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
107
|
-
DATABASE_TYPE=sqlite # embedded
|
|
126
|
+
DATABASE_TYPE=sqlite # embedded - no external DB needed
|
|
108
127
|
```
|
|
109
128
|
|
|
110
129
|
```bash
|
|
@@ -123,18 +142,18 @@ Open `http://localhost:3001`, log in, and create your first agent.
|
|
|
123
142
|
|
|
124
143
|
## ✨ Features
|
|
125
144
|
|
|
126
|
-
### 🤖 Real AI Agents
|
|
145
|
+
### 🤖 Real AI Agents - Not Chatbots
|
|
127
146
|
|
|
128
|
-
Every agent is a full **Claude Code** agent
|
|
147
|
+
Every agent is a full **Claude Code** agent - with tools, memory, identity, and instructions. When you @mention one in Slack, you're running a real AI agent that can use tools, take action, and get smarter over time.
|
|
129
148
|
|
|
130
149
|
| | |
|
|
131
150
|
|---|---|
|
|
132
|
-
| 🧠 **Persistent Memory** | Agents write memories during conversations
|
|
133
|
-
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs)
|
|
134
|
-
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI
|
|
135
|
-
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation
|
|
151
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations - feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
152
|
+
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) - stdio, SSE, or HTTP transports. |
|
|
153
|
+
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI - no deployment needed. The runner compiles and executes it. |
|
|
154
|
+
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation - zero context lost in handoffs. |
|
|
136
155
|
| 💾 **Session Continuity** | Slack thread ↔ Claude session mapping survives restarts. Pick up exactly where you left off. |
|
|
137
|
-
| 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name
|
|
156
|
+
| 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name - raw values never touch the API or UI. |
|
|
138
157
|
| 🔁 **Hot Reload** | Edit instructions, skills, or tools and the agent picks up changes within seconds. No restart needed. |
|
|
139
158
|
|
|
140
159
|
### 👑 Boss + Specialist Hierarchy
|
|
@@ -145,7 +164,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
145
164
|
| 🏢 **Multi-Boss Support** | Run multiple Boss agents for different domains (engineering, data, support). Specialists can report to more than one boss. |
|
|
146
165
|
| 📋 **Auto-Generated Registries** | Every Boss gets a live team roster auto-regenerated whenever the team changes. No manual maintenance. |
|
|
147
166
|
| 🛠 **Skills** | Markdown files deployed as Claude Code slash commands. Give agents SQL rules, writing guidelines, or domain playbooks. |
|
|
148
|
-
| ⏰ **Scheduled Jobs** | Cron-based recurring tasks
|
|
167
|
+
| ⏰ **Scheduled Jobs** | Cron-based recurring tasks - daily reports, weekly digests, monitoring alerts - posted to any Slack channel or DM. |
|
|
149
168
|
|
|
150
169
|
### ⚙️ Platform
|
|
151
170
|
|
|
@@ -153,10 +172,12 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
153
172
|
|---|---|
|
|
154
173
|
| 🧙 **Onboarding Wizard** | 5-step guided setup: identity → Slack app → credentials → tools & skills → review. |
|
|
155
174
|
| 🕓 **Version Control** | Every save auto-snapshots the full agent state. Browse history with line-level diffs, restore any version in one click. |
|
|
156
|
-
| 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent
|
|
175
|
+
| 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent access grants (View or Edit). Agents are hidden by default — admins grant access explicitly. No external auth provider needed. |
|
|
157
176
|
| 🚦 **Channel Restrictions** | Lock agents to specific Slack channels. Bot auto-leaves uninvited channels with a notice. |
|
|
158
|
-
| 📊 **Live Logs** | SSE-streamed log output per agent
|
|
159
|
-
| 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type
|
|
177
|
+
| 📊 **Live Logs** | SSE-streamed log output per agent - with level filters and search. |
|
|
178
|
+
| 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type - feedback, user, project, reference. |
|
|
179
|
+
| 📡 **Activity Dashboard** | Live kanban of every task your agents are working on - Active, Completed, Errors - with drill-down to every tool call. A superadmin-only **Usage** tab breaks down token consumption per agent and ranks power users by tasks started. Admins see everything; editors see only agents they own or are granted access to; viewers are blocked. |
|
|
180
|
+
| 🌐 **Multi-Workspace** | Connect multiple Slack workspaces to a single SlackHive instance. Each workspace gets its own agents and configurations. |
|
|
160
181
|
|
|
161
182
|
---
|
|
162
183
|
|
|
@@ -167,7 +188,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
167
188
|
│ Socket Mode (Bolt)
|
|
168
189
|
▼
|
|
169
190
|
┌──────────────────────────────────────────────────┐
|
|
170
|
-
│ Local host
|
|
191
|
+
│ Local host - two Node.js processes │
|
|
171
192
|
│ │
|
|
172
193
|
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
173
194
|
│ │ │ │
|
|
@@ -178,9 +199,9 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
178
199
|
|
|
179
200
|
| Service | Description |
|
|
180
201
|
|---------|-------------|
|
|
181
|
-
| **Web** (Next.js 15) | Dashboard
|
|
202
|
+
| **Web** (Next.js 15) | Dashboard - create agents, edit skills, view logs, manage users |
|
|
182
203
|
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
183
|
-
| **SQLite** | Embedded
|
|
204
|
+
| **SQLite** | Embedded - stores agents, memories, skills, sessions, users, history. No external DB to install |
|
|
184
205
|
| **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
|
|
185
206
|
|
|
186
207
|
**How a message flows:**
|
|
@@ -196,19 +217,37 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
196
217
|
|
|
197
218
|
## 🔑 Claude Code Authentication
|
|
198
219
|
|
|
199
|
-
Two options
|
|
220
|
+
Two options - use whichever fits your setup:
|
|
200
221
|
|
|
201
|
-
**Option A
|
|
222
|
+
**Option A - API Key**
|
|
202
223
|
```env
|
|
203
224
|
ANTHROPIC_API_KEY=sk-ant-api03-...
|
|
204
225
|
```
|
|
205
226
|
Billed per token via the Anthropic API. Best for teams and production.
|
|
206
227
|
|
|
207
|
-
**Option B
|
|
228
|
+
**Option B - Claude Pro or Max Subscription**
|
|
229
|
+
|
|
230
|
+
First, install Claude Code on your host machine:
|
|
231
|
+
|
|
232
|
+
> **Note:** Do not install via `npm` - the npm package is deprecated and incompatible with SlackHive.
|
|
233
|
+
|
|
234
|
+
MacOS/Linux (Recommended):
|
|
235
|
+
```bash
|
|
236
|
+
curl -fsSL https://claude.ai/install.sh | bash
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
Homebrew (macOS/Linux):
|
|
240
|
+
```bash
|
|
241
|
+
brew install --cask claude-code
|
|
242
|
+
```
|
|
243
|
+
|
|
244
|
+
For more installation options, uninstall steps, and troubleshooting, see the [setup documentation](https://docs.anthropic.com/en/docs/claude-code/setup).
|
|
245
|
+
|
|
246
|
+
Then log in:
|
|
208
247
|
```bash
|
|
209
248
|
claude login # saves credentials to your system keychain / ~/.claude/
|
|
210
249
|
```
|
|
211
|
-
Leave `ANTHROPIC_API_KEY` unset
|
|
250
|
+
Leave `ANTHROPIC_API_KEY` unset - the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
212
251
|
|
|
213
252
|
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
214
253
|
|
|
@@ -228,7 +267,7 @@ Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the sys
|
|
|
228
267
|
- [ ] Analytics dashboard
|
|
229
268
|
- [ ] Custom tool builder (no MCP server needed)
|
|
230
269
|
- [ ] Agent templates marketplace
|
|
231
|
-
- [ ] RAG integration
|
|
270
|
+
- [ ] RAG integration - connect agents to document stores
|
|
232
271
|
|
|
233
272
|
Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
234
273
|
|
|
@@ -243,7 +282,7 @@ cd slackhive && npm install
|
|
|
243
282
|
# Configure
|
|
244
283
|
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
245
284
|
|
|
246
|
-
# Run locally (SQLite
|
|
285
|
+
# Run locally (SQLite - no external services required)
|
|
247
286
|
cd apps/web && npm run dev # http://localhost:3000
|
|
248
287
|
cd apps/runner && npm run dev # http://localhost:3002
|
|
249
288
|
```
|
|
@@ -274,7 +313,7 @@ Open an issue before submitting large PRs so we can align on the approach.
|
|
|
274
313
|
|
|
275
314
|
## 🔒 Security
|
|
276
315
|
|
|
277
|
-
Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new)
|
|
316
|
+
Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new) - click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
|
|
278
317
|
|
|
279
318
|
---
|
|
280
319
|
|
package/cli/README.md
ADDED
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<img src="https://raw.githubusercontent.com/pelago-labs/slackhive/main/apps/web/public/logo.svg" alt="SlackHive" width="80" />
|
|
4
|
+
|
|
5
|
+
# SlackHive
|
|
6
|
+
|
|
7
|
+
### Build your AI-first company on Slack
|
|
8
|
+
#### Deploy and orchestrate Claude Code agents as your teammates
|
|
9
|
+
|
|
10
|
+
[](LICENSE)
|
|
11
|
+
[](https://www.npmjs.com/package/slackhive)
|
|
12
|
+
[](https://www.npmjs.com/package/slackhive)
|
|
13
|
+
[](https://nodejs.org)
|
|
14
|
+
[](https://www.typescriptlang.org)
|
|
15
|
+
[](https://sqlite.org)
|
|
16
|
+
[](https://slackhive.mintlify.app)
|
|
17
|
+
[](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml)
|
|
18
|
+
|
|
19
|
+
[**Documentation**](https://slackhive.mintlify.app) · [Quick Start](#-quick-start) · [Features](#-features) · [Architecture](#-architecture) · [Contributing](#-contributing)
|
|
20
|
+
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
## Why SlackHive?
|
|
26
|
+
|
|
27
|
+
Your Slack workspace is where your team already lives. Every question, decision, and escalation happens there. SlackHive makes that workspace a mix of **people and agents** — side by side, in the same channels, in the same threads.
|
|
28
|
+
|
|
29
|
+
These aren't chatbots you switch to. They're colleagues you @mention. Each agent connects to the tools your team already uses — Notion, Jira, GitHub, Figma, your database, your analytics stack. **Anyone on the team can create one.** No engineers, no platform team — if you can describe what you need, you can deploy it in minutes.
|
|
30
|
+
|
|
31
|
+
```
|
|
32
|
+
CEO: @data-analyst revenue is down 8% this week, can you dig in?
|
|
33
|
+
DataBot: [queries Redshift across 6 dimensions]
|
|
34
|
+
Found it — enterprise churn spiked Tuesday after the pricing change.
|
|
35
|
+
3 accounts, $42k ARR at risk.
|
|
36
|
+
|
|
37
|
+
Engineer: @devops the checkout service is throwing 500s
|
|
38
|
+
DevOps: [reads logs, identifies root cause, opens PR]
|
|
39
|
+
Memory leak in the payment processor pool. PR #847 is up with the fix.
|
|
40
|
+
|
|
41
|
+
PM: @designer mock up a simpler onboarding flow
|
|
42
|
+
Designer: [creates Figma frames via MCP]
|
|
43
|
+
Done — 3 variants in Figma. Which direction do you want to take?
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure — Boss finds the right specialist, delegates, and summarizes the result:
|
|
47
|
+
|
|
48
|
+
```
|
|
49
|
+
You: @boss can you analyze last week's conversion funnel?
|
|
50
|
+
Boss: That's right up @data-analyst's alley 👇
|
|
51
|
+
@data-analyst — conversion funnel analysis for last week.
|
|
52
|
+
When you're done, please tag @boss.
|
|
53
|
+
DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss — done!
|
|
54
|
+
Boss: Conversions are up 12% WoW. The win was checkout — 3× completion rate.
|
|
55
|
+
Want me to pull a channel or cohort breakdown?
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
---
|
|
59
|
+
|
|
60
|
+
## 🚀 Quick Start
|
|
61
|
+
|
|
62
|
+
### Option A: One-command install (recommended)
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
npm install -g slackhive
|
|
66
|
+
slackhive init
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The CLI will:
|
|
70
|
+
1. Check prerequisites (Git, Node.js ≥ 20, Claude Code)
|
|
71
|
+
2. Clone the repository
|
|
72
|
+
3. Auto-detect your Claude installation (cross-platform compatible)
|
|
73
|
+
4. Walk you through configuration (API key or subscription, admin credentials)
|
|
74
|
+
5. Build and start the services natively — no Docker required
|
|
75
|
+
|
|
76
|
+
Open `http://localhost:3001` and create your first agent.
|
|
77
|
+
|
|
78
|
+
### CLI Commands
|
|
79
|
+
|
|
80
|
+
| Command | Description |
|
|
81
|
+
|---------|-------------|
|
|
82
|
+
| `slackhive init` | Clone, configure, and start SlackHive |
|
|
83
|
+
| `slackhive start` | Start all services |
|
|
84
|
+
| `slackhive stop` | Stop all services (and any orphaned runner processes) |
|
|
85
|
+
| `slackhive status` | Show running services + ports |
|
|
86
|
+
| `slackhive logs` | Tail runner logs |
|
|
87
|
+
| `slackhive update` | Pull latest changes and rebuild |
|
|
88
|
+
|
|
89
|
+
### Option B: Manual setup
|
|
90
|
+
|
|
91
|
+
**Prerequisites:** Node.js ≥ 20, Git, [Claude Code](https://docs.anthropic.com/en/docs/claude-code/setup) on your PATH
|
|
92
|
+
|
|
93
|
+
```bash
|
|
94
|
+
git clone https://github.com/pelago-labs/slackhive.git
|
|
95
|
+
cd slackhive
|
|
96
|
+
cp .env.example .env
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
Edit `.env` with your credentials:
|
|
100
|
+
|
|
101
|
+
```env
|
|
102
|
+
ANTHROPIC_API_KEY=sk-ant-... # or use Claude Pro/Max subscription
|
|
103
|
+
ADMIN_USERNAME=admin
|
|
104
|
+
ADMIN_PASSWORD=<strong-random-password>
|
|
105
|
+
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
|
+
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
107
|
+
DATABASE_TYPE=sqlite # embedded — no external DB needed
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
npm install
|
|
112
|
+
npm run build
|
|
113
|
+
|
|
114
|
+
# Start the stack (web on :3001, runner on :3002)
|
|
115
|
+
npx slackhive start
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
Open `http://localhost:3001`, log in, and create your first agent.
|
|
119
|
+
|
|
120
|
+
> Full setup guide → [slackhive.mintlify.app/quickstart](https://slackhive.mintlify.app/quickstart)
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## ✨ Features
|
|
125
|
+
|
|
126
|
+
### 🤖 Real AI Agents — Not Chatbots
|
|
127
|
+
|
|
128
|
+
Every agent is a full **Claude Code** agent — with tools, memory, identity, and instructions. When you @mention one in Slack, you're running a real AI agent that can use tools, take action, and get smarter over time.
|
|
129
|
+
|
|
130
|
+
| | |
|
|
131
|
+
|---|---|
|
|
132
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations — feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
133
|
+
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) — stdio, SSE, or HTTP transports. |
|
|
134
|
+
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI — no deployment needed. The runner compiles and executes it. |
|
|
135
|
+
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation — zero context lost in handoffs. |
|
|
136
|
+
| 💾 **Session Continuity** | Slack thread ↔ Claude session mapping survives restarts. Pick up exactly where you left off. |
|
|
137
|
+
| 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name — raw values never touch the API or UI. |
|
|
138
|
+
| 🔁 **Hot Reload** | Edit instructions, skills, or tools and the agent picks up changes within seconds. No restart needed. |
|
|
139
|
+
|
|
140
|
+
### 👑 Boss + Specialist Hierarchy
|
|
141
|
+
|
|
142
|
+
| | |
|
|
143
|
+
|---|---|
|
|
144
|
+
| 👑 **Boss Orchestration** | Boss reads your message, finds the right specialist, delegates by @mention in the same thread, and summarizes the result. |
|
|
145
|
+
| 🏢 **Multi-Boss Support** | Run multiple Boss agents for different domains (engineering, data, support). Specialists can report to more than one boss. |
|
|
146
|
+
| 📋 **Auto-Generated Registries** | Every Boss gets a live team roster auto-regenerated whenever the team changes. No manual maintenance. |
|
|
147
|
+
| 🛠 **Skills** | Markdown files deployed as Claude Code slash commands. Give agents SQL rules, writing guidelines, or domain playbooks. |
|
|
148
|
+
| ⏰ **Scheduled Jobs** | Cron-based recurring tasks — daily reports, weekly digests, monitoring alerts — posted to any Slack channel or DM. |
|
|
149
|
+
|
|
150
|
+
### ⚙️ Platform
|
|
151
|
+
|
|
152
|
+
| | |
|
|
153
|
+
|---|---|
|
|
154
|
+
| 🧙 **Onboarding Wizard** | 5-step guided setup: identity → Slack app → credentials → tools & skills → review. |
|
|
155
|
+
| 🕓 **Version Control** | Every save auto-snapshots the full agent state. Browse history with line-level diffs, restore any version in one click. |
|
|
156
|
+
| 🔒 **Auth & RBAC** | 4 roles (superadmin / admin / editor / viewer), HMAC-signed sessions, per-agent write access grants. No external auth provider needed. |
|
|
157
|
+
| 🚦 **Channel Restrictions** | Lock agents to specific Slack channels. Bot auto-leaves uninvited channels with a notice. |
|
|
158
|
+
| 📊 **Live Logs** | SSE-streamed log output per agent — with level filters and search. |
|
|
159
|
+
| 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type — feedback, user, project, reference. |
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 🏗 Architecture
|
|
164
|
+
|
|
165
|
+
```
|
|
166
|
+
Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
167
|
+
│ Socket Mode (Bolt)
|
|
168
|
+
▼
|
|
169
|
+
┌──────────────────────────────────────────────────┐
|
|
170
|
+
│ Local host — two Node.js processes │
|
|
171
|
+
│ │
|
|
172
|
+
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
173
|
+
│ │ │ │
|
|
174
|
+
│ └───── SQLite file ──────┘ │
|
|
175
|
+
│ (./data/slackhive.db) │
|
|
176
|
+
└──────────────────────────────────────────────────┘
|
|
177
|
+
```
|
|
178
|
+
|
|
179
|
+
| Service | Description |
|
|
180
|
+
|---------|-------------|
|
|
181
|
+
| **Web** (Next.js 15) | Dashboard — create agents, edit skills, view logs, manage users |
|
|
182
|
+
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
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 |
|
|
185
|
+
|
|
186
|
+
**How a message flows:**
|
|
187
|
+
1. User @mentions an agent in Slack
|
|
188
|
+
2. Runner receives the event via Bolt Socket Mode
|
|
189
|
+
3. Claude Code processes the message with the agent's compiled `CLAUDE.md`
|
|
190
|
+
4. Agent uses MCP tools if needed (Redshift, GitHub, Notion, etc.)
|
|
191
|
+
5. Response is formatted as Slack Block Kit and posted to the thread
|
|
192
|
+
6. Memory files written during the session are synced to SQLite
|
|
193
|
+
7. Next conversation starts with all accumulated knowledge
|
|
194
|
+
|
|
195
|
+
---
|
|
196
|
+
|
|
197
|
+
## 🔑 Claude Code Authentication
|
|
198
|
+
|
|
199
|
+
Two options — use whichever fits your setup:
|
|
200
|
+
|
|
201
|
+
**Option A — API Key**
|
|
202
|
+
```env
|
|
203
|
+
ANTHROPIC_API_KEY=sk-ant-api03-...
|
|
204
|
+
```
|
|
205
|
+
Billed per token via the Anthropic API. Best for teams and production.
|
|
206
|
+
|
|
207
|
+
**Option B — Claude Pro or Max Subscription**
|
|
208
|
+
```bash
|
|
209
|
+
claude login # saves credentials to your system keychain / ~/.claude/
|
|
210
|
+
```
|
|
211
|
+
Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
212
|
+
|
|
213
|
+
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## 🔮 Roadmap
|
|
218
|
+
|
|
219
|
+
- [x] Boss orchestration + auto-generated team registries
|
|
220
|
+
- [x] Persistent memory system
|
|
221
|
+
- [x] Scheduled jobs
|
|
222
|
+
- [x] Version control with diff view
|
|
223
|
+
- [x] Encrypted environment variables
|
|
224
|
+
- [x] Channel restrictions
|
|
225
|
+
- [x] Multi-workspace support
|
|
226
|
+
- [ ] Webhook triggers (GitHub, Jira, PagerDuty → agent actions)
|
|
227
|
+
- [ ] Agent-to-agent direct messaging
|
|
228
|
+
- [ ] Analytics dashboard
|
|
229
|
+
- [ ] Custom tool builder (no MCP server needed)
|
|
230
|
+
- [ ] Agent templates marketplace
|
|
231
|
+
- [ ] RAG integration — connect agents to document stores
|
|
232
|
+
|
|
233
|
+
Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
234
|
+
|
|
235
|
+
---
|
|
236
|
+
|
|
237
|
+
## 🤝 Contributing
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
git clone https://github.com/pelago-labs/slackhive.git
|
|
241
|
+
cd slackhive && npm install
|
|
242
|
+
|
|
243
|
+
# Configure
|
|
244
|
+
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
245
|
+
|
|
246
|
+
# Run locally (SQLite — no external services required)
|
|
247
|
+
cd apps/web && npm run dev # http://localhost:3000
|
|
248
|
+
cd apps/runner && npm run dev # http://localhost:3002
|
|
249
|
+
```
|
|
250
|
+
|
|
251
|
+
Open an issue before submitting large PRs so we can align on the approach.
|
|
252
|
+
|
|
253
|
+
---
|
|
254
|
+
|
|
255
|
+
## 👥 Contributors
|
|
256
|
+
|
|
257
|
+
<a href="https://github.com/pelago-labs/slackhive/graphs/contributors">
|
|
258
|
+
<img src="https://contrib.rocks/image?repo=pelago-labs/slackhive" alt="Contributors" />
|
|
259
|
+
</a>
|
|
260
|
+
|
|
261
|
+
---
|
|
262
|
+
|
|
263
|
+
## ⭐ Star History
|
|
264
|
+
|
|
265
|
+
<a href="https://star-history.com/#pelago-labs/slackhive&Date">
|
|
266
|
+
<picture>
|
|
267
|
+
<source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date&theme=dark" />
|
|
268
|
+
<source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date" />
|
|
269
|
+
<img alt="Star History Chart" src="https://api.star-history.com/svg?repos=pelago-labs/slackhive&type=Date" width="600" />
|
|
270
|
+
</picture>
|
|
271
|
+
</a>
|
|
272
|
+
|
|
273
|
+
---
|
|
274
|
+
|
|
275
|
+
## 🔒 Security
|
|
276
|
+
|
|
277
|
+
Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new) — click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
|
|
278
|
+
|
|
279
|
+
---
|
|
280
|
+
|
|
281
|
+
## 📄 License
|
|
282
|
+
|
|
283
|
+
MIT © 2026 [Pelago Labs](https://github.com/pelago-labs)
|
|
284
|
+
|
|
285
|
+
<div align="center">
|
|
286
|
+
<sub>Built with Claude Code, Slack Bolt, and a lot of ☕</sub>
|
|
287
|
+
</div>
|
|
@@ -15578,7 +15578,7 @@ var require_package = __commonJS({
|
|
|
15578
15578
|
"package.json"(exports2, module2) {
|
|
15579
15579
|
module2.exports = {
|
|
15580
15580
|
name: "slackhive",
|
|
15581
|
-
version: "0.2.
|
|
15581
|
+
version: "0.2.4",
|
|
15582
15582
|
description: "CLI to install and manage SlackHive \u2014 AI agent teams on Slack",
|
|
15583
15583
|
bin: {
|
|
15584
15584
|
slackhive: "./dist/index.js"
|
package/package.json
CHANGED
|
@@ -1,45 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "slackhive",
|
|
3
|
-
"version": "0.2.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.2.4",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Open-source platform for managing teams of Claude Code Slack agents with a boss agent orchestrator",
|
|
6
|
+
"workspaces": [
|
|
7
|
+
"apps/*",
|
|
8
|
+
"packages/*",
|
|
9
|
+
"cli"
|
|
10
|
+
],
|
|
5
11
|
"bin": {
|
|
6
|
-
"slackhive": "
|
|
12
|
+
"slackhive": "cli/dist/index.js"
|
|
7
13
|
},
|
|
8
14
|
"scripts": {
|
|
9
|
-
"
|
|
10
|
-
"
|
|
15
|
+
"dev": "sh scripts/dev.sh",
|
|
16
|
+
"build": "npm run build -w packages/shared && npm run build --workspaces --if-present",
|
|
17
|
+
"prepare": "npm run build -w cli"
|
|
11
18
|
},
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
"agents",
|
|
16
|
-
"claude",
|
|
17
|
-
"claude-code",
|
|
18
|
-
"slackhive"
|
|
19
|
+
"files": [
|
|
20
|
+
"cli/dist",
|
|
21
|
+
"README.md"
|
|
19
22
|
],
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
"repository": {
|
|
23
|
-
"type": "git",
|
|
24
|
-
"url": "https://github.com/pelago-labs/slackhive"
|
|
23
|
+
"engines": {
|
|
24
|
+
"node": ">=20.0.0"
|
|
25
25
|
},
|
|
26
|
+
"license": "MIT",
|
|
26
27
|
"dependencies": {
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
28
|
+
"@anthropic-ai/claude-agent-sdk": "^0.2.118",
|
|
29
|
+
"@anthropic-ai/claude-code": "^2.1.118",
|
|
30
|
+
"@elastic/elasticsearch": "^9.3.4",
|
|
31
|
+
"@mozilla/readability": "^0.6.0",
|
|
32
|
+
"linkedom": "^0.18.12",
|
|
33
|
+
"pg": "^8.20.0",
|
|
34
|
+
"turndown": "^7.2.4"
|
|
31
35
|
},
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
"node": ">=18.0.0"
|
|
36
|
+
"overrides": {
|
|
37
|
+
"dompurify": "^3.4.0",
|
|
38
|
+
"vite": "^6.4.2",
|
|
39
|
+
"axios": "^1.15.0",
|
|
40
|
+
"hono": "^4.12.14",
|
|
41
|
+
"@hono/node-server": "^1.19.13",
|
|
42
|
+
"follow-redirects": "^1.15.12"
|
|
40
43
|
},
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
|
|
44
|
-
]
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@types/turndown": "^5.0.6"
|
|
46
|
+
}
|
|
45
47
|
}
|