tellrun 1.2.4 → 1.3.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/README.md +8 -0
- package/README.zh-CN.md +8 -0
- package/dist/agents/codex.js +181 -99
- package/dist/agents/codex.js.map +1 -1
- package/dist/core/relay.js +19 -7
- package/dist/core/relay.js.map +1 -1
- package/dist/im/telegram.js +80 -31
- package/dist/im/telegram.js.map +1 -1
- package/dist/main.js +1 -1
- package/dist/main.js.map +1 -1
- package/dist/storage/schema.js +15 -0
- package/dist/storage/schema.js.map +1 -1
- package/dist/storage/store.js +116 -12
- package/dist/storage/store.js.map +1 -1
- package/docs/architecture.md +57 -47
- package/docs/prd.md +6 -3
- package/package.json +1 -1
package/dist/storage/store.js
CHANGED
|
@@ -87,12 +87,22 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
87
87
|
attempts: 0,
|
|
88
88
|
retryAt: Date.now(),
|
|
89
89
|
...delivery,
|
|
90
|
-
...(delivery.interactionId && !delivery.messageId
|
|
90
|
+
...((delivery.interactionId || delivery.permissionMenuId) && !delivery.messageId
|
|
91
91
|
? { promptEnd: index === parts.length - 1 }
|
|
92
92
|
: {}),
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
|
+
/** 新建、使用或失效菜单时清理按钮,发送途中的旧消息由回执继续清理。 */
|
|
97
|
+
function closePermissionMenu(channelId) {
|
|
98
|
+
const channel = state.channels.find((item) => item.id === channelId);
|
|
99
|
+
if (!channel?.permissionMenu)
|
|
100
|
+
return;
|
|
101
|
+
state.outbox = state.outbox.filter((reply) => reply.permissionMenuId !== channel.permissionMenu?.id);
|
|
102
|
+
for (const message of channel.permissionMenu.messages)
|
|
103
|
+
enqueueReply(channel.id, message.text, { messageId: message.messageId });
|
|
104
|
+
channel.permissionMenu = null;
|
|
105
|
+
}
|
|
96
106
|
/** 关闭请求或单个已答问题;撤回未发送提示,已发送消息保留正文并移除按钮。 */
|
|
97
107
|
function closeInteraction(id, reason, questionIndex) {
|
|
98
108
|
const interaction = state.interactions.find((item) => item.id === id);
|
|
@@ -177,7 +187,9 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
177
187
|
channel.chatId === message.channel.chatId);
|
|
178
188
|
if (existing &&
|
|
179
189
|
state.inboundUpdates.some((item) => item.channelId === existing.id && item.eventId === message.eventId))
|
|
180
|
-
return
|
|
190
|
+
return ["interaction", "permissions"].includes(message.content.type)
|
|
191
|
+
? "Already handled."
|
|
192
|
+
: undefined;
|
|
181
193
|
return update(() => {
|
|
182
194
|
let channel = state.channels.find((channel) => channel.id === existing?.id);
|
|
183
195
|
if (!channel) {
|
|
@@ -187,6 +199,8 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
187
199
|
cwd: null,
|
|
188
200
|
sessionId: null,
|
|
189
201
|
paused: false,
|
|
202
|
+
permissionMode: null,
|
|
203
|
+
permissionMenu: null,
|
|
190
204
|
};
|
|
191
205
|
state.channels.push(channel);
|
|
192
206
|
}
|
|
@@ -196,7 +210,7 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
196
210
|
eventId: message.eventId,
|
|
197
211
|
});
|
|
198
212
|
const reply = handle(channel);
|
|
199
|
-
if (message.content.type
|
|
213
|
+
if (!["interaction", "permissions"].includes(message.content.type))
|
|
200
214
|
enqueueReply(channel.id, reply);
|
|
201
215
|
return reply;
|
|
202
216
|
});
|
|
@@ -218,9 +232,51 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
218
232
|
setSession(channelId, cwd) {
|
|
219
233
|
update(() => {
|
|
220
234
|
const channel = state.channels.find((channel) => channel.id === channelId);
|
|
221
|
-
if (channel)
|
|
235
|
+
if (channel) {
|
|
236
|
+
closePermissionMenu(channelId);
|
|
237
|
+
if (cwd !== channel.cwd)
|
|
238
|
+
channel.permissionMode = null;
|
|
222
239
|
Object.assign(channel, { cwd, sessionId: null });
|
|
240
|
+
}
|
|
241
|
+
});
|
|
242
|
+
},
|
|
243
|
+
/** 菜单只依赖通用模式信息;不启动 Agent 或调用模型。 */
|
|
244
|
+
openPermissions(channelId, modes) {
|
|
245
|
+
update(() => {
|
|
246
|
+
const channel = state.channels.find((item) => item.id === channelId);
|
|
247
|
+
if (!channel)
|
|
248
|
+
return;
|
|
249
|
+
closePermissionMenu(channelId);
|
|
250
|
+
channel.permissionMenu = {
|
|
251
|
+
id: crypto.randomUUID(),
|
|
252
|
+
expiresAt: Date.now() + 600_000,
|
|
253
|
+
options: modes.map(({ id, label }) => ({ id, label })),
|
|
254
|
+
messages: [],
|
|
255
|
+
};
|
|
256
|
+
enqueueReply(channelId, `Permissions\nCurrent selection: ${modes.find((mode) => mode.id === channel.permissionMode)?.label ?? channel.permissionMode ?? modes[0]?.label ?? "Not set"}\n\n${modes.map((mode, index) => `${index + 1}. ${mode.label}`).join("\n")}\n\nApplies to future tasks. The current task keeps its permissions. Modes are subject to local configuration.`, { permissionMenuId: channel.permissionMenu.id });
|
|
257
|
+
});
|
|
258
|
+
},
|
|
259
|
+
/** 校验聊天、原消息、菜单和有效期;只保存模式,不改变已提交任务的快照。 */
|
|
260
|
+
choosePermissions(channelId, content) {
|
|
261
|
+
const channel = state.channels.find((item) => item.id === channelId);
|
|
262
|
+
const menu = channel?.permissionMenu;
|
|
263
|
+
if (!menu ||
|
|
264
|
+
menu.id !== content.id ||
|
|
265
|
+
menu.expiresAt <= Date.now() ||
|
|
266
|
+
!menu.messages.some((message) => message.messageId === content.messageId))
|
|
267
|
+
return "Menu expired. Open /permissions again.";
|
|
268
|
+
const option = menu.options[content.optionIndex];
|
|
269
|
+
if (!option)
|
|
270
|
+
return "Invalid permission option.";
|
|
271
|
+
update(() => {
|
|
272
|
+
const current = state.channels.find((item) => item.id === channelId);
|
|
273
|
+
if (!current)
|
|
274
|
+
return;
|
|
275
|
+
current.permissionMode = option.id;
|
|
276
|
+
closePermissionMenu(channelId);
|
|
277
|
+
enqueueReply(channelId, `Selected: ${option.label}. Applies to the next task.`);
|
|
223
278
|
});
|
|
279
|
+
return "Permission mode saved.";
|
|
224
280
|
},
|
|
225
281
|
/** 暂停状态跨重启保留,恢复须由用户明确触发。 */
|
|
226
282
|
setPaused(channelId, paused) {
|
|
@@ -274,7 +330,9 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
274
330
|
channelId: channel.id,
|
|
275
331
|
cwd: channel.cwd,
|
|
276
332
|
sessionId: channel.sessionId,
|
|
333
|
+
runId: null,
|
|
277
334
|
prompt,
|
|
335
|
+
permissionMode: channel.permissionMode,
|
|
278
336
|
inputs: [],
|
|
279
337
|
status: "queued",
|
|
280
338
|
result: null,
|
|
@@ -321,20 +379,23 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
321
379
|
enqueueReply(task.channelId, `Task #${id}, message ${index + 1}: ${error}`);
|
|
322
380
|
});
|
|
323
381
|
},
|
|
324
|
-
/**
|
|
382
|
+
/** 领取新任务或已保存轮次;恢复只连接后台,不能重发原始输入。 */
|
|
325
383
|
claimTask(source) {
|
|
326
|
-
const index = state.tasks.findIndex((task) => task.status
|
|
384
|
+
const index = state.tasks.findIndex((task) => activeTaskStatuses.has(task.status));
|
|
327
385
|
const task = state.tasks[index];
|
|
328
386
|
const channel = state.channels.find((channel) => channel.id === task?.channelId);
|
|
329
387
|
if (!task ||
|
|
330
388
|
!channel ||
|
|
331
|
-
channel.paused ||
|
|
389
|
+
(channel.paused && !task.runId) ||
|
|
332
390
|
channel.platform !== source.platform ||
|
|
333
391
|
channel.accountId !== source.accountId ||
|
|
334
392
|
channel.userId !== source.userId)
|
|
335
393
|
return;
|
|
336
394
|
return update(() => {
|
|
337
|
-
const claimed = {
|
|
395
|
+
const claimed = {
|
|
396
|
+
...task,
|
|
397
|
+
status: task.status === "cancelling" ? "cancelling" : "dispatching",
|
|
398
|
+
};
|
|
338
399
|
state.tasks[index] = claimed;
|
|
339
400
|
return claimed;
|
|
340
401
|
});
|
|
@@ -351,11 +412,16 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
351
412
|
channel.sessionId = sessionId;
|
|
352
413
|
});
|
|
353
414
|
},
|
|
354
|
-
/**
|
|
355
|
-
markRunning(id) {
|
|
415
|
+
/** 轮次 ID 与执行状态一起落盘;迟到通知不能撤销停止请求。 */
|
|
416
|
+
markRunning(id, runId) {
|
|
356
417
|
update(() => {
|
|
357
418
|
const task = state.tasks.find((task) => task.id === id);
|
|
358
|
-
if (task
|
|
419
|
+
if (!task || !activeTaskStatuses.has(task.status))
|
|
420
|
+
return;
|
|
421
|
+
if (task.runId && task.runId !== runId)
|
|
422
|
+
throw new Error("Task turn changed.");
|
|
423
|
+
task.runId = runId;
|
|
424
|
+
if (task.status === "dispatching")
|
|
359
425
|
task.status = "running";
|
|
360
426
|
});
|
|
361
427
|
},
|
|
@@ -483,9 +549,27 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
483
549
|
});
|
|
484
550
|
},
|
|
485
551
|
closeInteraction,
|
|
486
|
-
/**
|
|
552
|
+
/** 有轮次 ID 的任务重新连接;未确认派发和在途输入不自动重放。 */
|
|
487
553
|
recoverTasks() {
|
|
554
|
+
if (state.channels.some((channel) => channel.permissionMenu))
|
|
555
|
+
update(() => {
|
|
556
|
+
for (const channel of state.channels)
|
|
557
|
+
closePermissionMenu(channel.id);
|
|
558
|
+
});
|
|
488
559
|
for (const task of state.tasks.filter((task) => activeTaskStatuses.has(task.status) && task.status !== "queued")) {
|
|
560
|
+
if (task.sessionId && task.runId) {
|
|
561
|
+
for (const [index, input] of task.inputs.entries()) {
|
|
562
|
+
if (input.status !== "sending")
|
|
563
|
+
continue;
|
|
564
|
+
update(() => {
|
|
565
|
+
const current = state.tasks.find((item) => item.id === task.id)?.inputs[index];
|
|
566
|
+
if (current)
|
|
567
|
+
current.status = "failed";
|
|
568
|
+
enqueueReply(task.channelId, `Task #${task.id}, message ${index + 1}: delivery unconfirmed after restart. Not retried; check the session before resending.`);
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
continue;
|
|
572
|
+
}
|
|
489
573
|
finishTask(task.id, {
|
|
490
574
|
status: "interrupted",
|
|
491
575
|
text: "Service restarted; task result unknown. Check the project, then /resume and send a new task.",
|
|
@@ -498,6 +582,9 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
498
582
|
claimReply(accountId, userId) {
|
|
499
583
|
if (delivering)
|
|
500
584
|
return;
|
|
585
|
+
for (const channel of state.channels)
|
|
586
|
+
if (channel.permissionMenu && channel.permissionMenu.expiresAt <= Date.now())
|
|
587
|
+
update(() => closePermissionMenu(channel.id));
|
|
501
588
|
for (const reply of state.outbox) {
|
|
502
589
|
const interaction = state.interactions.find((item) => item.id === reply.interactionId);
|
|
503
590
|
if (reply.interactionId &&
|
|
@@ -518,6 +605,9 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
518
605
|
...reply,
|
|
519
606
|
chatId: channel.chatId,
|
|
520
607
|
interaction,
|
|
608
|
+
permissionMenu: channel.permissionMenu?.id === reply.permissionMenuId
|
|
609
|
+
? channel.permissionMenu
|
|
610
|
+
: undefined,
|
|
521
611
|
});
|
|
522
612
|
}
|
|
523
613
|
}
|
|
@@ -525,9 +615,23 @@ export function openStore(path = join(appDirectory, "state.json")) {
|
|
|
525
615
|
/** 发送成功或永久拒绝后移出队列;/last 只保留每个聊天的最近结果。 */
|
|
526
616
|
removeReply(id, delivery) {
|
|
527
617
|
update(() => {
|
|
618
|
+
const channelId = delivering?.id === id
|
|
619
|
+
? delivering.channelId
|
|
620
|
+
: state.outbox.find((reply) => reply.id === id)?.channelId;
|
|
528
621
|
if (delivering?.id === id)
|
|
529
622
|
delivering = undefined;
|
|
530
623
|
state.outbox = state.outbox.filter((reply) => reply.id !== id);
|
|
624
|
+
if (delivery?.permissionMenuId && channelId !== undefined) {
|
|
625
|
+
const channel = state.channels.find((item) => item.id === channelId);
|
|
626
|
+
if (channel?.permissionMenu?.id === delivery.permissionMenuId &&
|
|
627
|
+
channel.permissionMenu.expiresAt > Date.now())
|
|
628
|
+
channel.permissionMenu.messages.push({
|
|
629
|
+
messageId: delivery.messageId,
|
|
630
|
+
text: delivery.text,
|
|
631
|
+
});
|
|
632
|
+
else
|
|
633
|
+
enqueueReply(channelId, delivery.text, { messageId: delivery.messageId });
|
|
634
|
+
}
|
|
531
635
|
const interaction = state.interactions.find((item) => item.id === delivery?.interactionId);
|
|
532
636
|
const task = state.tasks.find((task) => task.id === interaction?.taskId);
|
|
533
637
|
if (interaction && task && delivery) {
|
|
@@ -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/docs/architecture.md
CHANGED
|
@@ -6,21 +6,23 @@
|
|
|
6
6
|
|
|
7
7
|
当前实现沿用现有技术栈和单进程结构。入站去重、任务与 outbox 的原子保存、单实例约束和最小停止能力随真实任务一起接入;本地 Codex 后台连接使用 ws,不新增测试文件。
|
|
8
8
|
|
|
9
|
+
项目中的提示语言默认是英文。
|
|
10
|
+
|
|
9
11
|
## 核心架构决定
|
|
10
12
|
|
|
11
|
-
| 决策 | 首版方案 | 原因与边界
|
|
12
|
-
| -------------- | -------------------------------------------------------- |
|
|
13
|
-
| 服务形态 | 全局 npm CLI + 单进程 Node.js 后台服务,内部按职责分模块 | CLI 管理配置与启停,后台进程持续处理消息和任务
|
|
14
|
-
| CLI 与交互配置 | Commander + @clack/prompts | 提供子命令、帮助和配置向导;不引入通用依赖注入框架
|
|
15
|
-
| IM 框架 | grammY,Telegram 长轮询 | 入口是 Bot 消息与按钮;无需公网入站接口
|
|
16
|
-
| HTTP 框架 | 首版无需引入;需要 Webhook 或管理 API 时采用 Fastify | 避免为当前没有的 HTTP 业务增加服务层
|
|
17
|
-
| Codex 接入 | app-server,本地 WebSocket 或 stdio 双向 JSON-RPC | 需要完整的会话、审批、问题和中断交互
|
|
18
|
-
| Codex 进程 | 优先复用本机后台服务,不可用时启动独立子进程 | 复用空闲会话的写锁,任务仍串行并沿用持久化 thread ID
|
|
19
|
-
| 数据 | Node.js 文件接口 + JSON | 配置与状态分开保存,使用原子替换
|
|
20
|
-
| 调度 | 文件中的任务记录 + 单个 Worker | 队列状态可恢复;控制消息不等待编码任务
|
|
21
|
-
| 消息发送 | 本地 outbox + 进度合并 | Telegram 故障不改变编码任务的执行结果
|
|
22
|
-
| 部署 | npm 全局安装,Linux systemd 或 macOS launchd 用户服务
|
|
23
|
-
| 扩展 | 按 Agent、IM、核心业务和存储组织模块,共用必要的消息类型 | 保持职责清晰,不为分层额外引入基类、注册器或重复转发
|
|
13
|
+
| 决策 | 首版方案 | 原因与边界 |
|
|
14
|
+
| -------------- | -------------------------------------------------------- | ---------------------------------------------------- |
|
|
15
|
+
| 服务形态 | 全局 npm CLI + 单进程 Node.js 后台服务,内部按职责分模块 | CLI 管理配置与启停,后台进程持续处理消息和任务 |
|
|
16
|
+
| CLI 与交互配置 | Commander + @clack/prompts | 提供子命令、帮助和配置向导;不引入通用依赖注入框架 |
|
|
17
|
+
| IM 框架 | grammY,Telegram 长轮询 | 入口是 Bot 消息与按钮;无需公网入站接口 |
|
|
18
|
+
| HTTP 框架 | 首版无需引入;需要 Webhook 或管理 API 时采用 Fastify | 避免为当前没有的 HTTP 业务增加服务层 |
|
|
19
|
+
| Codex 接入 | app-server,本地 WebSocket 或 stdio 双向 JSON-RPC | 需要完整的会话、审批、问题和中断交互 |
|
|
20
|
+
| Codex 进程 | 优先复用本机后台服务,不可用时启动独立子进程 | 复用空闲会话的写锁,任务仍串行并沿用持久化 thread ID |
|
|
21
|
+
| 数据 | Node.js 文件接口 + JSON | 配置与状态分开保存,使用原子替换 |
|
|
22
|
+
| 调度 | 文件中的任务记录 + 单个 Worker | 队列状态可恢复;控制消息不等待编码任务 |
|
|
23
|
+
| 消息发送 | 本地 outbox + 进度合并 | Telegram 故障不改变编码任务的执行结果 |
|
|
24
|
+
| 部署 | npm 全局安装,Linux systemd 或 macOS launchd 用户服务 | 配置向导完成初始化,由系统管理后台运行与故障重启 |
|
|
25
|
+
| 扩展 | 按 Agent、IM、核心业务和存储组织模块,共用必要的消息类型 | 保持职责清晰,不为分层额外引入基类、注册器或重复转发 |
|
|
24
26
|
|
|
25
27
|
```mermaid
|
|
26
28
|
flowchart TB
|
|
@@ -88,16 +90,16 @@ Node.js 24 当前列为 LTS;grammY 提供 Node.js / TypeScript 开发路径。
|
|
|
88
90
|
|
|
89
91
|
CLI 与打包入口已接入,可使用 `npm pack` 的本地产物全局安装。本轮不执行 npm 发布;发布后通过 `npm install -g tellrun` 安装,再运行 CLI 完成交互配置和后台启动。以下命令已实现,Linux systemd 的真实服务验收仍需在服务器完成。
|
|
90
92
|
|
|
91
|
-
| 命令 | 目标行为
|
|
92
|
-
| ------------------------- |
|
|
93
|
-
| tellrun setup | 交互填写 Bot Token、本人 ID,检查 Codex 路径与运行环境;保存后可启动后台服务并设置自动启动
|
|
93
|
+
| 命令 | 目标行为 |
|
|
94
|
+
| ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
95
|
+
| tellrun setup | 交互填写 Bot Token、本人 ID,检查 Codex 路径与运行环境;保存后可启动后台服务并设置自动启动 |
|
|
94
96
|
| tellrun start | 检查配置、创建或更新用户服务并启动;重复调用不创建第二个实例;--enable 在 Linux 启用开机自启,在 macOS 启用登录自启 |
|
|
95
|
-
| tellrun stop | 停止后台服务及受管理子进程,等待实际结束后报告结果
|
|
96
|
-
| tellrun restart | 完成停止后重新启动;用于配置变更或 npm 升级后加载新版本
|
|
97
|
-
| tellrun status | 查询服务管理器状态并展示配置、数据目录;不启动第二个业务进程
|
|
98
|
-
| tellrun logs | 展示最近 100 条后台日志;-f 持续跟随,凭据不进入命令行参数
|
|
99
|
-
| tellrun run | 前台运行服务,供 systemd、launchd 和本地诊断使用;不进行交互配置
|
|
100
|
-
| tellrun service uninstall | 停用并移除本应用的用户服务,保留配置和状态文件;之后可通过 npm 卸载程序包
|
|
97
|
+
| tellrun stop | 停止后台服务及受管理子进程,等待实际结束后报告结果 |
|
|
98
|
+
| tellrun restart | 完成停止后重新启动;用于配置变更或 npm 升级后加载新版本 |
|
|
99
|
+
| tellrun status | 查询服务管理器状态并展示配置、数据目录;不启动第二个业务进程 |
|
|
100
|
+
| tellrun logs | 展示最近 100 条后台日志;-f 持续跟随,凭据不进入命令行参数 |
|
|
101
|
+
| tellrun run | 前台运行服务,供 systemd、launchd 和本地诊断使用;不进行交互配置 |
|
|
102
|
+
| tellrun service uninstall | 停用并移除本应用的用户服务,保留配置和状态文件;之后可通过 npm 卸载程序包 |
|
|
101
103
|
|
|
102
104
|
`setup` 由用户显式执行,npm 安装脚本仅承担包安装所需工作。交互取消时保留原配置,Token 使用明文输入,已有配置时留空保留原值;校验成功后再原子写入配置。CLI 的帮助、版本和状态命令不加载会加载运行状态或启动轮询的业务入口。
|
|
103
105
|
|
|
@@ -110,18 +112,18 @@ CLI 与打包入口已接入,可使用 `npm pack` 的本地产物全局安装
|
|
|
110
112
|
| 模块 | 职责 |
|
|
111
113
|
| ------------------------------------------- | ------------------------------------------------------------ |
|
|
112
114
|
| src/cli.ts | CLI 命令解析与配置向导;只在 run 时动态加载后台业务入口 |
|
|
113
|
-
| src/service.ts
|
|
115
|
+
| src/service.ts | 共用后台命令接口,按操作系统选择服务管理器 |
|
|
114
116
|
| src/systemd.ts | systemd 用户服务、linger、启停、状态与日志 |
|
|
115
|
-
| src/launchd.ts
|
|
117
|
+
| src/launchd.ts | macOS 用户服务、登录自启、就绪确认、启停与日志 |
|
|
116
118
|
| src/main.ts | 组装组件、状态加载、启动和退出;只在这里选择具体 IM 与 Agent |
|
|
117
119
|
| src/config.ts、src/logger.ts | Telegram 凭据与本人身份校验、结构化日志 |
|
|
118
120
|
| src/im/telegram.ts | grammY 接入、本人验证、入站标准化、回复与连接生命周期 |
|
|
119
121
|
| src/agents/codex.ts | Codex app-server 连接、协议校验、会话创建或恢复、执行与中断 |
|
|
120
|
-
| src/agents/codex-interaction.ts | 审批与提问请求的校验、交互内容转换和文件变更格式
|
|
122
|
+
| src/agents/codex-interaction.ts | 审批与提问请求的校验、交互内容转换和文件变更格式 |
|
|
121
123
|
| src/core/relay.ts | 平台无关的命令处理、单会话协调和串行任务执行 |
|
|
122
124
|
| src/core/types.ts | 实际跨模块复用的来源、消息、Agent 接口和执行结果 |
|
|
123
|
-
| src/storage/store.ts、src/storage/schema.ts | JSON 状态读写、结构校验与业务操作
|
|
124
|
-
| src/storage/lock.ts | 单实例锁的获取、旧锁回收与所有权释放
|
|
125
|
+
| src/storage/store.ts、src/storage/schema.ts | JSON 状态读写、结构校验与业务操作 |
|
|
126
|
+
| src/storage/lock.ts | 单实例锁的获取、旧锁回收与所有权释放 |
|
|
125
127
|
| src/storage/json.ts | 配置与状态共用的 JSON 原子写入 |
|
|
126
128
|
|
|
127
129
|
Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent 模块使用。核心层只处理应用自己的消息与回复,通过存储模块暴露的操作读写状态;不直接使用 grammY 或 Codex 协议。IM 来源标识统一为字符串,避免把 Telegram 数字 ID 的假设带到其他平台。
|
|
@@ -180,15 +182,15 @@ Telegram SDK 类型仅在 IM 连接模块使用,Codex RPC 类型仅在 Agent
|
|
|
180
182
|
|
|
181
183
|
## Codex 协议与生命周期
|
|
182
184
|
|
|
183
|
-
|
|
185
|
+
每次任务连接 `CODEX_HOME`(默认 `~/.codex`)下的 `app-server-control/app-server-control.sock`,通过 ws 建立 Unix socket 上的 WebSocket 连接,握手最多等待 5 秒。连接失败时调用 Codex 0.165.0 的 `app-server daemon bootstrap`,由系统管理独立后台,再尝试连接一次。bootstrap 最多等待 30 秒,可随 Tellrun 退出取消;失败时明确提示,不回退到随 Tellrun 服务一起退出的子进程。WebSocket 一帧一条 RPC 消息,省略 `jsonrpc` 字段。[传输协议](https://learn.chatgpt.com/docs/app-server#protocol)
|
|
184
186
|
|
|
185
187
|
每个连接先发送 `initialize` 并等待响应,再发送 `initialized` 通知,之后才能创建或恢复 thread;空闲时的普通消息启动 turn,执行中的补充消息使用 turn/steer,并传入当前 threadId 与 expectedTurnId、校验返回的 turnId;中断通过 turn/interrupt 请求。只根据 turn/completed 的实际状态判定完成、失败或中断。请求超时、进程退出和没有收到事件,都不等价于成功。[协议与生命周期](https://learn.chatgpt.com/docs/app-server)
|
|
186
188
|
|
|
187
|
-
请求管理使用 `json-rpc-2.0` 的 `JSONRPCClient`,收发边界适配 Codex 省略 `jsonrpc`
|
|
189
|
+
请求管理使用 `json-rpc-2.0` 的 `JSONRPCClient`,收发边界适配 Codex 省略 `jsonrpc` 字段的消息格式。单次请求超时为 30 秒,超时结束本次跟踪并释放等待中的请求,不自动取消后台任务。Zod 校验、事件归属与任务状态由应用处理;服务端拒绝和本地连接故障分别映射提示,补充输入在断线后保持“提交状态不确定”,不自动重试。
|
|
188
190
|
|
|
189
191
|
Codex 后台会在最后一个订阅者断开且会话无活动 30 分钟后才卸载,因此客户端关闭后仍可能持有空闲会话的写锁。Tellrun 复用该后台连接;恢复前通过 `thread/read` 检查状态,恢复后再次确认空闲,再提交任务。对其他进程仍持有写锁的情况保留原 thread ID 并提示连接问题,不自动创建新会话或重跑任务,不转发原始错误内容。[会话卸载规则](https://learn.chatgpt.com/docs/app-server#unsubscribe-from-a-loaded-thread)
|
|
190
192
|
|
|
191
|
-
RPC
|
|
193
|
+
RPC 和待响应请求按每次连接隔离,thread ID 与已确认的 turn ID 随任务状态保存。新任务在 turn/start 响应前暂存事件;重启恢复通过 thread/resume 订阅原会话,不覆盖权限,也不发送 turn/start。随后按 thread/turns/list 分页读取完整轮次,匹配保存的 turn ID,补回离线输出并继续实时跟踪;已结束的轮次直接保存原结果。缓冲增量不重复拼接,仍处理服务端重发的交互与终态。其他会话或轮次的事件不能改变归属。服务退出只关闭自己的连接,run 返回 undefined,核心层保留任务;显式停止任务才发送 turn/interrupt。协议字段由 Codex 0.165.0 的 generate-ts 输出核对,并用 Zod 校验。
|
|
192
194
|
|
|
193
195
|
| 协议工作 | 首版要求 |
|
|
194
196
|
| -------------- | ------------------------------------------------------------------------------------------------------------------ |
|
|
@@ -228,6 +230,10 @@ Codex 模型、provider 和认证优先沿用服务用户已有配置。应用
|
|
|
228
230
|
|
|
229
231
|
默认采用工作区可写与按需审批,保留 Codex 的实际权限判断,不提供“全部允许”的默认模式。
|
|
230
232
|
|
|
233
|
+
`/permissions` 使用固定四档:Ask for approval(workspace-write / on-request / user)、Approve for me(workspace-write / on-request / auto_review)、Full Access(danger-full-access / never / user)和 Read Only(read-only / on-request / user)。三项分别对应 sandbox、approvalPolicy 和 approvalsReviewer;定义集中在 Codex 适配器,菜单和执行共用。核心层仅依赖 Agent 提供的模式 ID、名称,以及任务输入的模式 ID,不保存 Codex 协议参数,也不增加权限查询连接或后台工作循环。
|
|
234
|
+
|
|
235
|
+
聊天保存当前选择,任务提交时复制模式 ID;旧文件补空值,沿用默认模式。选择跨重启与同目录 `/new` 保留,换目录恢复默认。菜单使用独立 UUID、原消息与聊天校验、10 分钟有效期;重新打开、新建会话、切换目录和重启均撤回旧按钮,发送途中的旧菜单由迟到回执清理。菜单与选择都通过现有 outbox 持久化,点击回调不执行 RPC。新建或恢复 Codex 会话时传入所选模式,并核对服务端返回的三项实际设置;拒绝或不符时不发送 turn/start。运行中切换不改变当前任务及 turn/steer,状态查询在模式不同时分别展示。
|
|
236
|
+
|
|
231
237
|
## 任务状态与恢复语义
|
|
232
238
|
|
|
233
239
|
| 状态 | 含义及允许的后续动作 |
|
|
@@ -245,13 +251,13 @@ Codex 模型、provider 和认证优先沿用服务用户已有配置。应用
|
|
|
245
251
|
|
|
246
252
|
停止操作把当前聊天的 paused 设为 true,先保存停止状态并作废其待处理按钮,再请求中断活动 turn。收到实际终态后再更新界面。无法确认退出时,清理本连接或受管理进程组并记录 interrupted;检查项目与本机进程后由用户恢复接收。
|
|
247
253
|
|
|
248
|
-
|
|
254
|
+
正常关停先停止入站轮询,断开 Agent 连接后释放状态锁,Codex 后台与任务继续运行。重启后 queued 记录保留;已有 thread ID 与 turn ID 的任务重新连接并恢复跟踪,cancelling 继续提交原轮次的明确停止请求。尚未确认轮次 ID 的 dispatching、running 和 cancelling 仍进入 interrupted,暂停对应聊天,不猜测或重跑。旧交互失效,服务端重新发出的请求生成新按钮;在途补充输入标记提交不确定,不自动重发,尚未发送的输入待恢复连接后继续发送。
|
|
249
255
|
|
|
250
|
-
|
|
256
|
+
恢复上下文与活动任务使用保存的 Agent 会话和轮次 ID;原来的 RPC 等待对象不能跨进程恢复,客户端重新订阅与读取快照。无法确认原轮次时提示本机检查,不创建替代轮次。
|
|
251
257
|
|
|
252
258
|
一致性目标是:同一入站事件只创建一个任务,明确的终态只生效一次,结果不确定的执行不自动重放。Telegram、状态文件和 Codex 的变更无法一次原子提交,因此不宣称端到端 exactly-once。
|
|
253
259
|
|
|
254
|
-
尤其在“Codex 已收到 turn/start,但 Tellrun 尚未收到响应”这一窗口崩溃时,必须保留不确定状态,不能因为没拿到响应就自动重发。持久化的 dispatching
|
|
260
|
+
尤其在“Codex 已收到 turn/start,但 Tellrun 尚未收到响应”这一窗口崩溃时,必须保留不确定状态,不能因为没拿到响应就自动重发。持久化的 dispatching 状态与空 runId 用于识别这种情况;只有已保存的轮次 ID 才能自动恢复跟踪。
|
|
255
261
|
|
|
256
262
|
补充输入保存在任务的 inputs 中,旧状态文件缺少该字段时默认为空数组。与入站事件一起保存 pending,发送前先保存 sending,收到接收确认后保存 accepted,失败保存 failed 并提示。重启或任务结束时,对仍为 pending 或 sending 的输入分别提示尚未提交或结果待确认,不自动重放;成功补充不生成固定回执。补充请求被拒绝不改变原任务结果,通信故障仍按连接中断处理。
|
|
257
263
|
|
|
@@ -277,20 +283,20 @@ auto-retry 仅用于 Telegram API。普通请求总时限为 15 秒,长轮询
|
|
|
277
283
|
|
|
278
284
|
配置、运行状态、锁和服务定义统一保存在当前用户主目录下的 `.tellrun/`;源码开发与全局安装共用同一布局。源码 npm scripts 仍可读取 `.env` 覆盖 Telegram 凭据和 Codex 路径;后台启动要求向导已保存完整配置,不依赖 CLI 的临时环境。
|
|
279
285
|
|
|
280
|
-
| 配置项 | 保存位置与约束
|
|
281
|
-
| ---------------------------- |
|
|
282
|
-
| 用户配置 | `~/.tellrun/config.json`;目录权限 0700,文件权限 0600
|
|
283
|
-
| Telegram Bot Token 与本人 ID | 由 setup 写入配置,保留环境变量覆盖能力;不依赖可修改的 username
|
|
284
|
-
| Telegram 代理 | `telegram.proxyUrl` 可选,由用户自行配置;未指定时继承运行环境的代理,setup 保留已有显式配置
|
|
285
|
-
| 工作目录 | 后续由任务或会话指定,不设置目录白名单
|
|
286
|
-
| Codex 命令 | 配置时解析可执行文件的绝对路径;与后台服务使用同一 OS 用户,沿用其认证与配置
|
|
286
|
+
| 配置项 | 保存位置与约束 |
|
|
287
|
+
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
|
|
288
|
+
| 用户配置 | `~/.tellrun/config.json`;目录权限 0700,文件权限 0600 |
|
|
289
|
+
| Telegram Bot Token 与本人 ID | 由 setup 写入配置,保留环境变量覆盖能力;不依赖可修改的 username |
|
|
290
|
+
| Telegram 代理 | `telegram.proxyUrl` 可选,由用户自行配置;未指定时继承运行环境的代理,setup 保留已有显式配置 |
|
|
291
|
+
| 工作目录 | 后续由任务或会话指定,不设置目录白名单 |
|
|
292
|
+
| Codex 命令 | 配置时解析可执行文件的绝对路径;与后台服务使用同一 OS 用户,沿用其认证与配置 |
|
|
287
293
|
| 后台运行环境 | config.json 不保存终端环境;macOS 服务的 PATH 只包含 Node、Codex 所在目录及常见系统、Homebrew 路径,凭据不写入服务定义 |
|
|
288
|
-
| 运行状态 | `~/.tellrun/state.json`;临时单实例锁为同目录的 `state.json.lock/`
|
|
289
|
-
| Linux 服务定义
|
|
290
|
-
| macOS 服务定义
|
|
291
|
-
| macOS 服务诊断
|
|
292
|
-
| 日志级别 | 当前固定为 info
|
|
293
|
-
| 队列与交互设置 | 当前串行执行,交互固定最多等待 10 分钟;队列上限和工具进度设置仍未实现,不预建配置项
|
|
294
|
+
| 运行状态 | `~/.tellrun/state.json`;临时单实例锁为同目录的 `state.json.lock/` |
|
|
295
|
+
| Linux 服务定义 | `~/.tellrun/tellrun.service`,通过 systemctl --user link 注册;日志保存在 journal |
|
|
296
|
+
| macOS 服务定义 | `~/.tellrun/tellrun.plist`;启用登录自启时链接到 `~/Library/LaunchAgents/io.github.chaoyue1998.tellrun.plist` |
|
|
297
|
+
| macOS 服务诊断 | `~/.tellrun/tellrun.log`;`tellrun logs` 显示最近 100 行,`-f` 持续跟随 |
|
|
298
|
+
| 日志级别 | 当前固定为 info |
|
|
299
|
+
| 队列与交互设置 | 当前串行执行,交互固定最多等待 10 分钟;队列上限和工具进度设置仍未实现,不预建配置项 |
|
|
294
300
|
|
|
295
301
|
`~/.tellrun/` 按当前运行用户的主目录解析为绝对路径;CLI 与后台服务使用同一用户和同一目录,不受执行命令时的 cwd 影响。状态、锁和配置不得写到全局 npm 包目录,避免升级覆盖、权限问题和从不同 cwd 启动产生多份数据。
|
|
296
302
|
|
|
@@ -306,7 +312,7 @@ M1 启动 Worker 前必须取得同一状态文件对应的排他运行锁,取
|
|
|
306
312
|
|
|
307
313
|
当前通过原子创建 `state.json.lock/` 目录争取单实例写入权,目录内记录 PID 与随机所有权标识。正常退出仅清理自己的锁;异常退出后确认旧 PID 不存在才回收。尚未写入所有权的空锁目录保留 30 秒,避免抢占正在初始化的实例。状态加载和恢复在取得锁后进行。发送与任务领取按机器人账号和授权用户过滤。
|
|
308
314
|
|
|
309
|
-
Codex
|
|
315
|
+
Codex 版本检查和 daemon bootstrap 只接收必要环境与运行时凭据,不默认继承 Telegram Token;保留 XDG_RUNTIME_DIR 与 DBUS_SESSION_BUS_ADDRESS,使启动命令能连接当前用户的服务管理器。启动时在 `PATH` 前补入当前 Node 可执行文件所在目录,使 npm 版 Codex 的启动脚本在 systemd 环境下也能找到 `node`。Tellrun 直接向 Agent 传递任务工作目录,不通过项目清单限制目录;实际文件访问仍沿用 Codex 与 OS 的权限配置。Tellrun 的 KillMode=control-group 保留,独立 Codex daemon 由自己的系统服务管理,停止消息服务不会停止编码任务。
|
|
310
316
|
|
|
311
317
|
当前启动检查包括 Telegram 配置、单实例锁、状态文件校验、Codex CLI 版本格式、Telegram 连接和 Webhook 状态;认证与模型访问在实际任务调用时验证,失败会保存并回复。已在本机通过真实 Codex 调用,目标 Linux 的 M0 仍待验证。遇到 Webhook 或另一轮询实例时给出明确错误,不自动接管其他部署;日志不记录原始凭据或网络 URL。
|
|
312
318
|
|
|
@@ -339,6 +345,10 @@ Claude 等 Agent 的新增工作集中在会话创建或恢复、任务输入、
|
|
|
339
345
|
|
|
340
346
|
审批与提问新增 34 项临时模拟验证:覆盖两种传输的命令、文件与权限决定、多题映射、早到及重复请求、先解决后到达、文件差异变化、阻塞与非阻塞超时、停止;存储验证覆盖旧文件兼容、部分答案、失效、重启与落盘失败不重放、迟到回执;Telegram 与核心流程联合验证覆盖鉴权、按钮生成和清理、明确回复、普通消息补充、绝对路径答案以及慢回调期间停止。`npm run check` 与 `npm run build` 通过;真实 Telegram 与 Codex 审批联调仍待目标环境验收。
|
|
341
347
|
|
|
348
|
+
权限选择通过 44 项临时模拟验证:34 项 stdio/WebSocket 检查包括原审批回归、四种模式的新建和续聊参数、未知模式、策略拒绝及返回设置不符时不启动任务;7 项存储与核心检查覆盖旧文件兼容、去重与来源校验、任务快照、重启和换目录、菜单过期、迟到回执及其他 Agent 的模式 ID;3 项 Telegram API 模拟覆盖按钮、本人鉴权、旧菜单、命令回复与慢回执期间停止。本机 Codex 0.165.0 的四种模式均通过临时会话的实际配置校验,未提交模型任务或向真实 Telegram 发送验证消息。
|
|
349
|
+
|
|
342
350
|
状态回收另通过 16 项临时模拟验证:包括重新打开当前状态不改写文件、连续 300 个任务后状态大小保持稳定、确认前后与重启后的去重、轮询和写入失败、部分答案保留、迟到发送回执及按钮清理。Telegram 与核心流程联合验证确认旧问题回复不会新建或补充任务,`/last` 可在下一任务运行时查看前一结果,任务与交互过程不重复写日志。检查与构建通过,未向真实 Telegram 发送验证消息。
|
|
343
351
|
|
|
344
352
|
macOS 后台管理通过 18 项临时验证:17 项模拟覆盖平台分发、无桌面登录、无效路径、系统命令失败、启动超时、并发控制、启动等待期间停止、就绪标记归属与清理、日志跟随,以及 Linux systemd 和 linger 回归;另在本机真实 launchd 登录域运行隔离服务,验证特殊字符路径、重复启动、登录入口加载、停止、重启、崩溃恢复和卸载。隔离服务已卸载;检查与构建通过,真实 Telegram 后台联调及 Linux 实机服务验收仍需单独完成。
|
|
353
|
+
|
|
354
|
+
服务与任务生命周期分离通过 15 项临时回归:服务退出不发取消、恢复离线结果且不重跑、恢复后的补充输入与明确停止、历史分页与轮次隔离、未知轮次、忙碌会话、审批映射、初始化期间退出、权限校验、在途输入不重放、旧状态兼容、环境隔离、daemon 启动失败、重连后完成已保存的取消,以及连接前停止不能误报原任务已取消。另使用本机 Codex 0.165.0 与本机模拟模型服务,验证适配器断开后任务仍执行、新适配器接回同一轮次、实时完成与离线结果恢复。未调用真实模型、发送 Telegram 消息或操作现有 Codex daemon;目标 Linux 的 systemd 停止与升级仍需实机验收。
|