wokitoki 0.2.0 → 0.2.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 +12 -4
- package/dist/wokitoki.mjs +4 -4
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -10,8 +10,9 @@ Your Claude Code talks to your friend's Claude Code (or Codex), directly, peer t
|
|
|
10
10
|
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
|
+
[](https://www.npmjs.com/package/wokitoki)
|
|
13
14
|
[](https://github.com/pandeyvishwas51-oss/wokitoki/blob/main/LICENSE)
|
|
14
|
-
[](https://registry.modelcontextprotocol.io/v0/servers?search=wokitoki)
|
|
15
16
|
[](https://nodejs.org)
|
|
16
17
|
|
|
17
18
|
**[▶ Watch the 1-minute demo (sound on)](https://pandeyvishwas51-oss.github.io/wokitoki/#demo)**
|
|
@@ -28,7 +29,7 @@ It is for two developers whose agents need to coordinate: a frontend and a backe
|
|
|
28
29
|
|
|
29
30
|
## Quick start
|
|
30
31
|
|
|
31
|
-
You need Node.js 22.18+ (`brew install node` or [nodejs.org](https://nodejs.org))
|
|
32
|
+
You need Node.js 22.18+ (`brew install node` or [nodejs.org](https://nodejs.org)) on macOS or Linux (on Windows, use WSL). The one-line installer also needs git.
|
|
32
33
|
|
|
33
34
|
**1. You:** install, then create an invite.
|
|
34
35
|
|
|
@@ -45,6 +46,13 @@ curl -fsSL https://raw.githubusercontent.com/pandeyvishwas51-oss/wokitoki/main/i
|
|
|
45
46
|
|
|
46
47
|
That single command installs WokiToki, starts it at every login, connects it to their Claude Code and Codex, and joins your invite.
|
|
47
48
|
|
|
49
|
+
Prefer npm? Install the [`wokitoki`](https://www.npmjs.com/package/wokitoki) package, then run setup (add `--join <invite>` to join one):
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
npm install -g wokitoki
|
|
53
|
+
wokitoki setup --name "Rahul"
|
|
54
|
+
```
|
|
55
|
+
|
|
48
56
|
**3. Both of you:** compare the 6-digit verify code on a call. Approve only if the codes match.
|
|
49
57
|
|
|
50
58
|
```bash
|
|
@@ -155,11 +163,11 @@ Every command accepts `--json` and `--home <dir>` (default `~/.wokitoki`). The o
|
|
|
155
163
|
## Daily use
|
|
156
164
|
|
|
157
165
|
- **After a reboot:** nothing to do; the daemon starts at login. Check with `wokitoki status`.
|
|
158
|
-
- **Update:** rerun the install one-liner, then `wokitoki daemon stop && wokitoki daemon start`.
|
|
166
|
+
- **Update:** rerun the install one-liner (or `npm install -g wokitoki@latest`), then `wokitoki daemon stop && wokitoki daemon start`.
|
|
159
167
|
- **Uninstall:**
|
|
160
168
|
```bash
|
|
161
169
|
wokitoki daemon uninstall
|
|
162
|
-
rm -rf ~/.wokitoki ~/.wokitoki-src ~/.local/bin/wokitoki ~/.local/bin/agentmesh
|
|
170
|
+
rm -rf ~/.wokitoki ~/.wokitoki-src ~/.local/bin/wokitoki ~/.local/bin/agentmesh # or, if installed with npm: npm uninstall -g wokitoki
|
|
163
171
|
claude mcp remove wokitoki -s user
|
|
164
172
|
codex mcp remove wokitoki
|
|
165
173
|
```
|
package/dist/wokitoki.mjs
CHANGED
|
@@ -306,7 +306,7 @@ function initHome(home, config2) {
|
|
|
306
306
|
}
|
|
307
307
|
function loadHome(home) {
|
|
308
308
|
const p = homePaths(home);
|
|
309
|
-
if (!existsSync2(p.identity)) throw new Error(`not
|
|
309
|
+
if (!existsSync2(p.identity)) throw new Error(`not set up: run \`wokitoki setup --name "<your name>"\` (home: ${home})`);
|
|
310
310
|
if (process.platform !== "win32" && (statSync(p.identity).mode & 63) !== 0) {
|
|
311
311
|
throw new Error(`refusing to use ${p.identity}: permissions too open (run: chmod 600 ${p.identity})`);
|
|
312
312
|
}
|
|
@@ -1678,7 +1678,7 @@ function createMcpServer(socketPath, version) {
|
|
|
1678
1678
|
"wokitoki_get_status",
|
|
1679
1679
|
{
|
|
1680
1680
|
title: "WokiToki status",
|
|
1681
|
-
description: "Show this WokiToki identity,
|
|
1681
|
+
description: "Show this WokiToki identity, network connection state (peer-to-peer or relay), pending outbox size and peer counts.",
|
|
1682
1682
|
annotations: { readOnlyHint: true, openWorldHint: false }
|
|
1683
1683
|
},
|
|
1684
1684
|
() => guard(async () => ok(await daemon2("GET", "/status")))
|
|
@@ -2056,7 +2056,7 @@ d.command("stop").description("stop the daemon").action(
|
|
|
2056
2056
|
console.log("wokitoki daemon stopped");
|
|
2057
2057
|
})
|
|
2058
2058
|
);
|
|
2059
|
-
d.command("status").description("show daemon and
|
|
2059
|
+
d.command("status").description("show daemon and network connection status").action(showStatus);
|
|
2060
2060
|
d.command("install").description("start the daemon automatically at login (launchd on macOS, systemd --user on Linux)").action(
|
|
2061
2061
|
run(async () => {
|
|
2062
2062
|
const path = await enableAutostart();
|
|
@@ -2077,7 +2077,7 @@ async function enableAutostart() {
|
|
|
2077
2077
|
for (let i = 0; i < 100 && !await callDaemon(socket, "GET", "/status").then(() => true, () => false); i++) await new Promise((r) => setTimeout(r, 100));
|
|
2078
2078
|
return path;
|
|
2079
2079
|
}
|
|
2080
|
-
program.command("status").description("show daemon and
|
|
2080
|
+
program.command("status").description("show daemon and network connection status").action(showStatus);
|
|
2081
2081
|
async function ensureDaemon() {
|
|
2082
2082
|
await startDaemonInBackground(2e4);
|
|
2083
2083
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "wokitoki",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Walkie-talkies for AI coding agents: Claude Code and Codex message each other peer to peer, end-to-end encrypted, via MCP. No server, no account.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Vishwas Pandey",
|