codex-to-im 0.1.8 → 1.0.11
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 +2 -25
- package/README_CN.md +2 -25
- package/config.env.example +5 -4
- package/dist/cli.mjs +0 -1
- package/dist/daemon.mjs +312 -27
- package/dist/ui-server.mjs +675 -157
- package/docs/codex-to-im-prd.md +3 -21
- package/docs/install-windows.md +5 -29
- package/package.json +1 -2
- package/references/setup-guides.md +1 -8
- package/references/usage.md +4 -33
- package/SKILL.md +0 -79
- package/scripts/install-codex.sh +0 -65
package/README.md
CHANGED
|
@@ -10,8 +10,6 @@ The product is no longer centered around a Codex skill. The main path is:
|
|
|
10
10
|
4. Start the bridge in the background
|
|
11
11
|
5. Bind real desktop Codex threads to Feishu or Weixin chats
|
|
12
12
|
|
|
13
|
-
`SKILL.md` is still kept in the repo, but only as an optional Codex integration entry.
|
|
14
|
-
|
|
15
13
|
## Project Origin
|
|
16
14
|
|
|
17
15
|
The current codebase is a consolidated continuation of two earlier repositories:
|
|
@@ -19,7 +17,7 @@ The current codebase is a consolidated continuation of two earlier repositories:
|
|
|
19
17
|
- `Claude-to-IM`
|
|
20
18
|
- `Claude-to-IM-skill`
|
|
21
19
|
|
|
22
|
-
`codex-to-im` is based on those two projects and has been reworked toward a single-package local app
|
|
20
|
+
`codex-to-im` is based on those two projects and has been reworked toward a single-package local app and shared-thread workflow.
|
|
23
21
|
|
|
24
22
|
Windows host installation guide: [docs/install-windows.md](D:/codex/Claude-to-IM-skill/docs/install-windows.md)
|
|
25
23
|
|
|
@@ -31,7 +29,6 @@ Windows host installation guide: [docs/install-windows.md](D:/codex/Claude-to-IM
|
|
|
31
29
|
- Weixin QR login flow
|
|
32
30
|
- Desktop session discovery from `~/.codex/sessions`
|
|
33
31
|
- Web-side binding updates for IM chats
|
|
34
|
-
- Optional Codex integration for opening `codex-to-im` or entering the Feishu handoff flow
|
|
35
32
|
|
|
36
33
|
## Install
|
|
37
34
|
|
|
@@ -190,8 +187,7 @@ This is closer to a full-power `code` workflow. It fits a controlled local proje
|
|
|
190
187
|
The channel pages also expose a “Use Markdown for bridge feedback” switch:
|
|
191
188
|
- enabled by default for Feishu
|
|
192
189
|
- disabled by default for WeChat
|
|
193
|
-
-
|
|
194
|
-
- does not affect raw Codex replies
|
|
190
|
+
- affects text sent through the bridge, including normal replies, shared-thread mirror messages, and system feedback such as `/h`, `/status`, and `/threads`
|
|
195
191
|
|
|
196
192
|
## Update
|
|
197
193
|
|
|
@@ -205,23 +201,6 @@ npm update -g codex-to-im
|
|
|
205
201
|
codex-to-im
|
|
206
202
|
```
|
|
207
203
|
|
|
208
|
-
## Optional Codex Integration
|
|
209
|
-
|
|
210
|
-
The repo still includes a lightweight optional integration under `SKILL.md`.
|
|
211
|
-
|
|
212
|
-
It is not required for the product to work.
|
|
213
|
-
|
|
214
|
-
If installed into `~/.codex/skills/codex-to-im`, it should only be used for two actions:
|
|
215
|
-
|
|
216
|
-
- Open `codex-to-im`
|
|
217
|
-
- Open the Feishu session-sharing entry for the current workflow
|
|
218
|
-
|
|
219
|
-
You can install that optional integration from the web UI, or with:
|
|
220
|
-
|
|
221
|
-
```bash
|
|
222
|
-
bash scripts/install-codex.sh --link
|
|
223
|
-
```
|
|
224
|
-
|
|
225
204
|
## Repo Layout
|
|
226
205
|
|
|
227
206
|
- `src/ui-server.ts` — local workbench UI and HTTP API
|
|
@@ -229,7 +208,6 @@ bash scripts/install-codex.sh --link
|
|
|
229
208
|
- `src/desktop-sessions.ts` — desktop thread discovery from Codex session files
|
|
230
209
|
- `src/session-bindings.ts` — binding summaries and web-side binding updates
|
|
231
210
|
- `src/lib/bridge/` — bridge runtime and IM channel routing
|
|
232
|
-
- `SKILL.md` — optional Codex integration only
|
|
233
211
|
- `docs/` — PRD and shared-thread design docs
|
|
234
212
|
|
|
235
213
|
## Development
|
|
@@ -246,6 +224,5 @@ Current product direction:
|
|
|
246
224
|
- Standalone local app first
|
|
247
225
|
- Web workbench first
|
|
248
226
|
- Shared Codex thread model first
|
|
249
|
-
- Codex integration is optional, not the primary installation path
|
|
250
227
|
|
|
251
228
|
[中文文档](README_CN.md)
|
package/README_CN.md
CHANGED
|
@@ -10,8 +10,6 @@
|
|
|
10
10
|
4. 在后台启动 bridge
|
|
11
11
|
5. 把真实的桌面 Codex thread 绑定到飞书或微信聊天
|
|
12
12
|
|
|
13
|
-
仓库里仍然保留了 `SKILL.md`,但它只是一个可选的 Codex 集成入口,不再是产品本体。
|
|
14
|
-
|
|
15
13
|
## 项目来源
|
|
16
14
|
|
|
17
15
|
当前这套代码是在两个早期仓库的基础上整理和改造出来的:
|
|
@@ -19,7 +17,7 @@
|
|
|
19
17
|
- `Claude-to-IM`
|
|
20
18
|
- `Claude-to-IM-skill`
|
|
21
19
|
|
|
22
|
-
现在的 `codex-to-im`
|
|
20
|
+
现在的 `codex-to-im` 是在这两个工程基础上继续演进的单包版本,重点调整成了本地应用和共享 thread 的形态。
|
|
23
21
|
|
|
24
22
|
Windows 主机安装说明见:[docs/install-windows.md](D:/codex/Claude-to-IM-skill/docs/install-windows.md)
|
|
25
23
|
|
|
@@ -31,7 +29,6 @@ Windows 主机安装说明见:[docs/install-windows.md](D:/codex/Claude-to-IM-
|
|
|
31
29
|
- 微信扫码登录
|
|
32
30
|
- 从 `~/.codex/sessions` 发现桌面会话
|
|
33
31
|
- 在网页中查看和切换 IM 绑定
|
|
34
|
-
- 可选的 Codex 集成,仅用于打开 `codex-to-im` 或进入飞书共享入口
|
|
35
32
|
|
|
36
33
|
## 安装
|
|
37
34
|
|
|
@@ -189,8 +186,7 @@ codex-to-im stop
|
|
|
189
186
|
通道页还支持“反馈使用 Markdown”开关:
|
|
190
187
|
- 飞书默认开启
|
|
191
188
|
- 微信默认关闭
|
|
192
|
-
-
|
|
193
|
-
- 不影响 Codex 原始回复内容
|
|
189
|
+
- 影响通过 bridge 发送到通道的文本反馈,包括普通回复、共享桌面线程镜像以及 `/h`、`/status`、`/threads` 这类系统反馈
|
|
194
190
|
|
|
195
191
|
## 更新
|
|
196
192
|
|
|
@@ -204,23 +200,6 @@ npm update -g codex-to-im
|
|
|
204
200
|
codex-to-im
|
|
205
201
|
```
|
|
206
202
|
|
|
207
|
-
## 可选 Codex 集成
|
|
208
|
-
|
|
209
|
-
仓库里仍然保留了一个很薄的可选集成,定义在 `SKILL.md`。
|
|
210
|
-
|
|
211
|
-
它不是必需的。
|
|
212
|
-
|
|
213
|
-
如果你把它装到 `~/.codex/skills/codex-to-im`,它只保留两个动作:
|
|
214
|
-
|
|
215
|
-
- 打开 `codex-to-im`
|
|
216
|
-
- 打开“共享当前会话到飞书”的入口
|
|
217
|
-
|
|
218
|
-
你可以在 Web UI 中安装这层可选集成,也可以手动执行:
|
|
219
|
-
|
|
220
|
-
```bash
|
|
221
|
-
bash scripts/install-codex.sh --link
|
|
222
|
-
```
|
|
223
|
-
|
|
224
203
|
## 仓库结构
|
|
225
204
|
|
|
226
205
|
- `src/ui-server.ts` — 本地工作台 UI 和 HTTP API
|
|
@@ -228,7 +207,6 @@ bash scripts/install-codex.sh --link
|
|
|
228
207
|
- `src/desktop-sessions.ts` — 从 Codex 会话文件发现桌面 thread
|
|
229
208
|
- `src/session-bindings.ts` — 绑定摘要与网页侧切换
|
|
230
209
|
- `src/lib/bridge/` — bridge 运行时与 IM 路由
|
|
231
|
-
- `SKILL.md` — 可选 Codex 集成,不是主产品
|
|
232
210
|
- `docs/` — PRD 与共享 thread 技术设计
|
|
233
211
|
|
|
234
212
|
## 开发
|
|
@@ -243,6 +221,5 @@ npm run build
|
|
|
243
221
|
- 先做独立本地应用
|
|
244
222
|
- 先做 Web 工作台
|
|
245
223
|
- 先做共享 Codex thread
|
|
246
|
-
- Codex 集成是可选增强,不是主安装路径
|
|
247
224
|
|
|
248
225
|
[English](README.md)
|
package/config.env.example
CHANGED
|
@@ -85,8 +85,8 @@ CTI_TG_CHAT_ID=your-chat-id
|
|
|
85
85
|
# Current Codex runtime note: thinking/progress can update live, but
|
|
86
86
|
# assistant body text may still arrive only at completion.
|
|
87
87
|
# CTI_FEISHU_STREAMING_ENABLED=true
|
|
88
|
-
# Use Markdown for
|
|
89
|
-
#
|
|
88
|
+
# Use Markdown for text sent through the bridge, including normal replies,
|
|
89
|
+
# shared-thread mirror messages, and system feedback such as /h or /status.
|
|
90
90
|
# CTI_FEISHU_COMMAND_MARKDOWN_ENABLED=true
|
|
91
91
|
|
|
92
92
|
# ── QQ ──
|
|
@@ -111,8 +111,9 @@ CTI_TG_CHAT_ID=your-chat-id
|
|
|
111
111
|
# only accepts WeChat-provided speech-to-text text and otherwise returns an error.
|
|
112
112
|
# (default false for safety in CLI setups)
|
|
113
113
|
# CTI_WEIXIN_MEDIA_ENABLED=false
|
|
114
|
-
# Use Markdown for
|
|
115
|
-
#
|
|
114
|
+
# Use Markdown for text sent through the bridge, including normal replies,
|
|
115
|
+
# shared-thread mirror messages, and system feedback such as /h or /status.
|
|
116
|
+
# Default is false for WeChat.
|
|
116
117
|
# CTI_WEIXIN_COMMAND_MARKDOWN_ENABLED=false
|
|
117
118
|
|
|
118
119
|
# ── Permission ──
|
package/dist/cli.mjs
CHANGED
|
@@ -3,7 +3,6 @@ import { createRequire } from 'module'; const require = createRequire(import.met
|
|
|
3
3
|
|
|
4
4
|
// src/service-manager.ts
|
|
5
5
|
import fs2 from "node:fs";
|
|
6
|
-
import os2 from "node:os";
|
|
7
6
|
import path2 from "node:path";
|
|
8
7
|
import { spawn } from "node:child_process";
|
|
9
8
|
import { fileURLToPath } from "node:url";
|