tellrun 1.0.1 → 1.1.2
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/LICENSE +21 -0
- package/README.md +144 -108
- package/README.zh-CN.md +207 -0
- package/dist/agents/codex.js +225 -80
- package/dist/agents/codex.js.map +1 -1
- package/dist/cli.js +39 -39
- package/dist/cli.js.map +1 -1
- package/dist/config.js +3 -3
- package/dist/config.js.map +1 -1
- package/dist/core/relay.js +80 -44
- package/dist/core/relay.js.map +1 -1
- package/dist/im/telegram.js +90 -14
- package/dist/im/telegram.js.map +1 -1
- package/dist/logger.js +1 -1
- package/dist/logger.js.map +1 -1
- package/dist/main.js +12 -12
- package/dist/main.js.map +1 -1
- package/dist/storage/schema.js +8 -1
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/store.js +88 -21
- package/dist/storage/store.js.map +1 -1
- package/dist/systemd.js +17 -17
- package/dist/systemd.js.map +1 -1
- package/docs/architecture.md +32 -18
- package/docs/prd.md +9 -9
- package/package.json +32 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/storage/store.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/storage/store.ts"],"names":[],"mappings":"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"}
|
package/dist/systemd.js
CHANGED
|
@@ -23,16 +23,16 @@ async function systemctl(...args) {
|
|
|
23
23
|
/^LoadState=not-found$/m.test(error.stdout)) {
|
|
24
24
|
return error.stdout.trim();
|
|
25
25
|
}
|
|
26
|
-
throw new Error(`
|
|
26
|
+
throw new Error(`Service ${args[0]} failed. Check tellrun logs or systemctl --user status ${unit} --no-pager -l. Without systemd, use tellrun run.`);
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
/** CLI 与配置向导共用后台生命周期;不加载运行状态或 Telegram 业务入口。 */
|
|
30
30
|
export async function manageService(action, options = {}) {
|
|
31
31
|
if (action === "status") {
|
|
32
|
-
console.log(
|
|
32
|
+
console.log(`Config: ${join(appDirectory, "config.json")}\nState: ${join(appDirectory, "state.json")}`);
|
|
33
33
|
}
|
|
34
34
|
if (process.platform !== "linux") {
|
|
35
|
-
throw new Error("
|
|
35
|
+
throw new Error("Background mode requires Linux systemd. Use tellrun run instead.");
|
|
36
36
|
}
|
|
37
37
|
if (action === "logs") {
|
|
38
38
|
await new Promise((resolve, reject) => {
|
|
@@ -45,12 +45,12 @@ export async function manageService(action, options = {}) {
|
|
|
45
45
|
"--no-pager",
|
|
46
46
|
...(options.follow ? ["--follow"] : []),
|
|
47
47
|
], { stdio: "inherit" });
|
|
48
|
-
child.on("error", () => reject(new Error("
|
|
48
|
+
child.on("error", () => reject(new Error("Cannot start journalctl. Check your systemd installation.")));
|
|
49
49
|
child.on("close", (code, signal) => {
|
|
50
50
|
if (code === 0 || signal === "SIGINT")
|
|
51
51
|
resolve();
|
|
52
52
|
else
|
|
53
|
-
reject(new Error("
|
|
53
|
+
reject(new Error("Cannot read logs. Check journal access permissions."));
|
|
54
54
|
});
|
|
55
55
|
});
|
|
56
56
|
return;
|
|
@@ -60,9 +60,9 @@ export async function manageService(action, options = {}) {
|
|
|
60
60
|
.map((line) => line.split("=")));
|
|
61
61
|
if (action === "status") {
|
|
62
62
|
if (state.LoadState === "not-found")
|
|
63
|
-
console.log("
|
|
63
|
+
console.log("Service not installed. Run tellrun setup or tellrun start.");
|
|
64
64
|
else
|
|
65
|
-
console.log(
|
|
65
|
+
console.log(`Service: ${state.ActiveState} / ${state.SubState}\nPID: ${state.MainPID}\nAt boot: ${state.UnitFileState}`);
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
68
|
if (action === "stop" || action === "uninstall") {
|
|
@@ -73,20 +73,20 @@ export async function manageService(action, options = {}) {
|
|
|
73
73
|
await systemctl("disable", unit);
|
|
74
74
|
rmSync(join(appDirectory, unit), { force: true });
|
|
75
75
|
await systemctl("daemon-reload");
|
|
76
|
-
console.log("
|
|
76
|
+
console.log("Service removed. Config, state, and user linger unchanged.");
|
|
77
77
|
}
|
|
78
78
|
else
|
|
79
|
-
console.log("
|
|
79
|
+
console.log("Service stopped.");
|
|
80
80
|
return;
|
|
81
81
|
}
|
|
82
82
|
/** 服务不能依赖当前终端临时提供的凭据或相对 Codex 路径。 */
|
|
83
83
|
const config = loadConfig({});
|
|
84
84
|
if (!isAbsolute(config.codexPath) || !existsSync(config.codexPath)) {
|
|
85
|
-
throw new Error("
|
|
85
|
+
throw new Error("Background mode needs an absolute Codex path. Run tellrun setup.");
|
|
86
86
|
}
|
|
87
87
|
const entry = fileURLToPath(new URL("./cli.js", import.meta.url));
|
|
88
88
|
if (!existsSync(entry))
|
|
89
|
-
throw new Error("
|
|
89
|
+
throw new Error("CLI build missing. Run npm run build, then node dist/cli.js.");
|
|
90
90
|
/** linger 保证退出 SSH 后用户服务管理器仍然存活;失败时不宣称后台设置成功。 */
|
|
91
91
|
try {
|
|
92
92
|
let linger = await promisify(execFile)("loginctl", ["show-user", String(process.getuid?.()), "--property=Linger", "--value"], { timeout: 5_000 });
|
|
@@ -96,11 +96,11 @@ export async function manageService(action, options = {}) {
|
|
|
96
96
|
});
|
|
97
97
|
linger = await promisify(execFile)("loginctl", ["show-user", String(process.getuid?.()), "--property=Linger", "--value"], { timeout: 5_000 });
|
|
98
98
|
if (linger.stdout.trim() !== "yes")
|
|
99
|
-
throw new Error("
|
|
99
|
+
throw new Error("User lingering is disabled.");
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
catch {
|
|
103
|
-
throw new Error(
|
|
103
|
+
throw new Error(`Enable lingering with sudo loginctl enable-linger ${process.getuid?.()}, then retry tellrun ${action}. Config unchanged.`);
|
|
104
104
|
}
|
|
105
105
|
mkdirSync(appDirectory, { recursive: true, mode: 0o700 });
|
|
106
106
|
chmodSync(appDirectory, 0o700);
|
|
@@ -144,11 +144,11 @@ export async function manageService(action, options = {}) {
|
|
|
144
144
|
await systemctl("reset-failed", unit);
|
|
145
145
|
await systemctl(action, unit);
|
|
146
146
|
if ((await systemctl("is-active", unit)) !== "active") {
|
|
147
|
-
throw new Error("
|
|
147
|
+
throw new Error("Service failed to stay running. Check tellrun logs.");
|
|
148
148
|
}
|
|
149
|
-
console.log(action === "restart" ? "
|
|
149
|
+
console.log(action === "restart" ? "Service restarted." : "Service started.");
|
|
150
150
|
if (options.enable)
|
|
151
|
-
console.log("
|
|
152
|
-
console.log("
|
|
151
|
+
console.log("Enabled at boot.");
|
|
152
|
+
console.log("Service will keep running after SSH disconnects. Use tellrun status or tellrun logs.");
|
|
153
153
|
}
|
|
154
154
|
//# sourceMappingURL=systemd.js.map
|
package/dist/systemd.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"systemd.js","sourceRoot":"","sources":["../src/systemd.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9F,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEvD,oCAAoC;AACpC,MAAM,IAAI,GAAG,iBAAiB,CAAC;AAE/B,yCAAyC;AACzC,KAAK,UAAU,SAAS,CAAC,GAAG,IAAc;IACxC,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE;YAC3F,OAAO,EAAE,MAAM;YACf,SAAS,EAAE,SAAS;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,IAAI,CAAC,CAAC,CAAC,KAAK,MAAM;YAClB,KAAK,YAAY,KAAK;YACtB,QAAQ,IAAI,KAAK;YACjB,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ;YAChC,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAC3C,CAAC;YACD,OAAO,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,IAAI,KAAK,CACb,
|
|
1
|
+
{"version":3,"file":"systemd.js","sourceRoot":"","sources":["../src/systemd.ts"],"names":[],"mappings":"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"}
|
package/docs/architecture.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
范围与验收见[产品需求文档](prd.md)。本方案面向个人使用,先实现 Telegram + Codex。其他 IM 与 Claude 等 Agent 是后续两个独立的扩展方向。当前已接通单会话执行、续聊、停止、持久化恢复和后台管理命令;多会话、队列、审批及 Linux 真实部署验收仍待完成。
|
|
6
6
|
|
|
7
|
-
当前实现沿用现有技术栈和单进程结构。入站去重、任务与 outbox
|
|
7
|
+
当前实现沿用现有技术栈和单进程结构。入站去重、任务与 outbox 的原子保存、单实例约束和最小停止能力随真实任务一起接入;本地 Codex 后台连接使用 ws,不新增测试文件。
|
|
8
8
|
|
|
9
9
|
## 核心架构决定
|
|
10
10
|
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
| CLI 与交互配置 | Commander + @clack/prompts | 提供子命令、帮助和配置向导;不引入通用依赖注入框架 |
|
|
15
15
|
| IM 框架 | grammY,Telegram 长轮询 | 入口是 Bot 消息与按钮;无需公网入站接口 |
|
|
16
16
|
| HTTP 框架 | 首版无需引入;需要 Webhook 或管理 API 时采用 Fastify | 避免为当前没有的 HTTP 业务增加服务层 |
|
|
17
|
-
| Codex 接入 | app-server
|
|
18
|
-
| Codex 进程 |
|
|
17
|
+
| Codex 接入 | app-server,本地 WebSocket 或 stdio 双向 JSON-RPC | 需要完整的会话、审批、问题和中断交互 |
|
|
18
|
+
| Codex 进程 | 优先复用本机后台服务,不可用时启动独立子进程 | 复用空闲会话的写锁,任务仍串行并沿用持久化 thread ID |
|
|
19
19
|
| 数据 | Node.js 文件接口 + JSON | 配置与状态分开保存,使用原子替换 |
|
|
20
20
|
| 调度 | 文件中的任务记录 + 单个 Worker | 队列状态可恢复;控制消息不等待编码任务 |
|
|
21
21
|
| 消息发送 | 本地 outbox + 进度合并 | Telegram 故障不改变编码任务的执行结果 |
|
|
@@ -41,9 +41,9 @@ flowchart TB
|
|
|
41
41
|
WORKER --> STATE
|
|
42
42
|
STATE --> OUT
|
|
43
43
|
end
|
|
44
|
-
CODEX["Codex app-server
|
|
44
|
+
CODEX["Codex app-server 后台服务或子进程"]
|
|
45
45
|
FILES["工作目录与开发工具"]
|
|
46
|
-
RPC <-->|"stdio JSON-RPC"| CODEX
|
|
46
|
+
RPC <-->|"本地 WebSocket / stdio JSON-RPC"| CODEX
|
|
47
47
|
CODEX <--> FILES
|
|
48
48
|
end
|
|
49
49
|
TG -->|"长轮询"| IN
|
|
@@ -57,7 +57,7 @@ Codex app-server 提供线程、轮次、执行事件与审批交互;官方把
|
|
|
57
57
|
|
|
58
58
|
## 框架与库
|
|
59
59
|
|
|
60
|
-
|
|
60
|
+
下列应用依赖截至 2026 年 10 月 29 日已安装并固定至 lockfile;Codex 的目标 Linux 协议兼容性仍由 M0 验证。运行时和 Codex 升级分别验证,不在服务启动时自动追随 latest。
|
|
61
61
|
|
|
62
62
|
| 用途 | 选择 | 版本 / 状态 | 使用方式 |
|
|
63
63
|
| -------------- | -------------------- | --------------------- | ------------------------------------------------------------------ |
|
|
@@ -68,6 +68,8 @@ Codex app-server 提供线程、轮次、执行事件与审批交互;官方把
|
|
|
68
68
|
| 配置向导 | @clack/prompts | 1.8.1 | 文本输入、字段校验与取消处理 |
|
|
69
69
|
| Telegram | grammy | 1.46.0 | 消息、命令、InlineKeyboard、回调、长轮询 |
|
|
70
70
|
| Telegram 重试 | @grammyjs/auto-retry | 2.0.2 | 429、5xx 最多重试两次;网络错误上抛;整次调用另设超时 |
|
|
71
|
+
| Codex 后台连接 | ws | 8.22.0 | 通过 Unix socket 上的 WebSocket 复用本机 app-server |
|
|
72
|
+
| Codex 请求管理 | json-rpc-2.0 | 1.8.1 | 请求编号、响应匹配、超时和断线时释放等待中的请求 |
|
|
71
73
|
| 数据校验 | zod | 4.6.7 | 配置及应用边界数据校验 |
|
|
72
74
|
| 日志 | pino | 10.4.0 | JSON 日志、关联标识与脱敏 |
|
|
73
75
|
| 开发运行 | tsx | 4.23.15 | 本地监听与调试;生产用 tsc 构建产物 |
|
|
@@ -126,11 +128,11 @@ Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent
|
|
|
126
128
|
|
|
127
129
|
## 入站消息与执行流程
|
|
128
130
|
|
|
129
|
-
|
|
131
|
+
以下是任务链路。当前已实现入站去重、任务及回复的原子保存、独立执行和发送,以及回复文本的流式预览;工具进度摘要留到后续。回调应答只负责关闭客户端提示,不创建任务。
|
|
130
132
|
|
|
131
133
|
1. grammY 收到 Update,先验证授权用户和私聊范围。
|
|
132
134
|
|
|
133
|
-
2. 标准化消息保留聊天来源、事件 ID 和消息内容。按聊天来源与事件 ID
|
|
135
|
+
2. 标准化消息保留聊天来源、事件 ID 和消息内容。按聊天来源与事件 ID 去重,将入站标识、任务及必要回复作为同一份快照保存,并在创建任务时固定会话和工作目录快照。任务成功提交不生成接收回执;重复事件直接忽略,不重复创建任务或回复。
|
|
134
136
|
|
|
135
137
|
3. 状态文件保存后结束入站处理,把耗时执行交给 Worker;不能在 Bot handler 中等待整个 Codex turn。
|
|
136
138
|
|
|
@@ -138,19 +140,19 @@ Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent
|
|
|
138
140
|
|
|
139
141
|
5. 创建或恢复 Codex thread,保存 threadId 后发送 turn/start;turnId 仅保留在当前进程内,用于事件关联和中断。
|
|
140
142
|
|
|
141
|
-
6.
|
|
143
|
+
6. item/agentMessage/delta 按 itemId 累积回复文本,只消费当前 threadId 和 turnId;item/completed 的完整文本覆盖累积内容。通过 onText 将最新预览放入内存,不等待 Telegram API。完成后保存最终结果和最终通知。
|
|
142
144
|
|
|
143
145
|
7. delivery 独立发送或编辑 Telegram 消息,按失败类别重试。
|
|
144
146
|
|
|
145
147
|
入站持久化失败时停止拉取新批次并退出恢复。当前连接器使用 `getUpdates` 和 `handleUpdate` 显式维护 offset,只有处理成功才推进;不使用会自动删除 Webhook 的 `bot.start` 或会确认最后一次尝试消息的 `bot.stop`。收到关停信号后取消读取,等待当前处理结束,不额外确认更新。失败消息和未处理批次保留重投机会,成功但尚未确认的消息也可能重投,因此不能替代 已保存的事件标识去重。[Telegram 更新接收规则](https://core.telegram.org/bots/api#getupdates)、[grammY 生命周期](https://grammy.dev/ref/core/bot)
|
|
146
148
|
|
|
147
|
-
当前按聊天来源与事件 ID
|
|
149
|
+
当前按聊天来源与事件 ID 去重,重复事件不会重新创建任务或回复。发送成功但响应丢失时,outbox 重试可能产生重复通知。Telegram 不提供无限期保留更新的保证,长期离线后的恢复不能只依赖服务端消息队列。
|
|
148
150
|
|
|
149
151
|
控制路径包括 /status、/stop、审批回调、明确回复补充问题。它们不进入编码任务队列。等待审批占用当前编码任务槽,但不会占用 Node.js 事件循环。入站处理只保存必要状态并派发控制指令,不等待 Codex 完成或普通 Telegram 消息发送,避免慢请求把后续停止指令堵在同一批次中。
|
|
150
152
|
|
|
151
153
|
未指定目录的会话默认使用 Tellrun 服务启动目录,规范化真实路径后随消息一起保存,用户可直接发送任务;systemd 服务的启动目录默认为用户主目录。`/cwd 绝对路径` 可选,用于切换目录。任务保存提交时的 cwd 和 sessionId;执行前再次检查目录。任务未结束时不能切换目录或 `/new`,目录变化会开始新会话。后续多会话模型再引入独立 conversation_id,不增加目录白名单。
|
|
152
154
|
|
|
153
|
-
|
|
155
|
+
当前全局最多一个未结束任务,由单实例写入与状态校验约束。同一聊天的新文本直接补充到当前任务:queued 时合并首条输入;dispatching 时持久化保存;running 时通过独立输入循环调用 turn/steer,每 50 毫秒检查一次。补充输入按接收顺序提交,只等待各条 RPC 确认,不等待当前任务结束,也不阻塞入站控制命令。不同聊天和正在停止的任务不能追加输入。独立任务队列留到后续;未来开启并行时,必须增加按可写工作区的互斥。
|
|
154
156
|
|
|
155
157
|
## 会话与数据模型
|
|
156
158
|
|
|
@@ -162,10 +164,10 @@ Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent
|
|
|
162
164
|
| -------------- | -------------------------------------------------------------- |
|
|
163
165
|
| channels | 聊天来源、当前工作目录、Codex 会话 ID 和暂停状态 |
|
|
164
166
|
| inboundUpdates | 聊天与事件标识,用于重投去重,不保存命令正文 |
|
|
165
|
-
| tasks |
|
|
167
|
+
| tasks | 所属聊天、目录和会话快照、输入、补充输入及其提交状态、任务状态与最终结果 |
|
|
166
168
|
| outbox | 待发送回复、所属聊天、重试次数和时间;发送成功或永久拒绝后移除 |
|
|
167
169
|
|
|
168
|
-
一次业务变更先在内存副本中完成,再写入同目录临时文件;文件刷盘后通过 rename 原子替换,POSIX
|
|
170
|
+
一次业务变更先在内存副本中完成,再写入同目录临时文件;文件刷盘后通过 rename 原子替换,POSIX 系统同时刷新目录。嵌套的存储操作合并成一次保存,因此消息去重标识、任务和必要回复不会分别落盘。业务处理失败恢复内存快照,文件写入失败后停止后续写入并退出服务。
|
|
169
171
|
|
|
170
172
|
启动时校验 JSON 结构、标识唯一性、关联关系与活动任务数量;无效文件直接报错,不覆盖为空状态。空闲查询不写文件。每次变更保存整份状态,适用于当前个人使用规模,不预建日志分段或数据迁移框架。
|
|
171
173
|
|
|
@@ -173,11 +175,15 @@ Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent
|
|
|
173
175
|
|
|
174
176
|
## Codex 协议与生命周期
|
|
175
177
|
|
|
176
|
-
|
|
178
|
+
每次任务先检查 `CODEX_HOME`(默认 `~/.codex`)下的 `app-server-control/app-server-control.sock`,通过 ws 建立 Unix socket 上的 WebSocket 连接,握手最多等待 5 秒。没有套接字、连接失败或运行在 Windows 时,使用内置 child_process.spawn 启动 codex app-server,参数以数组传入且 shell 为 false。两种传输共用双向 RPC 处理:WebSocket 一帧一条消息,stdin/stdout 使用 JSONL,均省略 `jsonrpc` 字段。独立进程 stderr 不转存,stdout 不能混入应用日志。[传输协议](https://learn.chatgpt.com/docs/app-server#protocol)
|
|
177
179
|
|
|
178
|
-
每个连接先发送 `initialize` 并等待响应,再发送 `initialized` 通知,之后才能创建或恢复 thread
|
|
180
|
+
每个连接先发送 `initialize` 并等待响应,再发送 `initialized` 通知,之后才能创建或恢复 thread;空闲时的普通消息启动 turn,执行中的补充消息使用 turn/steer,并传入当前 threadId 与 expectedTurnId、校验返回的 turnId;中断通过 turn/interrupt 请求。只根据 turn/completed 的实际状态判定完成、失败或中断。请求超时、进程退出和没有收到事件,都不等价于成功。[协议与生命周期](https://learn.chatgpt.com/docs/app-server)
|
|
179
181
|
|
|
180
|
-
|
|
182
|
+
请求管理使用 `json-rpc-2.0` 的 `JSONRPCClient`,收发边界适配 Codex 省略 `jsonrpc` 字段的消息格式。单次请求超时仍为 30 秒,超时会中断当前任务并释放等待中的请求。Zod 校验、事件归属与任务状态由应用处理;服务端拒绝和本地连接故障分别映射提示,补充输入在断线后保持“提交状态不确定”,不自动重试。
|
|
183
|
+
|
|
184
|
+
Codex 后台会在最后一个订阅者断开且会话无活动 30 分钟后才卸载,因此客户端关闭后仍可能持有空闲会话的写锁。Tellrun 复用该后台连接;恢复前通过 `thread/read` 检查状态,恢复后再次确认空闲,再提交任务。对其他进程仍持有写锁的情况保留原 thread ID 并提示连接问题,不自动创建新会话或重跑任务,不转发原始错误内容。[会话卸载规则](https://learn.chatgpt.com/docs/app-server#unsubscribe-from-a-loaded-thread)
|
|
185
|
+
|
|
186
|
+
RPC 和待响应请求按每次连接隔离,按持久化 thread ID 恢复上下文。早于 turn/start 响应的事件先暂存,取得本次 turn ID 后再按 threadId 与 turnId 处理;其他会话或轮次的交互请求不代为拒绝。共享后台中的停止请求只针对本次 turn,连接中断且无法确认执行结果时仍记为 interrupted。返回结果前关闭自己的连接;仅独立进程模式等待子进程退出并清理进程组,不停止共享后台。协议字段由 Codex 0.165.0 的 generate-ts 输出核对,并用 Zod 校验。
|
|
181
187
|
|
|
182
188
|
| 协议工作 | 首版要求 |
|
|
183
189
|
| -------------- | ------------------------------------------------------------------------------------------------------------------------ |
|
|
@@ -240,9 +246,15 @@ Codex 模型、provider 和认证优先沿用服务用户已有配置。应用
|
|
|
240
246
|
|
|
241
247
|
尤其在“Codex 已收到 turn/start,但 Tellrun 尚未收到响应”这一窗口崩溃时,必须保留不确定状态,不能因为没拿到响应就自动重发。持久化的 dispatching 状态用于识别这种情况,turnId 无需跨进程保存。
|
|
242
248
|
|
|
249
|
+
补充输入保存在任务的 inputs 中,旧状态文件缺少该字段时默认为空数组。与入站事件一起保存 pending,发送前先保存 sending,收到接收确认后保存 accepted,失败保存 failed 并提示。重启或任务结束时,对仍为 pending 或 sending 的输入分别提示尚未提交或结果待确认,不自动重放;成功补充不生成固定回执。补充请求被拒绝不改变原任务结果,通信故障仍按连接中断处理。
|
|
250
|
+
|
|
243
251
|
## Telegram 输出与故障恢复
|
|
244
252
|
|
|
245
|
-
delivery
|
|
253
|
+
delivery 优先从 outbox 读取已持久化的回复,没有到期回复时通过 sendMessageDraft 发送当前任务的流式草稿。草稿与正式回复在同一个发送循环中串行调用,避免终态消息发送后又出现迟到草稿;入站、Codex 事件读取与输入提示仍独立运行。
|
|
254
|
+
|
|
255
|
+
草稿使用任务 ID 作为非零 draft_id,同一 ID 的新增文字由 Telegram 客户端动画展示。最多每秒更新一次,只发送最新文本;无变化时每 20 秒刷新,维持 30 秒的草稿预览。预览保留当前回复末尾 2000 个 Unicode 字符,避免超过 4096 长度限制;不发送思考过程、工具原始输出或其他轮次的文本。草稿只存内存,不逐字写盘。任务结束后清除内存预览,并通过 outbox 发送完整最终结果;正式消息会清除客户端草稿。[流式草稿 API](https://core.telegram.org/bots/api#sendmessagedraft)、[客户端展示与限流](https://core.telegram.org/api/bots/ai)
|
|
256
|
+
|
|
257
|
+
草稿单次调用最多 4 秒,可随关停取消,不经过 auto-retry。429 延后到 retry_after,网络或服务端故障等待 5 秒后尝试最新文本;永久拒绝暂停本次连接的预览,401 退出服务。失败不写入 outbox、不重放旧草稿,不改变任务结果;停止中的任务不再刷新预览。
|
|
246
258
|
|
|
247
259
|
首版输出纯文本和 InlineKeyboard,避免流式半段内容导致格式解析失败。长回复按段落和安全长度分块,保证最终内容完整;状态信息只包含用户有用的会话、工作目录、进度与操作,不展示 RPC ID 等内部实现标识。
|
|
248
260
|
|
|
@@ -250,6 +262,8 @@ Telegram 429 按 retry_after 等待;其他可恢复的网络错误使用有限
|
|
|
250
262
|
|
|
251
263
|
auto-retry 仅用于 Telegram API。普通请求总时限为 15 秒,长轮询为 40 秒;单次调用中 429、5xx 最多重试两次,长等待或网络错误交给外层处理。发送失败由 outbox 持久化退避时间,429 遵守 retry_after;永久拒绝记录日志并移出队列,任务结果仍保留。401、轮询或存储故障退出服务。接收与发送循环独立,等待发送不会阻塞控制消息。Codex turn/start 不自动重试。
|
|
252
264
|
|
|
265
|
+
当前实例已派发或正在执行任务时,独立循环每 4 秒向本人私聊发送 `sendChatAction(typing)`,在 Telegram 客户端显示“正在输入…”。输入提示不写入 outbox,单次最多等待 4 秒,不经过 auto-retry;429 延后下一次刷新,其他错误仅记录安全诊断。任务结束或请求停止后不再刷新,服务关停会中断在途请求;该循环不阻塞入站处理、任务执行或结果发送。[Telegram 输入状态](https://core.telegram.org/bots/api#sendchataction)
|
|
266
|
+
|
|
253
267
|
进度发送积压不能阻塞 Codex 事件读取。等待审批时遇到 Telegram 断线,保留请求至有效期;恢复后只重发仍有效的交互,不复活过期按钮。
|
|
254
268
|
|
|
255
269
|
## 配置与部署
|
|
@@ -308,4 +322,4 @@ Claude 等 Agent 的新增工作集中在会话创建或恢复、任务输入、
|
|
|
308
322
|
| 控制响应 | Codex 持续运行或等待审批时,状态查询与停止仍可用 |
|
|
309
323
|
| 端到端 | 两个临时工作目录、多轮对话、拒绝审批、停止、重启后恢复、连续运行 |
|
|
310
324
|
|
|
311
|
-
已在 macOS、Node.js 24.22.1、Codex CLI 0.165.0 的临时工作区验证真实回复、跨进程会话恢复和 turn/interrupt
|
|
325
|
+
已在 macOS、Node.js 24.22.1、Codex CLI 0.165.0 的临时工作区验证真实回复、跨进程会话恢复和 turn/interrupt;临时文件存储验证覆盖单实例锁、入站去重、忙碌时控制、会话保存与中断恢复。stdio 与共享 WebSocket 的协议模拟验证覆盖执行中补充、连续输入、轮次隔离、慢请求期间停止、提交拒绝、终态竞态、断线与重启不重放,以及文本增量、早到事件和最终文本校正。Telegram API 模拟验证覆盖首段提前展示、草稿合并与续期、限流恢复、Unicode 长文本、终态与草稿发送次序、关停取消和正式结果分段。未向真实 Telegram 聊天发送验证消息,也未完成目标 Linux 的完整 M0 验证。
|
package/docs/prd.md
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
| Agent | Codex;复用服务器上的登录与配置 |
|
|
20
20
|
| 工作目录 | 由任务或会话指定,不设置项目清单或目录白名单 |
|
|
21
21
|
| 会话 | 可新建、选择和继续多个 Agent 会话 |
|
|
22
|
-
| 执行 |
|
|
22
|
+
| 执行 | 全局同时执行一个编码任务;同一聊天的新消息直接补充到当前任务 |
|
|
23
23
|
| 交互 | 文本、进度消息、审批按钮、补充问题、停止任务 |
|
|
24
24
|
| 安装与配置 | npm install -g tellrun,安装后通过 CLI 配置向导完成初始化 |
|
|
25
25
|
| 部署 | 一个 Node.js 常驻后台服务;首版建议由 Linux systemd 用户服务管理 |
|
|
@@ -40,9 +40,9 @@
|
|
|
40
40
|
|
|
41
41
|
2. 未指定工作目录时默认沿用服务启动目录,也可通过 `/cwd 绝对路径` 切换;后续对话沿用该会话的目录。
|
|
42
42
|
|
|
43
|
-
3.
|
|
43
|
+
3. 用户发送任务,执行时客户端显示“正在输入…”,不发送固定接收回执;执行中的新消息立即补充给 Codex,无法接收时给出明确提示。
|
|
44
44
|
|
|
45
|
-
4.
|
|
45
|
+
4. 回复生成时即可看到流式文字,客户端逐步显示新增内容;当前阶段、工具活动摘要和耗时属于后续进度能力。
|
|
46
46
|
|
|
47
47
|
5. 需要授权时,机器人发送审批消息;需要澄清时,发送问题和可选答案。
|
|
48
48
|
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
| P0 01 | 本人授权 | 只有配置的本人可操作机器人 | 其他用户的消息和按钮回调均不能创建任务、读取结果或批准操作 |
|
|
60
60
|
| P0 02 | 工作目录 | 直接指定任务工作目录 | 无需预先登记目录;已排队任务保留提交时的目录 |
|
|
61
61
|
| P0 03 | 会话管理 | 新建、列出、选择和续聊 | 两个会话不串上下文;正常重启后可继续已保存的会话 |
|
|
62
|
-
| P0 04 |
|
|
63
|
-
| P0 05 |
|
|
62
|
+
| P0 04 | 执行中补充 | 普通新消息直接补充到当前 Codex 任务 | 无需等待任务完成;重复事件不重复提交;补充失败明确提示 |
|
|
63
|
+
| P0 05 | 流式输出与结果 | 生成过程中显示文本,结束后保存完整回复 | 首段文字不等待任务结束;成功、失败、主动停止和异常中断分别展示 |
|
|
64
64
|
| P0 06 | 执行审批 | 显示操作及允许或拒绝按钮 | 按钮只作用于对应操作;过期和重复点击不产生额外执行 |
|
|
65
|
-
| P0 07 | 补充问题 | 显示选项,支持明确回复问题 |
|
|
65
|
+
| P0 07 | 补充问题 | 显示选项,支持明确回复问题 | 答案进入对应问题;其他普通消息作为任务补充输入 |
|
|
66
66
|
| P0 08 | 停止任务 | 显示“正在停止”,随后给出停止结果 | 停止指令不被编码任务阻塞;未确认结束前不显示“已停止” |
|
|
67
67
|
| P0 09 | 故障恢复 | 展示异常中断及后续处理入口 | 不自动重放执行结果不确定的任务 |
|
|
68
68
|
| P0 10 | 服务状态 | 查看当前会话、工作目录、任务、队列和连接状态 | 编码任务执行或等待审批时,状态查询仍能响应 |
|
|
@@ -77,12 +77,12 @@
|
|
|
77
77
|
| /status | 显示当前会话、工作目录、运行中的任务、队列和服务状态 |
|
|
78
78
|
| /queue | 查看排队任务,通过按钮取消指定任务 |
|
|
79
79
|
| /stop | 停止当前聊天的活动任务,并暂停该聊天后续队列 |
|
|
80
|
-
| 普通文本 |
|
|
80
|
+
| 普通文本 | 空闲时开始新任务;执行中立即补充到当前任务 |
|
|
81
81
|
| 审批或问题按钮 | 立即处理,不进入编码任务队列 |
|
|
82
82
|
|
|
83
83
|
停止后提供“继续排队”和“清空队列”按钮。已接收任务保留提交时的会话与工作目录。存在问题时,只有点击选项或明确回复该问题消息才作为答案,避免把另一条需求误当作审批或答案。
|
|
84
84
|
|
|
85
|
-
|
|
85
|
+
流式草稿最多每秒更新一次,控制命令回复和完成状态优先发送。预览显示当前回复末尾 2000 个 Unicode 字符;最终长回复按 Telegram 限制拆分并标记顺序,保留完整结果供再次查看。模型表达的结论和程序确认的任务状态分开处理:只能依据执行事件判断是否完成,不能仅因回复里出现“完成”就标记成功。
|
|
86
86
|
|
|
87
87
|
Telegram 支持长轮询,服务器主动接收更新;这种部署方式无需公开 Webhook 接收地址。[grammY 部署说明](https://grammy.dev/guide/deployment-types)
|
|
88
88
|
|
|
@@ -129,7 +129,7 @@ Telegram 支持长轮询,服务器主动接收更新;这种部署方式无
|
|
|
129
129
|
|
|
130
130
|
## 实施阶段与扩展方向
|
|
131
131
|
|
|
132
|
-
当前最小链路支持直接发送普通消息给 Codex 并沿用会话,默认使用服务启动目录,`/cwd 绝对路径` 可选;支持 `/new`、`/status`、`/stop`、`/resume`、`/last
|
|
132
|
+
当前最小链路支持直接发送普通消息给 Codex 并沿用会话,默认使用服务启动目录,`/cwd 绝对路径` 可选;支持 `/new`、`/status`、`/stop`、`/resume`、`/last`。执行中的新文本通过 turn/steer 补充到当前任务,无需等待任务完成;审批和结构化提问尚未接入时明确中断。已在本机验证回复、续聊和停止,目标 Linux 与完整审批协议仍待验证。
|
|
133
133
|
|
|
134
134
|
| 阶段 | 交付 | 进入下一阶段的条件 |
|
|
135
135
|
| --- | --- | --- |
|
package/package.json
CHANGED
|
@@ -1,7 +1,31 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tellrun",
|
|
3
|
-
"version": "1.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.1.2",
|
|
4
|
+
"description": "Self-hosted Telegram bot for remote AI coding with OpenAI Codex CLI, persistent sessions, and streaming replies.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"codex",
|
|
7
|
+
"codex-cli",
|
|
8
|
+
"openai",
|
|
9
|
+
"openai-codex",
|
|
10
|
+
"telegram",
|
|
11
|
+
"telegram-bot",
|
|
12
|
+
"ai-coding",
|
|
13
|
+
"ai-agent",
|
|
14
|
+
"coding-agent",
|
|
15
|
+
"coding-assistant",
|
|
16
|
+
"remote-coding",
|
|
17
|
+
"self-hosted",
|
|
18
|
+
"chatops",
|
|
19
|
+
"bridge"
|
|
20
|
+
],
|
|
21
|
+
"homepage": "https://github.com/chaoyue1998/tellrun#readme",
|
|
22
|
+
"repository": {
|
|
23
|
+
"type": "git",
|
|
24
|
+
"url": "git+https://github.com/chaoyue1998/tellrun.git"
|
|
25
|
+
},
|
|
26
|
+
"bugs": {
|
|
27
|
+
"url": "https://github.com/chaoyue1998/tellrun/issues"
|
|
28
|
+
},
|
|
5
29
|
"type": "module",
|
|
6
30
|
"bin": {
|
|
7
31
|
"tellrun": "dist/cli.js"
|
|
@@ -28,17 +52,20 @@
|
|
|
28
52
|
"@grammyjs/auto-retry": "2.0.2",
|
|
29
53
|
"commander": "15.0.0",
|
|
30
54
|
"grammy": "1.46.0",
|
|
55
|
+
"json-rpc-2.0": "1.8.1",
|
|
31
56
|
"pino": "10.4.0",
|
|
32
57
|
"which": "7.0.0",
|
|
58
|
+
"ws": "8.22.0",
|
|
33
59
|
"zod": "4.6.7"
|
|
34
60
|
},
|
|
35
61
|
"devDependencies": {
|
|
36
62
|
"@biomejs/biome": "2.6.3",
|
|
37
63
|
"@types/node": "24.19.2",
|
|
38
64
|
"@types/which": "3.0.4",
|
|
65
|
+
"@types/ws": "8.18.2",
|
|
39
66
|
"tsx": "4.23.15",
|
|
40
67
|
"typescript": "7.0.2"
|
|
41
68
|
},
|
|
42
|
-
"author": "",
|
|
43
|
-
"license": "
|
|
44
|
-
}
|
|
69
|
+
"author": "chaoyue1998",
|
|
70
|
+
"license": "MIT"
|
|
71
|
+
}
|