@oatelauser/crosschat 1.5.3 → 1.5.5
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/CHANGELOG.md +45 -0
- package/README.md +8 -9
- package/dist/cli.js +104 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands/doctor.js +2 -2
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/send.js +85 -42
- package/dist/commands/send.js.map +1 -1
- package/dist/commands/serve.js +68 -52
- package/dist/commands/serve.js.map +1 -1
- package/dist/commands/status.js +188 -68
- package/dist/commands/status.js.map +1 -1
- package/dist/envelope.js +7 -8
- package/dist/envelope.js.map +1 -1
- package/dist/platform/machine-id.js +8 -0
- package/dist/platform/machine-id.js.map +1 -1
- package/dist/resolve.js +19 -0
- package/dist/resolve.js.map +1 -1
- package/dist/serve/broker.js +124 -27
- package/dist/serve/broker.js.map +1 -1
- package/dist/serve/node.js +127 -36
- package/dist/serve/node.js.map +1 -1
- package/dist/serve/protocol.js +2 -0
- package/dist/serve/protocol.js.map +1 -1
- package/dist/serve/registry.js +41 -3
- package/dist/serve/registry.js.map +1 -1
- package/dist/serve/via-tcp.js +106 -21
- package/dist/serve/via-tcp.js.map +1 -1
- package/package.json +1 -1
- package/skills/crosschat/SKILL.md +14 -7
package/dist/serve/via-tcp.js
CHANGED
|
@@ -5,17 +5,20 @@
|
|
|
5
5
|
* 分支同款。文件走 file-begin/chunk/end 分块流(256KiB/块,64MiB 上限)。
|
|
6
6
|
*/
|
|
7
7
|
import { randomUUID } from 'node:crypto';
|
|
8
|
-
import { hostname as osHostname } from 'node:os';
|
|
8
|
+
import { hostname as osHostname, tmpdir as osTmpdir } from 'node:os';
|
|
9
9
|
import { join } from 'node:path';
|
|
10
|
+
import { rmSync, writeFileSync } from 'node:fs';
|
|
11
|
+
import { Buffer } from 'node:buffer';
|
|
10
12
|
import { WebSocket } from 'ws';
|
|
11
13
|
import { MultichatError } from '../errors.js';
|
|
12
14
|
import { encodeOrigin, originDisplayName } from '../federation.js';
|
|
13
15
|
import { identityKey, resolveCallerIdentity } from '../identity.js';
|
|
14
16
|
import { recordConversation } from '../conversations.js';
|
|
15
17
|
import { decodeRef } from '../ref.js';
|
|
18
|
+
import { CODEX_ENDPOINT_MAX_BODY_BYTES } from '../limits.js';
|
|
16
19
|
import { encodeFrame, ERR, MAX_PAYLOAD_BYTES, parseFrame, PROTOCOL_VERSION } from './protocol.js';
|
|
17
20
|
import { defaultBaseDir, tcpDir } from './registry.js';
|
|
18
|
-
import { readNodeConfig } from './node.js';
|
|
21
|
+
import { formatBrokerEntry, readNodeConfig } from './node.js';
|
|
19
22
|
import { FILE_CHUNK_BYTES, FILE_MAX_BYTES, readFileForSend } from './file-channel.js';
|
|
20
23
|
/** 发起侧记账:与 runViaSend(ssh 腿)同款字段——tcp/ssh 两形态共用此 helper。 */
|
|
21
24
|
export function makeViaLogger(deps, caller) {
|
|
@@ -146,24 +149,24 @@ class SenderConn {
|
|
|
146
149
|
}
|
|
147
150
|
/**
|
|
148
151
|
* B1 多星条目选择(纯函数,send 与 --file 共用一条 conn,在此一次选定):
|
|
149
|
-
* a. `tcp
|
|
150
|
-
* starId
|
|
152
|
+
* a. `tcp:<选择器>:<目标>`:选择器先按条目星名(name)精确匹配,无命中再按
|
|
153
|
+
* starId 前缀唯一匹配(多命中教加长,零命中列全部条目 cloud(6b76e1) 式);
|
|
151
154
|
* b. 裸 `tcp:<目标>` 且带 --conversation:按 ref.starId 精确匹配(无匹配教
|
|
152
155
|
* 核对配置/索取);ref 无 starId 或解不开则落到 c/d(单条目行为不变);
|
|
153
156
|
* c. 裸且仅 1 条 → 用它(B0 前的今日行为);
|
|
154
|
-
* d. 裸且多条 → 教学报错:列出
|
|
157
|
+
* d. 裸且多条 → 教学报错:列出 星名(starId前缀),示例 `--via tcp:<星名>:<目标>`。
|
|
155
158
|
*/
|
|
156
159
|
export function selectBrokerEntry(entries, selector, conversation) {
|
|
157
|
-
const listEntries = () => entries.map(
|
|
160
|
+
const listEntries = () => entries.map(formatBrokerEntry).join('、');
|
|
158
161
|
if (selector !== undefined) {
|
|
159
|
-
const
|
|
160
|
-
if (
|
|
161
|
-
return
|
|
162
|
+
const byName = entries.find((e) => e.name === selector);
|
|
163
|
+
if (byName !== undefined)
|
|
164
|
+
return byName;
|
|
162
165
|
const byPrefix = entries.filter((e) => e.starId !== undefined && e.starId.startsWith(selector));
|
|
163
166
|
if (byPrefix.length === 1)
|
|
164
167
|
return byPrefix[0];
|
|
165
168
|
if (byPrefix.length > 1) {
|
|
166
|
-
throw new MultichatError('USAGE', `--via 选择器 ${selector} 的 starId 前缀命中多个星(${byPrefix.map(
|
|
169
|
+
throw new MultichatError('USAGE', `--via 选择器 ${selector} 的 starId 前缀命中多个星(${byPrefix.map(formatBrokerEntry).join('、')})——加长前缀使其唯一`);
|
|
167
170
|
}
|
|
168
171
|
throw new MultichatError('USAGE', `--via 选择器 ${selector} 不匹配任何条目——本机 node.json 现有:${listEntries()}`);
|
|
169
172
|
}
|
|
@@ -185,17 +188,23 @@ export function selectBrokerEntry(entries, selector, conversation) {
|
|
|
185
188
|
}
|
|
186
189
|
if (entries.length === 1)
|
|
187
190
|
return entries[0];
|
|
188
|
-
throw new MultichatError('USAGE', `本机 node.json 有 ${entries.length} 个 broker 条目,裸 tcp:<目标> 无法选择——现有:${listEntries()};示例:--via tcp:${entries[0].
|
|
191
|
+
throw new MultichatError('USAGE', `本机 node.json 有 ${entries.length} 个 broker 条目,裸 tcp:<目标> 无法选择——现有:${listEntries()};示例:--via tcp:${entries[0].name ?? entries[0].starId}:<目标>`);
|
|
192
|
+
}
|
|
193
|
+
/** B1 `tcp:<选择器>:<目标>` 拆解(send 与 status --via tcp: 同一函数族共用)。 */
|
|
194
|
+
export function parseTcpViaSpec(via) {
|
|
195
|
+
const viaRest = via.slice(4);
|
|
196
|
+
const sep = viaRest.indexOf(':');
|
|
197
|
+
return {
|
|
198
|
+
selector: sep > 0 ? viaRest.slice(0, sep) : undefined,
|
|
199
|
+
target: sep > 0 ? viaRest.slice(sep + 1) : viaRest,
|
|
200
|
+
};
|
|
189
201
|
}
|
|
190
202
|
/** via 分支入口(send.ts 在 ssh 分流前调用)。body 在 --file 无 --body 时可为 undefined。 */
|
|
191
203
|
export async function runViaTcpSend(args, body, deps) {
|
|
192
|
-
// B1:`tcp:<选择器>:<目标>`——第一个':'
|
|
193
|
-
const
|
|
194
|
-
const sep = viaRest.indexOf(':');
|
|
195
|
-
const selector = sep > 0 ? viaRest.slice(0, sep) : undefined;
|
|
196
|
-
const target = sep > 0 ? viaRest.slice(sep + 1) : viaRest;
|
|
204
|
+
// B1:`tcp:<选择器>:<目标>`——第一个':'前是选择器(星名/starId 前缀),其余是目标
|
|
205
|
+
const { selector, target } = parseTcpViaSpec(args.via);
|
|
197
206
|
if (target === '') {
|
|
198
|
-
throw new MultichatError('USAGE', '--via tcp:<机器名>:机器名不能为空(broker 机上 crosschat serve --list 可查;多星机可 --via tcp
|
|
207
|
+
throw new MultichatError('USAGE', '--via tcp:<机器名>:机器名不能为空(broker 机上 crosschat serve --list 可查;多星机可 --via tcp:<星名>:<机器名> 指定)');
|
|
199
208
|
}
|
|
200
209
|
const config = readNodeConfig(join(tcpDir(deps.tcpBaseDir ?? defaultBaseDir()), 'node.json'));
|
|
201
210
|
const timeoutMs = tcpTimeoutMs(deps.env);
|
|
@@ -214,16 +223,49 @@ export async function runViaTcpSend(args, body, deps) {
|
|
|
214
223
|
const entry = selectBrokerEntry(config.entries, selector, args.conversation);
|
|
215
224
|
const url = `ws://${entry.host}:${entry.port}`;
|
|
216
225
|
const conn = await SenderConn.open(url, entry.key, deps.machineId?.(), Math.min(timeoutMs, 15_000));
|
|
226
|
+
// D0 自动降级:正文超 1MiB tcp 预检线不再报 MESSAGE_TOO_LARGE,改落
|
|
227
|
+
// os.tmpdir 唯一临时文件走既有 --file 分块流(≤64MiB 一次成功)。成功删
|
|
228
|
+
// 临时文件并注明对端落地路径;任何失败保留原文、本机路径进教学。显式
|
|
229
|
+
// --file 的行为一个字节不变(降级只在无 --file 时发生)。
|
|
230
|
+
let tmpFile;
|
|
217
231
|
try {
|
|
232
|
+
if (args.fileArg === undefined && body !== undefined && Buffer.byteLength(body, 'utf8') > CODEX_ENDPOINT_MAX_BODY_BYTES) {
|
|
233
|
+
tmpFile = join(osTmpdir(), `crosschat-msg-${randomUUID().slice(0, 8)}.txt`);
|
|
234
|
+
writeFileSync(tmpFile, body, 'utf8');
|
|
235
|
+
}
|
|
218
236
|
let finalBody = body;
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
237
|
+
let landedPath;
|
|
238
|
+
const filePath = args.fileArg ?? tmpFile;
|
|
239
|
+
if (filePath !== undefined) {
|
|
240
|
+
const path = await sendFile(conn, filePath, target, timeoutMs, transportFailure);
|
|
241
|
+
landedPath = path;
|
|
242
|
+
finalBody =
|
|
243
|
+
tmpFile !== undefined
|
|
244
|
+
? `文件 ${fileNameOf(tmpFile)} 已送达:${path}`
|
|
245
|
+
: body ?? `文件 ${fileNameOf(filePath)} 已送达:${path}`;
|
|
222
246
|
}
|
|
223
247
|
if (finalBody === undefined || finalBody === '') {
|
|
224
248
|
throw new MultichatError('BODY_REQUIRED', 'Message body is required: pass --body "<text>" or pipe the message on stdin.');
|
|
225
249
|
}
|
|
226
|
-
|
|
250
|
+
const out = await sendBody(conn, args, finalBody, origin, target, timeoutMs, deps, caller, logNow, logTo, transportFailure);
|
|
251
|
+
if (tmpFile === undefined)
|
|
252
|
+
return out;
|
|
253
|
+
rmSync(tmpFile, { force: true });
|
|
254
|
+
if (args.json === true) {
|
|
255
|
+
try {
|
|
256
|
+
return JSON.stringify({ ...JSON.parse(out), file: landedPath });
|
|
257
|
+
}
|
|
258
|
+
catch {
|
|
259
|
+
return out;
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
return `${out}\n正文超限已自动转文件通道:${landedPath}`;
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
if (tmpFile !== undefined && err instanceof Error) {
|
|
266
|
+
err.message += `\n正文原文已保留: ${tmpFile}`;
|
|
267
|
+
}
|
|
268
|
+
throw err;
|
|
227
269
|
}
|
|
228
270
|
finally {
|
|
229
271
|
conn.close();
|
|
@@ -375,4 +417,47 @@ export async function fetchRosterFor(tcpBaseDir, entry, timeoutMs = 2_000) {
|
|
|
375
417
|
export function fetchRoster(tcpBaseDir, timeoutMs = 2_000) {
|
|
376
418
|
return fetchRosterFor(tcpBaseDir, undefined, timeoutMs);
|
|
377
419
|
}
|
|
420
|
+
/**
|
|
421
|
+
* E1 远程会话枚举发送腿(票012):与 send 同款瞬态 sender 连接——握手 →
|
|
422
|
+
* status-query → 等 status-result/error → 关。超时教学覆盖版本偏差(旧
|
|
423
|
+
* broker 对未知 op 静默无行为 → 请求方在此超时)。
|
|
424
|
+
*/
|
|
425
|
+
export async function runViaTcpStatus(via, deps) {
|
|
426
|
+
const { selector, target } = parseTcpViaSpec(via);
|
|
427
|
+
if (target === '') {
|
|
428
|
+
throw new MultichatError('USAGE', '--via tcp:<机器名>:机器名不能为空(broker 机上 crosschat serve --list 可查;多星机可 --via tcp:<星名>:<机器名> 指定)');
|
|
429
|
+
}
|
|
430
|
+
const config = readNodeConfig(join(tcpDir(deps.tcpBaseDir ?? defaultBaseDir()), 'node.json'));
|
|
431
|
+
const timeoutMs = tcpTimeoutMs(deps.env);
|
|
432
|
+
const entry = selectBrokerEntry(config.entries, selector, undefined);
|
|
433
|
+
const conn = await SenderConn.open(`ws://${entry.host}:${entry.port}`, entry.key, deps.machineId?.(), Math.min(timeoutMs, 15_000));
|
|
434
|
+
try {
|
|
435
|
+
const id = randomUUID();
|
|
436
|
+
await conn.send({ op: 'status-query', id, targetMachine: target });
|
|
437
|
+
const frame = await conn.waitFor((f) => (f.op === 'status-result' || f.op === 'error') && f.id === id, timeoutMs);
|
|
438
|
+
if (frame.op === 'error') {
|
|
439
|
+
const { code, message } = frame;
|
|
440
|
+
if (code === ERR.PEER_OFFLINE) {
|
|
441
|
+
throw new MultichatError(code, `[via tcp:${target}] ${message}——对端离线,稍后重试;ssh 形态可 ssh <对端> crosschat status`);
|
|
442
|
+
}
|
|
443
|
+
if (code === ERR.UNKNOWN_MACHINE) {
|
|
444
|
+
throw new MultichatError(code, `[via tcp:${target}] ${message}——核对机器名:在 broker 机跑 crosschat serve --list 查看`);
|
|
445
|
+
}
|
|
446
|
+
throw new MultichatError(code, `[via tcp:${target}] ${message}`);
|
|
447
|
+
}
|
|
448
|
+
const result = frame;
|
|
449
|
+
if (!result.ok || result.payload === undefined) {
|
|
450
|
+
throw new MultichatError('REMOTE_FAILED', `[via tcp:${target}] 对端扫描失败:${result.error ?? '无详情'}`);
|
|
451
|
+
}
|
|
452
|
+
return { target, payload: result.payload };
|
|
453
|
+
}
|
|
454
|
+
catch (err) {
|
|
455
|
+
if (err instanceof MultichatError)
|
|
456
|
+
throw err;
|
|
457
|
+
throw new MultichatError('TCP_TRANSPORT_FAILED', `对端未应答(${err instanceof Error ? err.message : String(err)})——目标机的节点客户端在跑吗(crosschat serve --connect)?两端 crosschat 都需升级到支持 status --via 的版本`);
|
|
458
|
+
}
|
|
459
|
+
finally {
|
|
460
|
+
conn.close();
|
|
461
|
+
}
|
|
462
|
+
}
|
|
378
463
|
//# sourceMappingURL=via-tcp.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"via-tcp.js","sourceRoot":"","sources":["../../src/serve/via-tcp.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"via-tcp.js","sourceRoot":"","sources":["../../src/serve/via-tcp.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@oatelauser/crosschat",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.5",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Let Claude Code and Codex CLI talk to each other on your machine: native delivery via named pipe and app-server, stateless CLI, no daemon.",
|
|
6
6
|
"repository": {
|
|
@@ -15,7 +15,7 @@ description: 跨会话消息协议。收到 <cross-session-message> 信封、需
|
|
|
15
15
|
|
|
16
16
|
```
|
|
17
17
|
<cross-session-message from-name="alpha" turn="2">
|
|
18
|
-
<crosschat-reply-hint
|
|
18
|
+
<crosschat-reply-hint reply-as="beta">回复请运行: crosschat send --conversation mc1_XXXX --body "<你的回复>"</crosschat-reply-hint>
|
|
19
19
|
...
|
|
20
20
|
正文
|
|
21
21
|
</cross-session-message>
|
|
@@ -36,25 +36,32 @@ crosschat send --conversation mc1_XXXX --body "正文"
|
|
|
36
36
|
|
|
37
37
|
## 主动发起新消息
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
名字或关键词在手就直接发——`--to` 由 CLI 自己解析(全名精确命中;或大小写不敏感的唯一前缀;多候选会在报错里列名单,挑完整名重发一次即可):
|
|
40
|
+
|
|
41
|
+
```
|
|
42
|
+
crosschat send --to <名字或前缀> --body "正文"
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
实在不知道对端叫什么,才用 status 查名单(可加 `--claude` / `--codex` / `--name <关键词>` 过滤):
|
|
40
46
|
|
|
41
47
|
```
|
|
42
48
|
crosschat status
|
|
43
|
-
crosschat send --to <名字> --body "正文"
|
|
44
49
|
```
|
|
45
50
|
|
|
46
|
-
- 名字 = claude 会话名或 codex 线程名(status 列出全部可路由对象);未命名 codex 线程可用 id8 或完整 id 寻址(`crosschat status`
|
|
51
|
+
- 名字 = claude 会话名或 codex 线程名(status 列出全部可路由对象);未命名 codex 线程可用 id8 或完整 id 寻址(`crosschat status --all` 里可见——默认视图藏未命名,加 `--all` 带出)。
|
|
47
52
|
- 查会话往来(双方、最近活跃、轮次、最近投递状态、滞留条数):`crosschat status --conversations`;`queued` / `parked` 的终态也在这里确认。
|
|
48
53
|
- 长正文或正文含 `$`、反引号、引号等 shell 敏感字符时,省略 `--body` 改用管道(stdin 整段读入,免引号转义):`cat <文件> | crosschat send --to <名字>`。
|
|
49
54
|
- 投给 codex 的消息:**开窗、关窗、忙时均可投**(daemon 0.160+)。对方正在跑 turn 也不阻塞——消息直接**入队**(输出 `queued`),当前轮结束即进入对话被处理;TUI 窗口会实时刷出。输出 `delivered`(已送达)/ `queued`(已入队,轮末处理)/ `parked`(仅旧 daemon 异常态,已暂存),三者都**无需重发**。`queued` 的消费确认免费搭载在业务流量上——对端的下一条来信带更高 turn 号即证明已消费,无需轮询、无显式回执。
|
|
50
55
|
- **跨机发送**:`crosschat send --via ssh:<对端hostname> --to <名/id8> --body "…"`——对端是另一台机器上安装了 crosschat 的会话(hostname = `~/.ssh/config` 里的 Host 别名,推荐直接用对端系统 hostname);名字在目标机上解析,回执带 `@<host>` 后缀,错误同码透传(前缀 `[via <host>]`)。
|
|
51
|
-
- **tcp 形态同构**:`crosschat send --via tcp:<机器名或mid8> …` 与 ssh 形态用法相同(tcp 网络需该机 `~/.crosschat/tcp/node.json`
|
|
52
|
-
- 跨机的对端**不在本机 status
|
|
56
|
+
- **tcp 形态同构**:`crosschat send --via tcp:<机器名或mid8> …` 与 ssh 形态用法相同(tcp 网络需该机 `~/.crosschat/tcp/node.json` 在场)。**回复永远不用管形态**:信封的回复命令不带 `--via`,照抄执行即自动选路——单机/ssh/tcp 两式合一,引用里已带两端机器指纹(tcp 会话另带星标识,按它选本机 node.json 条目)。仅主动发起跨机新消息(`--to`)时才需要手写 `--via`。
|
|
57
|
+
- 跨机的对端**不在本机 status 里**——tcp 星查远机会话用 `crosschat status --via tcp:<机器>`(过滤参数 `--claude`/`--codex`/`--name` 同本地),ssh 形态对端仍用 `ssh <对端> crosschat status`;查到名字再发,**别赌名字发送**。
|
|
53
58
|
- 跨机对话的轮次纪律更要遵守:防乒乓限流器是单机记账的,**turn 计数是跨机唯一防线**——接近预算即总结收尾。
|
|
59
|
+
- **跨机正文别堆本机细节**(hostname/端口/注册表/配置摘要)——对端会话的数据外发防护可能拦截;被拦就精简为"双方已知信息"重发,别换通道硬闯。
|
|
54
60
|
|
|
55
61
|
## 报错自纠(读错误码,不要即兴发明命令)
|
|
56
62
|
|
|
57
|
-
- `MESSAGE_TOO_LARGE
|
|
63
|
+
- `MESSAGE_TOO_LARGE`:大小地图——单机默认 16KiB(`--max-body-kb <KiB>` / 环境变量 `CROSSCHAT_MAX_BODY_KIB` 可提额,端点另有封顶);ssh/tcp 跨机正文 1MiB;tcp 超限**自动转文件通道**(≤64MiB 一次成功,无需改命令);ssh 大内容走 scp 旁路(先 `scp <文件> <别名>:/tmp/`,再发对端本地路径)。
|
|
64
|
+
- 超长处理的场景指引听报错的:报错按你当前通道只给那一条,照做即可——**准确数字以报错为准**(报错才是权威,本文件只给地图)。
|
|
58
65
|
- `TCP_TRANSPORT_FAILED`(tcp 形态):连不上 broker 或等回执超时——**远端状态不明,勿盲目重发**(可能与首次投递叠加)。先在对端查 send-log 或 `status --conversations` 核实后再决定。
|
|
59
66
|
- `PEER_OFFLINE`(tcp 形态):对端机器当前不在线——稍后重试;若两端另配了 ssh 也可走 ssh 形态。
|
|
60
67
|
- 收到"文件 … 已送达"但那个路径不存在:附件超过 5 天被回收——回对端"**附件已过期,请重发 --file**"。
|