dorkos 0.7.0 → 0.8.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 +72 -36
- package/dist/bin/cli.js +13 -8
- package/dist/client/assets/{TopologyGraph-DUHOb6MC.js → TopologyGraph-D65Lt4Vo.js} +19 -24
- package/dist/client/assets/{highlighted-body-B3W2YXNL-D-c41b3T.js → highlighted-body-B3W2YXNL-DcEPgIeH.js} +1 -1
- package/dist/client/assets/index-Bon8CAXQ.js +785 -0
- package/dist/client/assets/index-BxyaGcj3.css +1 -0
- package/dist/client/index.html +2 -2
- package/dist/drizzle/0005_heavy_ultimo.sql +1 -0
- package/dist/drizzle/meta/0005_snapshot.json +660 -0
- package/dist/drizzle/meta/_journal.json +7 -0
- package/dist/server/index.js +2361 -1603
- package/dist/server/index.js.map +4 -4
- package/package.json +1 -1
- package/dist/client/assets/index-lIzhHlx_.js +0 -724
- package/dist/client/assets/index-pIOn2ZAY.css +0 -1
package/README.md
CHANGED
|
@@ -1,68 +1,97 @@
|
|
|
1
1
|
# dorkos
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/dorkos)
|
|
4
|
+
[](https://github.com/dork-labs/dorkos/actions/workflows/cli-smoke-test.yml)
|
|
4
5
|
[](https://github.com/dork-labs/dorkos/blob/main/LICENSE)
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
The operating system for autonomous AI agents. Scheduling, messaging, agent discovery, and a browser-based command center — so one person can ship like a team.
|
|
7
8
|
|
|
8
|
-
##
|
|
9
|
-
|
|
10
|
-
DorkOS provides a browser-based chat UI for interacting with Claude Code sessions. It includes tool approval flows, slash command discovery, cross-client session sync, and a full REST/SSE API — all powered by the Claude Agent SDK.
|
|
11
|
-
|
|
12
|
-
## Installation
|
|
9
|
+
## Install
|
|
13
10
|
|
|
14
11
|
```bash
|
|
15
12
|
npm install -g dorkos
|
|
16
13
|
```
|
|
17
14
|
|
|
18
|
-
##
|
|
15
|
+
## Quick Start
|
|
19
16
|
|
|
20
17
|
```bash
|
|
18
|
+
export ANTHROPIC_API_KEY=your-key-here
|
|
21
19
|
dorkos
|
|
22
20
|
```
|
|
23
21
|
|
|
24
|
-
|
|
22
|
+
Your browser opens. You're looking at every Claude Code session across all your projects — sessions you started from the CLI, from VS Code, from anywhere. One place. Every session. Already there.
|
|
25
23
|
|
|
26
|
-
##
|
|
24
|
+
## What DorkOS Does
|
|
27
25
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
26
|
+
DorkOS gives your AI agents what they're missing: scheduling, communication, coordination, and a unified interface. The intelligence comes from the agents. Everything else comes from DorkOS.
|
|
27
|
+
|
|
28
|
+
### Pulse — Scheduling
|
|
29
|
+
|
|
30
|
+
Cron-based agent execution, independent of your IDE or terminal. Your agents ship code, triage issues, and run audits on schedule. You wake up to completed pull requests.
|
|
31
|
+
|
|
32
|
+
- Overrun protection prevents duplicate runs
|
|
33
|
+
- Isolated sessions per run with full history
|
|
34
|
+
- Configurable concurrency limits
|
|
35
|
+
- Approval gates for agent-created schedules
|
|
36
|
+
|
|
37
|
+
### Relay — Communication
|
|
38
|
+
|
|
39
|
+
Built-in messaging between your agents and the channels you already use. Telegram, webhooks, browser — agents send notifications to where you are. Agents can also message each other across project boundaries.
|
|
40
|
+
|
|
41
|
+
- Telegram and webhook adapters built in
|
|
42
|
+
- Plugin system for adding new channels
|
|
43
|
+
- Messages persist even when terminals close
|
|
31
44
|
|
|
32
|
-
|
|
45
|
+
### Mesh — Agent Discovery
|
|
46
|
+
|
|
47
|
+
Scans your projects and finds agent-capable directories automatically. You approve which agents join the network. They coordinate through governed channels.
|
|
48
|
+
|
|
49
|
+
- Pluggable discovery strategies (Claude Code, Cursor, Codex)
|
|
50
|
+
- `.dork/agent.json` identity manifests
|
|
51
|
+
- Network topology with namespace isolation
|
|
52
|
+
- Access control rules enforced by Relay
|
|
53
|
+
|
|
54
|
+
### Console — Browser UI
|
|
55
|
+
|
|
56
|
+
Chat with agents in rich markdown. Approve or deny tool calls. Browse and resume sessions across devices. Real-time sync across multiple clients.
|
|
57
|
+
|
|
58
|
+
## CLI Reference
|
|
33
59
|
|
|
34
60
|
```bash
|
|
35
|
-
dorkos
|
|
61
|
+
dorkos # Start the server
|
|
62
|
+
dorkos --port 8080 # Custom port
|
|
63
|
+
dorkos --dir ~/projects # Custom working directory
|
|
64
|
+
dorkos --tunnel # Enable remote access via ngrok
|
|
65
|
+
dorkos config # Show all settings
|
|
66
|
+
dorkos config set <key> <val> # Update a setting
|
|
67
|
+
dorkos init # Interactive setup wizard
|
|
68
|
+
dorkos init --yes # Accept all defaults
|
|
36
69
|
```
|
|
37
70
|
|
|
38
|
-
|
|
71
|
+
### Flags
|
|
39
72
|
|
|
40
73
|
| Flag | Description |
|
|
41
74
|
|---|---|
|
|
42
75
|
| `-p, --port <port>` | Port to listen on (default: 4242) |
|
|
43
|
-
| `-d, --dir <path>` | Working directory
|
|
76
|
+
| `-d, --dir <path>` | Working directory |
|
|
44
77
|
| `-b, --boundary <path>` | Directory boundary (default: home directory) |
|
|
45
|
-
| `-t, --tunnel` | Enable ngrok tunnel |
|
|
78
|
+
| `-t, --tunnel` | Enable ngrok tunnel for remote access |
|
|
46
79
|
| `-l, --log-level <level>` | Log level (`fatal`, `error`, `warn`, `info`, `debug`, `trace`) |
|
|
47
|
-
| `-h, --help` | Show help message |
|
|
48
|
-
| `-v, --version` | Show version number |
|
|
49
80
|
|
|
50
|
-
|
|
81
|
+
### Config Subcommands
|
|
51
82
|
|
|
52
83
|
| Command | Description |
|
|
53
84
|
|---|---|
|
|
54
85
|
| `dorkos config` | Show all effective settings |
|
|
55
|
-
| `dorkos config get <key>` | Get a single
|
|
56
|
-
| `dorkos config set <key> <value>` | Set a single
|
|
86
|
+
| `dorkos config get <key>` | Get a single value |
|
|
87
|
+
| `dorkos config set <key> <value>` | Set a single value |
|
|
57
88
|
| `dorkos config list` | Full JSON output |
|
|
58
89
|
| `dorkos config reset [key]` | Reset to defaults |
|
|
59
|
-
| `dorkos config edit` | Open
|
|
90
|
+
| `dorkos config edit` | Open in `$EDITOR` |
|
|
60
91
|
| `dorkos config path` | Print config file location |
|
|
61
|
-
| `dorkos config validate` | Check
|
|
62
|
-
| `dorkos init` | Interactive setup wizard |
|
|
63
|
-
| `dorkos init --yes` | Accept all defaults |
|
|
92
|
+
| `dorkos config validate` | Check validity |
|
|
64
93
|
|
|
65
|
-
##
|
|
94
|
+
## Environment Variables
|
|
66
95
|
|
|
67
96
|
### Required
|
|
68
97
|
|
|
@@ -75,13 +104,12 @@ dorkos --version
|
|
|
75
104
|
| Variable | Default | Description |
|
|
76
105
|
|---|---|---|
|
|
77
106
|
| `DORKOS_PORT` | `4242` | Server port |
|
|
107
|
+
| `DORKOS_HOST` | `localhost` | Server host (use `0.0.0.0` for Docker) |
|
|
78
108
|
| `DORKOS_DEFAULT_CWD` | Current directory | Default working directory for sessions |
|
|
79
|
-
| `DORKOS_BOUNDARY` | Home directory | Directory boundary root
|
|
80
|
-
| `LOG_LEVEL` | `info` | Log verbosity
|
|
109
|
+
| `DORKOS_BOUNDARY` | Home directory | Directory boundary root |
|
|
110
|
+
| `LOG_LEVEL` | `info` | Log verbosity |
|
|
81
111
|
|
|
82
|
-
###
|
|
83
|
-
|
|
84
|
-
DorkOS supports ngrok tunnels for remote access:
|
|
112
|
+
### Remote Access
|
|
85
113
|
|
|
86
114
|
| Variable | Description |
|
|
87
115
|
|---|---|
|
|
@@ -90,15 +118,23 @@ DorkOS supports ngrok tunnels for remote access:
|
|
|
90
118
|
| `TUNNEL_DOMAIN` | Custom tunnel domain (optional) |
|
|
91
119
|
| `TUNNEL_AUTH` | Basic auth in `user:pass` format (optional) |
|
|
92
120
|
|
|
93
|
-
##
|
|
121
|
+
## Docker
|
|
94
122
|
|
|
95
|
-
|
|
123
|
+
```bash
|
|
124
|
+
docker build -f Dockerfile.run --build-arg INSTALL_MODE=npm -t dorkos .
|
|
125
|
+
docker run --rm -p 4242:4242 \
|
|
126
|
+
-e ANTHROPIC_API_KEY=your-key-here \
|
|
127
|
+
-e DORKOS_HOST=0.0.0.0 \
|
|
128
|
+
dorkos
|
|
129
|
+
```
|
|
96
130
|
|
|
97
131
|
## API Documentation
|
|
98
132
|
|
|
99
|
-
|
|
133
|
+
Interactive API docs at `/api/docs` (Scalar UI) and raw OpenAPI spec at `/api/openapi.json`.
|
|
134
|
+
|
|
135
|
+
## Open Source
|
|
100
136
|
|
|
101
|
-
|
|
137
|
+
MIT-licensed. Runs on your machine. Your agents, your data, your rules.
|
|
102
138
|
|
|
103
139
|
- [Documentation](https://dorkos.ai/docs)
|
|
104
140
|
- [Changelog](https://dorkos.ai/docs/changelog)
|
package/dist/bin/cli.js
CHANGED
|
@@ -14402,15 +14402,20 @@ var init_config_schema = __esm({
|
|
|
14402
14402
|
retentionCount: 100
|
|
14403
14403
|
})),
|
|
14404
14404
|
mesh: external_exports.object({
|
|
14405
|
-
enabled: external_exports.boolean().default(true),
|
|
14406
14405
|
scanRoots: external_exports.array(external_exports.string()).default(() => [])
|
|
14407
|
-
}).default(() => ({
|
|
14406
|
+
}).default(() => ({ scanRoots: [] })),
|
|
14408
14407
|
onboarding: OnboardingStateSchema.default(() => ({
|
|
14409
14408
|
completedSteps: [],
|
|
14410
14409
|
skippedSteps: [],
|
|
14411
14410
|
startedAt: null,
|
|
14412
14411
|
dismissedAt: null
|
|
14413
|
-
}))
|
|
14412
|
+
})),
|
|
14413
|
+
agentContext: external_exports.object({
|
|
14414
|
+
relayTools: external_exports.boolean().default(true),
|
|
14415
|
+
meshTools: external_exports.boolean().default(true),
|
|
14416
|
+
adapterTools: external_exports.boolean().default(true),
|
|
14417
|
+
pulseTools: external_exports.boolean().default(true)
|
|
14418
|
+
}).default(() => ({ relayTools: true, meshTools: true, adapterTools: true, pulseTools: true }))
|
|
14414
14419
|
});
|
|
14415
14420
|
LOG_LEVEL_MAP = {
|
|
14416
14421
|
fatal: 0,
|
|
@@ -17972,12 +17977,12 @@ Examples:
|
|
|
17972
17977
|
process.exit(0);
|
|
17973
17978
|
}
|
|
17974
17979
|
if (values.version) {
|
|
17975
|
-
console.log("0.
|
|
17980
|
+
console.log("0.8.0");
|
|
17976
17981
|
process.exit(0);
|
|
17977
17982
|
}
|
|
17978
17983
|
if (values["post-install-check"]) {
|
|
17979
17984
|
checkClaude();
|
|
17980
|
-
console.log(`dorkos ${"0.
|
|
17985
|
+
console.log(`dorkos ${"0.8.0"}`);
|
|
17981
17986
|
console.log("Installation verified.");
|
|
17982
17987
|
process.exit(0);
|
|
17983
17988
|
}
|
|
@@ -18078,7 +18083,7 @@ if (fs3.existsSync(envPath)) {
|
|
|
18078
18083
|
await import("../server/index.js");
|
|
18079
18084
|
var port = process.env.DORKOS_PORT || String(DEFAULT_PORT);
|
|
18080
18085
|
console.log("");
|
|
18081
|
-
console.log(` DorkOS v${"0.
|
|
18086
|
+
console.log(` DorkOS v${"0.8.0"}`);
|
|
18082
18087
|
console.log(` Local: http://localhost:${port}`);
|
|
18083
18088
|
var nets = networkInterfaces();
|
|
18084
18089
|
var networkUrl = null;
|
|
@@ -18134,9 +18139,9 @@ console.log("");
|
|
|
18134
18139
|
}
|
|
18135
18140
|
});
|
|
18136
18141
|
}
|
|
18137
|
-
checkForUpdate("0.
|
|
18142
|
+
checkForUpdate("0.8.0").then((latestVersion) => {
|
|
18138
18143
|
if (latestVersion) {
|
|
18139
|
-
const msg = `Update available: ${"0.
|
|
18144
|
+
const msg = `Update available: ${"0.8.0"} \u2192 ${latestVersion}`;
|
|
18140
18145
|
const cmd = "Run npm install -g dorkos@latest to update";
|
|
18141
18146
|
const width = Math.max(msg.length, cmd.length) + 6;
|
|
18142
18147
|
const pad = (s2) => `\u2502 ${s2}${" ".repeat(width - s2.length - 6)} \u2502`;
|