@oatelauser/crosschat 1.0.0 → 1.1.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/CHANGELOG.md +53 -22
- package/LICENSE +25 -25
- package/README.md +254 -244
- package/dist/cli.js +38 -18
- package/dist/cli.js.map +1 -1
- package/dist/codex/deliver.js +20 -9
- package/dist/codex/deliver.js.map +1 -1
- package/dist/codex/rollout-meta.js +6 -0
- package/dist/codex/rollout-meta.js.map +1 -1
- package/dist/codex/transport.js +19 -1
- package/dist/codex/transport.js.map +1 -1
- package/dist/commands/doctor.js +9 -4
- package/dist/commands/doctor.js.map +1 -1
- package/dist/commands/send.js +56 -13
- package/dist/commands/send.js.map +1 -1
- package/dist/outbox.js +204 -52
- package/dist/outbox.js.map +1 -1
- package/dist/send-log.js +74 -0
- package/dist/send-log.js.map +1 -0
- package/dist/watchdog.js +104 -0
- package/dist/watchdog.js.map +1 -0
- package/package.json +46 -47
- package/skills/crosschat/SKILL.md +65 -65
- package/dist/codex/queue.js +0 -71
- package/dist/codex/queue.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,22 +1,53 @@
|
|
|
1
|
-
# Changelog
|
|
2
|
-
|
|
3
|
-
本项目的全部显著变更记录于此。格式参照 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本遵循 [SemVer](https://semver.org/lang/zh-CN/)。
|
|
4
|
-
|
|
5
|
-
## [1.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
-
|
|
16
|
-
- daemon
|
|
17
|
-
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
本项目的全部显著变更记录于此。格式参照 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.1.0/),版本遵循 [SemVer](https://semver.org/lang/zh-CN/)。
|
|
4
|
+
|
|
5
|
+
## [1.1.0] - 2026-10-03
|
|
6
|
+
|
|
7
|
+
### 变更(B14:发送存根与 rollout 回执,整改第三步)
|
|
8
|
+
|
|
9
|
+
- 发送存根:每次 send 的最终结果(delivered/queued/parked/failed + 时间/对端/轮次/错误码)追加写入 `%LOCALAPPDATA%\crosschat\send-log.jsonl`(仅元数据,不含消息体)——工具层超时转后台的发送事后可查
|
|
10
|
+
- rollout 回执:codex 投递被接受后,轮询对方会话记录文件确认消息(按唯一 reply-ref)真实落入对话历史,回执写入 send-log;短暂未确认时输出提示行
|
|
11
|
+
- `findRolloutFile` 从 rollout-meta 导出(threadId → rollout 路径)
|
|
12
|
+
|
|
13
|
+
### 变更(B13:忙时入队——codex 收件箱语义,整改第二步)
|
|
14
|
+
|
|
15
|
+
- **忙线程直接入队**:daemon ≥0.160 上对运行中的 turn 调 `turn/start` 会被接受并按线程串行排队,当前轮结束瞬间落历史并被处理(实测证据:一次性探针线程 01a10009-b314,两条探针消息在计数轮结束后同刻落历史并被依次回答)。`deliverToCodexThread` 不再对 busy 轮询 120s 后超时,busy 即投递,返回 `queued: true`;`send` 输出新状态 `queued to <名字>(对方正忙,已入队,本轮结束即处理)`
|
|
16
|
+
- 旧 daemon 拒绝排队型 turn/start 时映射为 `CODEX_THREAD_BUSY_TIMEOUT`,落发件箱由看门狗重投(行为兜底)
|
|
17
|
+
- 投递子进程环境剥离双身份残留(`CLAUDE_CODE_*` / `CODEX_*` 会话变量),根治 CALLER_IDENTITY_CONFLICT 的环境侧诱因
|
|
18
|
+
- README 新增 daemon 依赖说明(版本要求、未运行时的退化行为、重启后需重新 start)
|
|
19
|
+
|
|
20
|
+
### 变更(B12:发件箱活性与诚实语义,2026-10-02 双智能体事故整改第一步)
|
|
21
|
+
|
|
22
|
+
- 排涝看门狗:`parked` 后自动派生独立的短期重投进程(`__drain --watch`),30s→60s→120s→300s 退避,箱空即退——不再依赖「碰巧有人调 crosschat 且碰巧空闲」
|
|
23
|
+
- 队列纪律:发件箱非空时新消息直接入队,不再借 120s 轮询插队越过更早的滞留(FIFO 保序)
|
|
24
|
+
- 排涝公平化:busy/locked 属线程级状态,首次失败即中止该线程本轮,不再把整轮预算烧在必然失败的后续条目上(修复队尾 12 小时 attempts=0 的饿死)
|
|
25
|
+
- 诚实文案:`parked` 输出队列深度与 mailbox 镜像路径;`OUTBOX_FULL` 指向镜像文件而非「线程疑似已死」
|
|
26
|
+
- mailbox 镜像:每条寄存/送达/丢弃追加到 `%LOCALAPPDATA%\crosschat\mailbox\<线程ID>.md`,滞留内容随时人读
|
|
27
|
+
- 并发安全:park/drain 按线程加锁(lockfile,60s 过期抢占),看门狗单实例(pid+心跳锁)
|
|
28
|
+
- 上限放宽:每线程 20 → 200 条;doctor 显示每线程深度/最旧年龄/看门狗状态/镜像路径
|
|
29
|
+
- 兼容:pre-B12 无 id 的旧寄存条目读取时稳定合成 id,可继续排涝
|
|
30
|
+
|
|
31
|
+
## [1.0.1] - 2026-10-02
|
|
32
|
+
|
|
33
|
+
- README 移除曾用名注记;首验 Trusted Publisher (OIDC) 自动发布管线
|
|
34
|
+
|
|
35
|
+
## [1.0.0] - 2026-10-02
|
|
36
|
+
|
|
37
|
+
首个公开版本。Windows 一期:本机 Claude Code ↔ Codex CLI 跨会话消息,无守护进程,原生投递。
|
|
38
|
+
|
|
39
|
+
### 新增
|
|
40
|
+
- 四命令 CLI:`send`(同步投递/自包含引用/轮次计数)、`status`(双侧总览含目录时间)、`install-skills`、`claude`(接收许可包装启动)
|
|
41
|
+
- Claude 侧通道:sessions 注册表发现、named pipe + peerToken 鉴权、peer 协议 v1 帧注入
|
|
42
|
+
- Codex 侧通道:app-server proxy 桥接(ws-over-stdio)、resume→turn/start 投递、busy/locked 等待循环
|
|
43
|
+
- 溯源信封(回复命令自带教学 + 保留字中性化)与 agent 侧 skill(低入侵:题词只写角色)
|
|
44
|
+
- 防乒乓限流(30 条/60s/对端点)、16KiB 单条上限、身份冲突自纠指引
|
|
45
|
+
- 机会式发件箱:忙/锁超时 parked 落盘,任意 send/status 调用入口自动排涝补投
|
|
46
|
+
- daemon 0.160 开窗投递支持(同 daemon 多连接绕过进程级写者锁,实证)
|
|
47
|
+
- 双 bin 过渡别名(crosschat 主 / multichat 曾用名)
|
|
48
|
+
|
|
49
|
+
### 过程档案
|
|
50
|
+
- 设计决策地图(wayfinder)、实测研究报告 ×4、联调实证 ×2 随仓库公开(已脱敏)
|
|
51
|
+
|
|
52
|
+
[1.1.0]: https://github.com/Oatelauser/crosschat/releases/tag/v1.1.0
|
|
53
|
+
[1.0.0]: https://github.com/Oatelauser/crosschat/releases/tag/v1.0.0
|
package/LICENSE
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Oatelauser
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
This project borrows module-level implementations (envelope framing, codex
|
|
16
|
-
app-server transport patterns) from embassy (https://github.com/YuanpingSong/embassy),
|
|
17
|
-
also MIT licensed.
|
|
18
|
-
|
|
19
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Oatelauser
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
This project borrows module-level implementations (envelope framing, codex
|
|
16
|
+
app-server transport patterns) from embassy (https://github.com/YuanpingSong/embassy),
|
|
17
|
+
also MIT licensed.
|
|
18
|
+
|
|
19
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
20
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
21
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
22
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
23
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
24
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
25
|
+
SOFTWARE.
|