slackhive 0.3.0 → 0.4.1

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.
Files changed (3) hide show
  1. package/README.md +77 -32
  2. package/dist/index.js +1 -1
  3. 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
- #### Deploy and orchestrate Claude Code agents as your teammates
9
+ #### A Karpathy-inspired team of humans and AI specialists, powered by Claude Code
9
10
 
10
11
  [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)
11
12
  [![npm](https://img.shields.io/npm/v/slackhive?color=cb3837&logo=npm&logoColor=white)](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
- 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.
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
- 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.
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 enterprise churn spiked Tuesday after the pricing change.
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 3 variants in Figma. Which direction do you want to take?
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 Boss finds the right specialist, delegates, and summarizes the result:
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 conversion funnel analysis for last week.
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 done!
54
- Boss: Conversions are up 12% WoW. The win was checkout 3× completion rate.
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 no Docker required
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 no external DB needed
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 Not Chatbots
150
+ ### 🤖 Real AI Agents - Not Chatbots
127
151
 
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.
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 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. |
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 raw values never touch the API or UI. |
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 daily reports, weekly digests, monitoring alerts posted to any Slack channel or DM. |
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 write access grants. No external auth provider needed. |
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 with level filters and search. |
159
- | 🧠 **Memory Viewer** | Browse, inspect, and delete agent memories by type feedback, user, project, reference. |
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 two Node.js processes │
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 create agents, edit skills, view logs, manage users |
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 stores agents, memories, skills, sessions, users, history. No external DB to install |
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 use whichever fits your setup:
226
+ Two options - use whichever fits your setup:
200
227
 
201
- **Option A API Key**
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 Claude Pro or Max Subscription**
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 the runner picks up credentials from the system keychain automatically. Best for individual developers.
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 connect agents to document stores
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 no external services required)
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) click **"Report a vulnerability"** on the Security tab. Please don't open public issues for security bugs. We respond within 48 hours.
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.3.0",
15581
+ version: "0.4.1",
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,6 +1,6 @@
1
1
  {
2
2
  "name": "slackhive",
3
- "version": "0.3.0",
3
+ "version": "0.4.1",
4
4
  "description": "CLI to install and manage SlackHive — AI agent teams on Slack",
5
5
  "bin": {
6
6
  "slackhive": "./dist/index.js"