slackhive 0.3.0 → 0.4.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/README.md +77 -32
- package/dist/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,10 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
<img src="https://raw.githubusercontent.com/pelago-labs/slackhive/main/apps/web/public/logo.svg" alt="SlackHive" width="80" />
|
|
4
4
|
|
|
5
|
+
|
|
5
6
|
# SlackHive
|
|
6
7
|
|
|
7
8
|
### Build your AI-first company on Slack
|
|
8
|
-
####
|
|
9
|
+
#### A Karpathy-inspired team of humans and AI specialists, powered by Claude Code
|
|
9
10
|
|
|
10
11
|
[](LICENSE)
|
|
11
12
|
[](https://www.npmjs.com/package/slackhive)
|
|
@@ -18,20 +19,26 @@
|
|
|
18
19
|
|
|
19
20
|
[**Documentation**](https://slackhive.mintlify.app) · [Quick Start](#-quick-start) · [Features](#-features) · [Architecture](#-architecture) · [Contributing](#-contributing)
|
|
20
21
|
|
|
22
|
+
<br />
|
|
23
|
+
|
|
24
|
+
<img src="https://raw.githubusercontent.com/pelago-labs/slackhive/main/docs/images/slack-ai-agent-team-dashboard-with-avatars.png" alt="SlackHive dashboard" style="border-radius: 12px;" />
|
|
25
|
+
|
|
21
26
|
</div>
|
|
22
27
|
|
|
23
28
|
---
|
|
24
29
|
|
|
25
30
|
## Why SlackHive?
|
|
26
31
|
|
|
27
|
-
|
|
32
|
+
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
33
|
|
|
29
|
-
|
|
34
|
+
One agent per role. A shared **Knowledge Library** of Karpathy-style wiki folders that any agent can be assigned. Each agent has its own tools and 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.
|
|
35
|
+
|
|
36
|
+
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
37
|
|
|
31
38
|
```
|
|
32
39
|
CEO: @data-analyst revenue is down 8% this week, can you dig in?
|
|
33
40
|
DataBot: [queries Redshift across 6 dimensions]
|
|
34
|
-
Found it
|
|
41
|
+
Found it - enterprise churn spiked Tuesday after the pricing change.
|
|
35
42
|
3 accounts, $42k ARR at risk.
|
|
36
43
|
|
|
37
44
|
Engineer: @devops the checkout service is throwing 500s
|
|
@@ -40,18 +47,18 @@ DevOps: [reads logs, identifies root cause, opens PR]
|
|
|
40
47
|
|
|
41
48
|
PM: @designer mock up a simpler onboarding flow
|
|
42
49
|
Designer: [creates Figma frames via MCP]
|
|
43
|
-
Done
|
|
50
|
+
Done - 3 variants in Figma. Which direction do you want to take?
|
|
44
51
|
```
|
|
45
52
|
|
|
46
|
-
Tag a specialist directly when you know who to ask. Or tag `@boss` when you're not sure
|
|
53
|
+
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
54
|
|
|
48
55
|
```
|
|
49
56
|
You: @boss can you analyze last week's conversion funnel?
|
|
50
57
|
Boss: That's right up @data-analyst's alley 👇
|
|
51
|
-
@data-analyst
|
|
58
|
+
@data-analyst - conversion funnel analysis for last week.
|
|
52
59
|
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
|
|
60
|
+
DataBot: Conversions up 12% WoW, checkout completion jumped 3×. @boss - done!
|
|
61
|
+
Boss: Conversions are up 12% WoW. The win was checkout - 3× completion rate.
|
|
55
62
|
Want me to pull a channel or cohort breakdown?
|
|
56
63
|
```
|
|
57
64
|
|
|
@@ -63,6 +70,9 @@ Boss: Conversions are up 12% WoW. The win was checkout — 3× completion
|
|
|
63
70
|
|
|
64
71
|
```bash
|
|
65
72
|
npm install -g slackhive
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
```bash
|
|
66
76
|
slackhive init
|
|
67
77
|
```
|
|
68
78
|
|
|
@@ -71,10 +81,24 @@ The CLI will:
|
|
|
71
81
|
2. Clone the repository
|
|
72
82
|
3. Auto-detect your Claude installation (cross-platform compatible)
|
|
73
83
|
4. Walk you through configuration (API key or subscription, admin credentials)
|
|
74
|
-
5. Build and start the services natively
|
|
84
|
+
5. Build and start the services natively - no Docker required
|
|
75
85
|
|
|
76
86
|
Open `http://localhost:3001` and create your first agent.
|
|
77
87
|
|
|
88
|
+
#### Hit `EACCES: permission denied` on install?
|
|
89
|
+
|
|
90
|
+
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:
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
mkdir -p ~/.npm-global
|
|
94
|
+
npm config set prefix '~/.npm-global'
|
|
95
|
+
echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.zshrc # or ~/.bashrc
|
|
96
|
+
source ~/.zshrc
|
|
97
|
+
npm install -g slackhive
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
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`.
|
|
101
|
+
|
|
78
102
|
### CLI Commands
|
|
79
103
|
|
|
80
104
|
| Command | Description |
|
|
@@ -104,7 +128,7 @@ ADMIN_USERNAME=admin
|
|
|
104
128
|
ADMIN_PASSWORD=<strong-random-password>
|
|
105
129
|
AUTH_SECRET= # generate: openssl rand -hex 32
|
|
106
130
|
ENV_SECRET_KEY= # generate: openssl rand -hex 32
|
|
107
|
-
DATABASE_TYPE=sqlite # embedded
|
|
131
|
+
DATABASE_TYPE=sqlite # embedded - no external DB needed
|
|
108
132
|
```
|
|
109
133
|
|
|
110
134
|
```bash
|
|
@@ -123,18 +147,18 @@ Open `http://localhost:3001`, log in, and create your first agent.
|
|
|
123
147
|
|
|
124
148
|
## ✨ Features
|
|
125
149
|
|
|
126
|
-
### 🤖 Real AI Agents
|
|
150
|
+
### 🤖 Real AI Agents - Not Chatbots
|
|
127
151
|
|
|
128
|
-
Every agent is a full **Claude Code** agent
|
|
152
|
+
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
153
|
|
|
130
154
|
| | |
|
|
131
155
|
|---|---|
|
|
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
|
|
156
|
+
| 🧠 **Persistent Memory** | Agents write memories during conversations - feedback, user context, project state. Synced to SQLite, injected on next start. They don't forget. |
|
|
157
|
+
| 🔌 **MCP Tool Integration** | Connect any MCP server (Redshift, GitHub, Notion, Figma, custom APIs) - stdio, SSE, or HTTP transports. |
|
|
158
|
+
| 📝 **Inline TypeScript MCPs** | Paste TypeScript source directly into the UI - no deployment needed. The runner compiles and executes it. |
|
|
159
|
+
| 🧵 **Full Thread Context** | Agents fetch the entire Slack thread on every invocation - zero context lost in handoffs. |
|
|
136
160
|
| 💾 **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
|
|
161
|
+
| 🔐 **Encrypted Secret Store** | API keys encrypted at rest (AES-256). MCPs reference secrets by name - raw values never touch the API or UI. |
|
|
138
162
|
| 🔁 **Hot Reload** | Edit instructions, skills, or tools and the agent picks up changes within seconds. No restart needed. |
|
|
139
163
|
|
|
140
164
|
### 👑 Boss + Specialist Hierarchy
|
|
@@ -145,7 +169,7 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
145
169
|
| 🏢 **Multi-Boss Support** | Run multiple Boss agents for different domains (engineering, data, support). Specialists can report to more than one boss. |
|
|
146
170
|
| 📋 **Auto-Generated Registries** | Every Boss gets a live team roster auto-regenerated whenever the team changes. No manual maintenance. |
|
|
147
171
|
| 🛠 **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
|
|
172
|
+
| ⏰ **Scheduled Jobs** | Cron-based recurring tasks - daily reports, weekly digests, monitoring alerts - posted to any Slack channel or DM. |
|
|
149
173
|
|
|
150
174
|
### ⚙️ Platform
|
|
151
175
|
|
|
@@ -153,10 +177,13 @@ Every agent is a full **Claude Code** agent — with tools, memory, identity, an
|
|
|
153
177
|
|---|---|
|
|
154
178
|
| 🧙 **Onboarding Wizard** | 5-step guided setup: identity → Slack app → credentials → tools & skills → review. |
|
|
155
179
|
| 🕓 **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
|
|
180
|
+
| 🔒 **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
181
|
| 🚦 **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
|
|
182
|
+
| 📊 **Live Logs** | SSE-streamed log output per agent - with level filters and search. |
|
|
183
|
+
| 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type - feedback, user, project, reference. |
|
|
184
|
+
| 📡 **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. |
|
|
185
|
+
| 🌐 **Multi-Workspace** | Connect multiple Slack workspaces to a single SlackHive instance. Each workspace gets its own agents and configurations. |
|
|
186
|
+
| 📚 **Knowledge Library** | Platform-level catalog of Karpathy-style wiki folders. Owners ingest a repo / file / URL into a folder; assign one folder to many agents. The agent's `/wiki` skill auto-enables when at least one assigned folder has built content. |
|
|
160
187
|
|
|
161
188
|
---
|
|
162
189
|
|
|
@@ -167,7 +194,7 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
167
194
|
│ Socket Mode (Bolt)
|
|
168
195
|
▼
|
|
169
196
|
┌──────────────────────────────────────────────────┐
|
|
170
|
-
│ Local host
|
|
197
|
+
│ Local host - two Node.js processes │
|
|
171
198
|
│ │
|
|
172
199
|
│ Web (Next.js :3001) ──HTTP──► Runner (:3002) │
|
|
173
200
|
│ │ │ │
|
|
@@ -178,9 +205,9 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
178
205
|
|
|
179
206
|
| Service | Description |
|
|
180
207
|
|---------|-------------|
|
|
181
|
-
| **Web** (Next.js 15) | Dashboard
|
|
208
|
+
| **Web** (Next.js 15) | Dashboard - create agents, edit skills, view logs, manage users |
|
|
182
209
|
| **Runner** (Node.js) | Hosts all agent processes and Slack connections |
|
|
183
|
-
| **SQLite** | Embedded
|
|
210
|
+
| **SQLite** | Embedded - stores agents, memories, skills, sessions, users, history. No external DB to install |
|
|
184
211
|
| **Event bus** | Web posts to the runner's internal HTTP port to deliver hot-reload events |
|
|
185
212
|
|
|
186
213
|
**How a message flows:**
|
|
@@ -196,19 +223,37 @@ Slack Workspace (@boss, @data-bot, @writer, ...)
|
|
|
196
223
|
|
|
197
224
|
## 🔑 Claude Code Authentication
|
|
198
225
|
|
|
199
|
-
Two options
|
|
226
|
+
Two options - use whichever fits your setup:
|
|
200
227
|
|
|
201
|
-
**Option A
|
|
228
|
+
**Option A - API Key**
|
|
202
229
|
```env
|
|
203
230
|
ANTHROPIC_API_KEY=sk-ant-api03-...
|
|
204
231
|
```
|
|
205
232
|
Billed per token via the Anthropic API. Best for teams and production.
|
|
206
233
|
|
|
207
|
-
**Option B
|
|
234
|
+
**Option B - Claude Pro or Max Subscription**
|
|
235
|
+
|
|
236
|
+
First, install Claude Code on your host machine:
|
|
237
|
+
|
|
238
|
+
> **Note:** Do not install via `npm` - the npm package is deprecated and incompatible with SlackHive.
|
|
239
|
+
|
|
240
|
+
MacOS/Linux (Recommended):
|
|
241
|
+
```bash
|
|
242
|
+
curl -fsSL https://claude.ai/install.sh | bash
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
Homebrew (macOS/Linux):
|
|
246
|
+
```bash
|
|
247
|
+
brew install --cask claude-code
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
For more installation options, uninstall steps, and troubleshooting, see the [setup documentation](https://docs.anthropic.com/en/docs/claude-code/setup).
|
|
251
|
+
|
|
252
|
+
Then log in:
|
|
208
253
|
```bash
|
|
209
254
|
claude login # saves credentials to your system keychain / ~/.claude/
|
|
210
255
|
```
|
|
211
|
-
Leave `ANTHROPIC_API_KEY` unset
|
|
256
|
+
Leave `ANTHROPIC_API_KEY` unset - the runner picks up credentials from the system keychain automatically. Best for individual developers.
|
|
212
257
|
|
|
213
258
|
> Full guide → [slackhive.mintlify.app/configuration/env-vars](https://slackhive.mintlify.app/configuration/env-vars)
|
|
214
259
|
|
|
@@ -228,7 +273,7 @@ Leave `ANTHROPIC_API_KEY` unset — the runner picks up credentials from the sys
|
|
|
228
273
|
- [ ] Analytics dashboard
|
|
229
274
|
- [ ] Custom tool builder (no MCP server needed)
|
|
230
275
|
- [ ] Agent templates marketplace
|
|
231
|
-
- [ ] RAG integration
|
|
276
|
+
- [ ] RAG integration - connect agents to document stores
|
|
232
277
|
|
|
233
278
|
Have an idea? [Open an issue](https://github.com/pelago-labs/slackhive/issues)
|
|
234
279
|
|
|
@@ -243,7 +288,7 @@ cd slackhive && npm install
|
|
|
243
288
|
# Configure
|
|
244
289
|
cp .env.example .env # then fill in ADMIN_PASSWORD, AUTH_SECRET, ENV_SECRET_KEY
|
|
245
290
|
|
|
246
|
-
# Run locally (SQLite
|
|
291
|
+
# Run locally (SQLite - no external services required)
|
|
247
292
|
cd apps/web && npm run dev # http://localhost:3000
|
|
248
293
|
cd apps/runner && npm run dev # http://localhost:3002
|
|
249
294
|
```
|
|
@@ -274,7 +319,7 @@ Open an issue before submitting large PRs so we can align on the approach.
|
|
|
274
319
|
|
|
275
320
|
## 🔒 Security
|
|
276
321
|
|
|
277
|
-
Use [GitHub's private vulnerability reporting](https://github.com/pelago-labs/slackhive/security/advisories/new)
|
|
322
|
+
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
323
|
|
|
279
324
|
---
|
|
280
325
|
|
package/dist/index.js
CHANGED
|
@@ -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.
|
|
15581
|
+
version: "0.4.0",
|
|
15582
15582
|
description: "CLI to install and manage SlackHive \u2014 AI agent teams on Slack",
|
|
15583
15583
|
bin: {
|
|
15584
15584
|
slackhive: "./dist/index.js"
|