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 CHANGED
@@ -12,7 +12,7 @@
12
12
  [![npm downloads](https://img.shields.io/npm/dt/slackhive?color=cb3837&logo=npm&logoColor=white&label=installs)](https://www.npmjs.com/package/slackhive)
13
13
  [![Node.js](https://img.shields.io/badge/Node.js-≥20-339933?logo=node.js&logoColor=white)](https://nodejs.org)
14
14
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
15
- [![Docker](https://img.shields.io/badge/Docker-Compose-2496ed?logo=docker&logoColor=white)](https://docs.docker.com/compose)
15
+ [![SQLite](https://img.shields.io/badge/SQLite-embedded-003B57?logo=sqlite&logoColor=white)](https://sqlite.org)
16
16
  [![Documentation](https://img.shields.io/badge/docs-slackhive.mintlify.app-D97757?logo=gitbook&logoColor=white)](https://slackhive.mintlify.app)
17
17
  [![Security Audit](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml/badge.svg)](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 (Docker, Docker Compose, Git, Claude Code)
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. Start all services automatically
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 containers |
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:** [Docker](https://docs.docker.com/get-docker/) + [Docker Compose](https://docs.docker.com/compose/), Node.js 20
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=changeme
105
- POSTGRES_PASSWORD=slackhive
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
- docker compose up -d --build
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 Postgres, injected on next start. They don't forget. |
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
- Docker Compose
171
+ Local host — two Node.js processes
167
172
  │ │
168
- │ Web (Next.js) ──── Redis ────► Runner
169
-
170
- └──────── PostgreSQL ──────┘
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
- | **PostgreSQL** | Stores agents, memories, skills, sessions, users, history |
179
- | **Redis** | Delivers hot-reload events from Web to Runner instantly |
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 Postgres
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 # run on host machine, saves credentials to ~/.claude/
228
+ claude login # saves credentials to your system keychain / ~/.claude/
223
229
  ```
224
- Mount `~/.claude` into the runner container and leave `ANTHROPIC_API_KEY` unset. Best for individual developers.
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
- # Start infra
257
- docker compose up postgres redis -d
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
  [![npm downloads](https://img.shields.io/npm/dt/slackhive?color=cb3837&logo=npm&logoColor=white&label=installs)](https://www.npmjs.com/package/slackhive)
13
13
  [![Node.js](https://img.shields.io/badge/Node.js-≥20-339933?logo=node.js&logoColor=white)](https://nodejs.org)
14
14
  [![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178c6?logo=typescript&logoColor=white)](https://www.typescriptlang.org)
15
- [![Docker](https://img.shields.io/badge/Docker-Compose-2496ed?logo=docker&logoColor=white)](https://docs.docker.com/compose)
15
+ [![SQLite](https://img.shields.io/badge/SQLite-embedded-003B57?logo=sqlite&logoColor=white)](https://sqlite.org)
16
16
  [![Documentation](https://img.shields.io/badge/docs-slackhive.mintlify.app-D97757?logo=gitbook&logoColor=white)](https://slackhive.mintlify.app)
17
17
  [![Security Audit](https://github.com/pelago-labs/slackhive/actions/workflows/audit.yml/badge.svg)](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 (Docker, Docker Compose, Git, Claude Code)
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. Start all services automatically
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 containers |
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:** [Docker](https://docs.docker.com/get-docker/) + [Docker Compose](https://docs.docker.com/compose/), Node.js 20
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=changeme
105
- POSTGRES_PASSWORD=slackhive
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
- docker compose up -d --build
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 Postgres, injected on next start. They don't forget. |
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
- Docker Compose
170
+ Local host — two Node.js processes
166
171
  │ │
167
- │ Web (Next.js) ──── Redis ────► Runner
168
-
169
- └──────── PostgreSQL ──────┘
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
- | **PostgreSQL** | Stores agents, memories, skills, sessions, users, history |
178
- | **Redis** | Delivers hot-reload events from Web to Runner instantly |
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 Postgres
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 # run on host machine, saves credentials to ~/.claude/
209
+ claude login # saves credentials to your system keychain / ~/.claude/
204
210
  ```
205
- Mount `~/.claude` into the runner container and leave `ANTHROPIC_API_KEY` unset. Best for individual developers.
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
- # Start infra
238
- docker compose up postgres redis -d
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.