@dsiloed/silo-link 1.0.0 → 1.0.3
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 +27 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
SiloLink is a local daemon that connects Claude Code sessions to [DSiloed](https://www.dsiloed.com) conversations. It provides an MCP server that Claude Code connects to, and maintains a real-time WebSocket connection to DSiloed via ActionCable. Messages flow bidirectionally — you can launch, monitor, interact with, and command Claude Code sessions from the DSiloed web UI, Slack, SMS, or Discord.
|
|
4
4
|
|
|
5
|
+
**[See it in action — Interactive Demo](https://www.dsiloed.com/apps/silolink-demo)** | **[Documentation](https://www.dsiloed.com/apps/apiguide/index.html#silolink)**
|
|
6
|
+
|
|
5
7
|
```
|
|
6
8
|
┌──────────────────────┐
|
|
7
9
|
│ DSiloed Server │
|
|
@@ -26,21 +28,15 @@ Claude Code (tmux) ──MCP──► :3579 ──REST API──► ├─
|
|
|
26
28
|
- **Agent Dashboard** — active sessions appear in Mission Control with real-time status
|
|
27
29
|
- **Control Channel** — launch/stop/status commands via ActionCable from the UI
|
|
28
30
|
- **Channel linking** — command Claude from Slack, Discord, Teams, or SMS
|
|
31
|
+
- **Session continuity** — `remote_load_context` restores prior conversation history on session restart
|
|
29
32
|
|
|
30
33
|
## Installation
|
|
31
34
|
|
|
32
35
|
```bash
|
|
33
|
-
|
|
34
|
-
cd silo_link
|
|
35
|
-
pnpm install
|
|
36
|
-
pnpm build
|
|
36
|
+
npm install -g @dsiloed/silo-link
|
|
37
37
|
```
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
pnpm link --global
|
|
43
|
-
```
|
|
39
|
+
This installs the `silolink` CLI globally.
|
|
44
40
|
|
|
45
41
|
## Configuration
|
|
46
42
|
|
|
@@ -172,6 +168,7 @@ tmux attach -t silolink-claude-1774363497579
|
|
|
172
168
|
| Tool | Description | Blocking |
|
|
173
169
|
|------|-------------|----------|
|
|
174
170
|
| `remote_register` | Register session, create/attach conversation | No |
|
|
171
|
+
| `remote_load_context` | Load prior conversation history for session continuity | No |
|
|
175
172
|
| `remote_notify` | Fire-and-forget message | No |
|
|
176
173
|
| `remote_ask` | Post question, wait for reply | Yes |
|
|
177
174
|
| `remote_poll` | Non-blocking check for next message (**recommended**) | No |
|
|
@@ -189,6 +186,15 @@ Output: { session_id, conversation_id, conversation_url }
|
|
|
189
186
|
|
|
190
187
|
When `conversation_id` is provided, attaches to that existing conversation (used by auto-launcher).
|
|
191
188
|
|
|
189
|
+
### remote_load_context
|
|
190
|
+
|
|
191
|
+
```
|
|
192
|
+
Input: { conversation_id?: 109, limit?: 50 }
|
|
193
|
+
Output: { success: true, conversation_id, resume_id, message_count, history: [...] }
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
Fetches prior conversation history and the last `claude_resume_id` from agent session metadata. Call after `remote_register` when attaching to an existing conversation to restore session continuity.
|
|
197
|
+
|
|
192
198
|
### remote_poll (Recommended)
|
|
193
199
|
|
|
194
200
|
```
|
|
@@ -244,13 +250,15 @@ When the SiloLink MCP server is connected:
|
|
|
244
250
|
|
|
245
251
|
1. Register with `remote_register({ session_name: "<name>" })`.
|
|
246
252
|
If a conversation_id is provided, pass it too.
|
|
247
|
-
2.
|
|
248
|
-
|
|
249
|
-
|
|
253
|
+
2. **Session Continuity**: If you registered with an existing conversation_id,
|
|
254
|
+
call `remote_load_context()` to load prior conversation history.
|
|
255
|
+
3. ALL communication MUST go through SiloLink — never write to terminal.
|
|
256
|
+
4. Send progress updates with `remote_notify()`.
|
|
257
|
+
5. When idle, use the poll loop:
|
|
250
258
|
- Call `remote_poll()` — returns instantly
|
|
251
259
|
- If `{ pending: true }`: sleep 3s, poll again
|
|
252
260
|
- If message received: process it, notify result, resume
|
|
253
|
-
|
|
261
|
+
6. Use `remote_ask()` for questions needing immediate reply.
|
|
254
262
|
```
|
|
255
263
|
|
|
256
264
|
### Poll Loop Pattern
|
|
@@ -259,6 +267,10 @@ When the SiloLink MCP server is connected:
|
|
|
259
267
|
// Register (use conversation_id if provided in launch prompt)
|
|
260
268
|
remote_register({ session_name: "portablemind", conversation_id: 123 })
|
|
261
269
|
|
|
270
|
+
// If attaching to existing conversation, load prior context
|
|
271
|
+
context = remote_load_context()
|
|
272
|
+
// Review context.history to understand what was discussed
|
|
273
|
+
|
|
262
274
|
// Poll loop
|
|
263
275
|
while (idle) {
|
|
264
276
|
result = remote_poll()
|
|
@@ -340,11 +352,11 @@ src/
|
|
|
340
352
|
mcp/
|
|
341
353
|
server.ts # MCP server (Streamable HTTP on Express)
|
|
342
354
|
tools/
|
|
343
|
-
register-tools.ts # All
|
|
355
|
+
register-tools.ts # All 9 MCP tool definitions
|
|
344
356
|
types/
|
|
345
357
|
index.ts # Shared TypeScript interfaces
|
|
346
358
|
```
|
|
347
359
|
|
|
348
360
|
## License
|
|
349
361
|
|
|
350
|
-
|
|
362
|
+
MIT
|