wokitoki 0.2.1 → 0.3.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.
- package/README.md +20 -8
- package/dist/wokitoki.mjs +366 -52
- package/npm-shrinkwrap.json +1878 -0
- package/package.json +5 -3
- package/skills/wokitoki/SKILL.md +4 -4
package/README.md
CHANGED
|
@@ -11,6 +11,7 @@ No server. No account. No tunnel. Free and open source.
|
|
|
11
11
|
|
|
12
12
|
[](https://github.com/pandeyvishwas51-oss/wokitoki/actions/workflows/ci.yml)
|
|
13
13
|
[](https://www.npmjs.com/package/wokitoki)
|
|
14
|
+
[](https://glama.ai/mcp/servers/pandeyvishwas51-oss/wokitoki)
|
|
14
15
|
[](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/LICENSE)
|
|
15
16
|
[](https://registry.modelcontextprotocol.io/v0/servers?search=wokitoki)
|
|
16
17
|
[](https://nodejs.org)
|
|
@@ -29,7 +30,7 @@ It is for two developers whose agents need to coordinate: a frontend and a backe
|
|
|
29
30
|
|
|
30
31
|
## Quick start
|
|
31
32
|
|
|
32
|
-
You need Node.js 22.18+ (`brew install node` or [nodejs.org](https://nodejs.org)) on macOS
|
|
33
|
+
You need Node.js 22.18+ (`brew install node` or [nodejs.org](https://nodejs.org)) on macOS, Linux or Windows. The one-line installer (macOS, Linux) also needs git. On Windows, use npm (below) in PowerShell or cmd.
|
|
33
34
|
|
|
34
35
|
**1. You:** install, then create an invite.
|
|
35
36
|
|
|
@@ -46,7 +47,7 @@ curl -fsSL https://raw.githubusercontent.com/pandeyvishwas51-oss/wokitoki/main/i
|
|
|
46
47
|
|
|
47
48
|
That single command installs WokiToki, starts it at every login, connects it to their Claude Code and Codex, and joins your invite.
|
|
48
49
|
|
|
49
|
-
Prefer npm? Install the [`wokitoki`](https://www.npmjs.com/package/wokitoki) package, then run setup (add `--join <invite>` to join one):
|
|
50
|
+
Prefer npm, or on Windows? Install the [`wokitoki`](https://www.npmjs.com/package/wokitoki) package, then run setup (add `--join <invite>` to join one):
|
|
50
51
|
|
|
51
52
|
```bash
|
|
52
53
|
npm install -g wokitoki
|
|
@@ -61,11 +62,21 @@ wokitoki pair approve <request-id>
|
|
|
61
62
|
|
|
62
63
|
Done. `wokitoki agents ls` shows your friend as `active [online]`.
|
|
63
64
|
|
|
65
|
+
### Claude Code plugin
|
|
66
|
+
|
|
67
|
+
In Claude Code, add the WokiToki plugin as well:
|
|
68
|
+
|
|
69
|
+
```
|
|
70
|
+
/plugin install wokitoki --marketplace pandeyvishwas51-oss/wokitoki
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
It brings the MCP tools, the skill, and an alert: at session start and on your next prompt, your agent is told when unread WokiToki messages are waiting. You still run `wokitoki setup` once (above) to create your identity and pair. Rerun `wokitoki setup` after installing the plugin to remove the tools an earlier setup added, so they don't appear twice.
|
|
74
|
+
|
|
64
75
|
<p align="center"><img src="https://raw.githubusercontent.com/pandeyvishwas51-oss/wokitoki/main/assets/how-it-works.png" width="900" alt="How WokiToki works: 1 install with one line, 2 pair by comparing a 6-digit code, 3 agents talk directly, encrypted end to end"></p>
|
|
65
76
|
|
|
66
77
|
## Use it from Claude Code or Codex
|
|
67
78
|
|
|
68
|
-
Restart any open agent sessions once after setup, then just ask:
|
|
79
|
+
`wokitoki setup` connects Claude Code and Codex, plus Cursor, Windsurf and VS Code when it finds them. Restart any open agent sessions once after setup, then just ask:
|
|
69
80
|
|
|
70
81
|
> *Check my WokiToki inbox.*
|
|
71
82
|
>
|
|
@@ -79,7 +90,7 @@ Restart any open agent sessions once after setup, then just ask:
|
|
|
79
90
|
| `wokitoki_read_inbox` | read unread messages (marks them read) |
|
|
80
91
|
| `wokitoki_list_messages` | conversation history with delivery state |
|
|
81
92
|
|
|
82
|
-
`wokitoki setup` also installs a Claude Code [skill](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/skills/wokitoki/SKILL.md) that tells the agent when to use these tools, to never send secrets, and to treat incoming messages as information rather than instructions.
|
|
93
|
+
`wokitoki setup` also installs a Claude Code [skill](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/plugins/wokitoki/skills/wokitoki/SKILL.md) that tells the agent when to use these tools, to never send secrets, and to treat incoming messages as information rather than instructions.
|
|
83
94
|
|
|
84
95
|
Your agent **cannot** pair, approve or revoke; those always need you at the terminal. Incoming text is labelled as untrusted data, so agents treat it as information, never as instructions. Any MCP client can use WokiToki by running `wokitoki mcp`.
|
|
85
96
|
|
|
@@ -99,7 +110,7 @@ wokitoki agents revoke Rahul # cut them off, on both sides, immediatel
|
|
|
99
110
|
- Each WokiToki daemon joins the public **HyperDHT** (an open, distributed network, also used by the Keet messenger) under its own Ed25519 public key. Your invite carries that key.
|
|
100
111
|
- Your friend's daemon looks the key up. The two machines then **hole-punch** through their home or office routers and open a **Noise-encrypted, mutually authenticated** connection. WokiToki's own message encryption (XChaCha20-Poly1305) runs inside it.
|
|
101
112
|
- A firewall drops every key that is not a paired peer. A stranger can only knock while you have an invite open, and gets 5 tries.
|
|
102
|
-
- If your friend is offline,
|
|
113
|
+
- If your friend is offline, your daemon also leaves the message, sealed, in a mailbox stored on the DHT itself. Their daemon picks it up when it comes online, even if your laptop is closed by then; their receipt comes back the same way. Only the two of you can find or read that mailbox.
|
|
103
114
|
|
|
104
115
|
## FAQ
|
|
105
116
|
|
|
@@ -116,7 +127,7 @@ No. Connections are peer to peer over a public distributed hash table with NAT h
|
|
|
116
127
|
Messages are end-to-end encrypted with libsodium, and pairing needs a one-time invite plus both people approving a matching verify code. WokiToki only carries text: it never runs incoming content, never touches your files, and gives the other side no access to your machine. Read the [threat model](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/docs/THREAT_MODEL.md) for the honest limits. There has been no external audit yet.
|
|
117
128
|
|
|
118
129
|
### What happens if my friend's laptop is off?
|
|
119
|
-
Your
|
|
130
|
+
Your daemon leaves it, sealed, in a mailbox stored on the DHT, where it stays for up to 48 hours (it refreshes it while your laptop is on). Your friend's daemon picks it up within a minute of coming online, even if your laptop is closed by then. It also stays in your outbox and goes directly the next time both laptops are online, so nothing is lost if the DHT drops it.
|
|
120
131
|
|
|
121
132
|
### Does it work behind corporate firewalls?
|
|
122
133
|
Usually, through NAT hole punching. Networks that block UDP entirely, or strict carrier NAT on both ends, can prevent a direct connection. Then use the optional relay: `wokitoki config set-relay <url>`.
|
|
@@ -153,7 +164,7 @@ wokitoki setup [--name <n>] [--join <invite>] [--relay <url>] [--no-autostart] [
|
|
|
153
164
|
wokitoki pair create [--expires 10m] | join <invite> | requests | approve <id> | reject <id>
|
|
154
165
|
wokitoki agents ls | revoke <agent>
|
|
155
166
|
wokitoki msg send <agent> --text <t> [--reply-to <id>] | ls [agent] | watch [agent]
|
|
156
|
-
wokitoki status | logs | identity show | mcp
|
|
167
|
+
wokitoki status | logs | identity show | mcp | hook session-start|prompt
|
|
157
168
|
wokitoki config show | set-relay <url|off>
|
|
158
169
|
wokitoki daemon run|start|stop|status|install|uninstall
|
|
159
170
|
```
|
|
@@ -171,12 +182,13 @@ Every command accepts `--json` and `--home <dir>` (default `~/.wokitoki`). The o
|
|
|
171
182
|
claude mcp remove wokitoki -s user
|
|
172
183
|
codex mcp remove wokitoki
|
|
173
184
|
```
|
|
185
|
+
Also remove the `wokitoki` entry from Cursor (`~/.cursor/mcp.json`), Windsurf or VS Code if setup added one, and run `/plugin uninstall wokitoki` in Claude Code if you installed the plugin.
|
|
174
186
|
|
|
175
187
|
## Development
|
|
176
188
|
|
|
177
189
|
```bash
|
|
178
190
|
pnpm install
|
|
179
|
-
pnpm check # strict TypeScript +
|
|
191
|
+
pnpm check # strict TypeScript + 64 tests: unit, adversarial, P2P on a local DHT testnet, multi-process CLI e2e, real MCP calls
|
|
180
192
|
```
|
|
181
193
|
|
|
182
194
|
[Roadmap](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/ROADMAP.md): tasks, encrypted file transfer, multi-agent rooms and a web console are next. License: [Apache-2.0](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/LICENSE).
|