tellrun 1.3.9 → 2.0.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/README.md CHANGED
@@ -14,8 +14,8 @@ Run Tellrun on your server and use Telegram on your phone or desktop to send cod
14
14
 
15
15
  - **Remote coding**: send tasks in a private Telegram chat and let Codex execute them on your server.
16
16
  - **Images and files**: send screenshots, photos, or files with task instructions, including while a task is running.
17
- - **Session management**: select a project with `/cwd`, create named sessions with `/new`, and find or resume conversations with `/list` and `/switch`.
18
- - **Live feedback**: see typing indicators and streaming replies, and send additional instructions while a task is running.
17
+ - **Session management**: select a project with `/cwd`, create named sessions with `/new`, and use the buttons in `/list` to select and resume conversations.
18
+ - **Live feedback**: see typing indicators and Markdown streaming replies with headings, lists, tables, and code blocks, and send additional instructions while a task is running.
19
19
  - **Task control**: check status and the latest result, stop a task and pause new work, and retain the current conversation and task state across restarts.
20
20
  - **Scheduled tasks**: create five-field cron schedules with `/cron`, using the server timezone, and receive results in Telegram.
21
21
  - **Approvals and questions**: use buttons for command, file, and permission approvals; select options or reply directly to questions, with answers submitted after all questions are answered.
@@ -57,8 +57,7 @@ At startup, Tellrun registers an English command menu. Use the menu button besid
57
57
  | `/cwd` | Show the current working directory |
58
58
  | `/cwd /absolute/path` | Change the working directory and start a new conversation |
59
59
  | `/new [name]` | Create and select a session, with an optional name |
60
- | `/list` | List sessions in the current project and mark the current session |
61
- | `/switch <id>` | Switch to a session using its full ID from `/list` |
60
+ | `/list` | Show up to 10 recent project sessions as buttons; tap to switch |
62
61
  | `/model` | Show the current selection and choose model and reasoning effort |
63
62
  | `/permissions` | Choose the permission mode for subsequent tasks |
64
63
  | `/cron` | List, create, delete, enable, or disable scheduled tasks |
@@ -72,7 +71,7 @@ Wait for the current task to finish before changing directories, creating a sess
72
71
 
73
72
  ### Session management
74
73
 
75
- Sessions are stored by Codex. `/list` includes non-archived sessions from Tellrun and other Codex clients in the exact current directory, ordered by recent activity, excluding subagents. `/new` without a name uses `New session`; even an empty session is saved. Creating or switching sessions keeps the selected model and permissions. Wait for confirmation before sending a task; if creation cannot be confirmed, check `/list` before retrying.
74
+ Sessions are stored by Codex. `/list` shows up to 10 non-archived sessions from Tellrun and other Codex clients in the exact current directory, ordered by recent activity, excluding subagents. It displays session buttons and a prompt to tap to switch, with ✓ marking the current session. `/new` without a name uses `New session`; even an empty session is saved. Creating or switching sessions keeps the selected model and permissions. Wait for confirmation before sending a task; if creation cannot be confirmed, check `/list` before retrying.
76
75
 
77
76
  ### Scheduled tasks
78
77
 
package/README.zh-CN.md CHANGED
@@ -14,8 +14,8 @@
14
14
 
15
15
  - **远程编码**:在 Telegram 私聊中发送任务,由服务器上的 Codex 执行。
16
16
  - **图片与文件**:发送截图、照片或文件,并附带任务说明;执行中也可以追加附件。
17
- - **会话管理**:通过 `/cwd` 指定项目目录,用 `/new` 创建命名会话,通过 `/list` 和 `/switch` 查找并继续历史对话。
18
- - **即时反馈**:显示输入状态与流式回复,执行期间可以继续发送文字补充要求。
17
+ - **会话管理**:通过 `/cwd` 指定项目目录,用 `/new` 创建命名会话,通过 `/list` 的按钮选择并继续历史对话。
18
+ - **即时反馈**:显示输入状态与 Markdown 流式回复,支持标题、列表、表格和代码块;执行期间可以继续发送文字补充要求。
19
19
  - **任务控制**:查看状态和最近结果,停止任务并暂停接收;重启后保留当前会话与任务状态。
20
20
  - **定时任务**:通过 `/cron` 创建五段 Cron 计划,按服务器时区执行并接收结果。
21
21
  - **审批与提问**:通过按钮处理命令、文件和权限审批;点击选项或明确回复对应问题,多题全部回答后提交。
@@ -57,8 +57,7 @@ tellrun setup
57
57
  | `/cwd` | 查看当前工作目录 |
58
58
  | `/cwd /absolute/path` | 切换工作目录并开始新会话 |
59
59
  | `/new [名称]` | 创建并切换到新会话,名称可省略 |
60
- | `/list` | 列出当前项目的会话,标记当前会话 |
61
- | `/switch <id>` | 使用 `/list` 中的完整 ID 切换会话 |
60
+ | `/list` | 显示当前项目最近最多 10 个会话按钮,点击切换 |
62
61
  | `/model` | 查看当前选择,通过按钮选择模型和推理强度 |
63
62
  | `/permissions` | 选择后续任务的权限模式 |
64
63
  | `/cron` | 查看、创建、删除或启停定时任务 |
@@ -72,7 +71,7 @@ tellrun setup
72
71
 
73
72
  ### 会话管理
74
73
 
75
- 会话由 Codex 保存。`/list` 按最近更新时间列出工作目录完全一致的未归档会话,包含 Tellrun 和其他 Codex 客户端创建的会话,不包含子 Agent。`/new` 省略名称时使用 `New session`,空会话也会保存。新建和切换会话保留当前模型与权限选择;收到成功确认后再发送任务,创建结果无法确认时先用 `/list` 检查,再决定是否重试。
74
+ 会话由 Codex 保存。`/list` 按最近更新时间显示工作目录完全一致的最多 10 个未归档会话按钮,并提示点击切换,当前会话以 ✓ 标记。列表包含 Tellrun 和其他 Codex 客户端创建的会话,不包含子 Agent。`/new` 省略名称时使用 `New session`,空会话也会保存。新建和切换会话保留当前模型与权限选择;收到成功确认后再发送任务,创建结果无法确认时先用 `/list` 检查,再决定是否重试。
76
75
 
77
76
  ### 定时任务
78
77
 
@@ -210,6 +210,7 @@ export async function createCodexAgent(command = "codex") {
210
210
  permissionModes: permissionModes.map(({ id, label }) => ({ id, label })),
211
211
  async listSessions(cwd, signal) {
212
212
  return withSessionConnection(cwd, signal, async (rpc) => {
213
+ /** 按最近更新时间收集最多 10 个会话;过滤或去重后不足时再取下一页。 */
213
214
  const sessions = [];
214
215
  let cursor = null;
215
216
  do {
@@ -218,16 +219,19 @@ export async function createCodexAgent(command = "codex") {
218
219
  .parse(await rpc.request("thread/list", {
219
220
  cwd,
220
221
  cursor,
221
- limit: 100,
222
+ limit: 10 - sessions.length,
222
223
  sortKey: "updated_at",
223
224
  modelProviders: [],
224
225
  /** 默认来源会漏掉 app-server 会话;排除自动生成的子 Agent 会话。 */
225
226
  sourceKinds: ["cli", "vscode", "exec", "appServer", "unknown"],
226
227
  archived: false,
227
228
  }));
228
- for (const session of page.data)
229
+ for (const session of page.data) {
229
230
  if (session.cwd === cwd && !sessions.some((item) => item.id === session.id))
230
231
  sessions.push({ id: session.id, label: session.label });
232
+ if (sessions.length === 10)
233
+ return sessions;
234
+ }
231
235
  cursor = page.nextCursor;
232
236
  } while (cursor);
233
237
  return sessions;
@@ -262,7 +266,7 @@ export async function createCodexAgent(command = "codex") {
262
266
  const { thread } = await withSessionConnection(cwd, signal, async (rpc) => z
263
267
  .object({ thread: sessionSchema })
264
268
  .parse(await rpc.request("thread/read", { threadId: sessionId }))).catch(() => {
265
- throw new Error("Codex session unavailable. Use a full session ID from /list.");
269
+ throw new Error("Codex session unavailable. Open /list and choose a session again.");
266
270
  });
267
271
  if (thread.id !== sessionId || thread.cwd !== cwd)
268
272
  throw new Error("Codex session is not in the current directory. Choose one from /list.");
@@ -329,6 +333,10 @@ export async function createCodexAgent(command = "codex") {
329
333
  /** 原生 Cancel 的已确认中断视为用户取消,不能误报异常并暂停聊天。 */
330
334
  let cancelledByApproval = false;
331
335
  let stopTimer;
336
+ /** 同一轮的自动重试只提示一次,避免网络抖动刷屏。 */
337
+ let retryNotified = false;
338
+ /** 不可重试错误后短暂等待正式终态,缺失时按状态未确认收尾。 */
339
+ let errorTimer;
332
340
  /** 只接受第一个终态,避免退出事件覆盖已经确认的执行结果。 */
333
341
  function finish(result) {
334
342
  if (settled)
@@ -340,8 +348,17 @@ export async function createCodexAgent(command = "codex") {
340
348
  completed.resolve(result
341
349
  ? {
342
350
  ...result,
343
- text: [formatOutput(), result.text].filter(Boolean).join("\n\n") ||
344
- "Codex finished with no text output.",
351
+ text:
352
+ /** 异常和恢复建议放在已有输出之前,避免长回复淹没通知。 */
353
+ [
354
+ result.text,
355
+ result.status === "interrupted"
356
+ ? "建议先用 /status 和 /last 查看状态及输出,并在本机确认任务是否已经停止。确认后发送 /resume 恢复接收,再说明如何继续;/resume 不会自动重跑任务。"
357
+ : "",
358
+ formatOutput(),
359
+ ]
360
+ .filter(Boolean)
361
+ .join("\n\n") || "Codex finished with no text output.",
345
362
  }
346
363
  : undefined);
347
364
  }
@@ -350,7 +367,11 @@ export async function createCodexAgent(command = "codex") {
350
367
  return [...messages]
351
368
  .map(([id, text]) => [
352
369
  text,
353
- ...(fileChanges.get(id) ?? []).map((change) => `${change.kind.type}: ${change.path}${change.kind.move_path ? ` → ${change.kind.move_path}` : ""}\n${change.diff}`),
370
+ ...(fileChanges.get(id) ?? []).map((change) => {
371
+ /** 差异作为代码展示;围栏长于内容中的反引号,避免 Markdown 被误解析。 */
372
+ const fence = "`".repeat((change.diff.match(/`+/g) ?? []).reduce((length, marker) => Math.max(length, marker.length + 1), 3));
373
+ return `${fence}diff\n${change.kind.type}: ${change.path}${change.kind.move_path ? ` → ${change.kind.move_path}` : ""}\n${change.diff}${change.diff.endsWith("\n") ? "" : "\n"}${fence}`;
374
+ }),
354
375
  ]
355
376
  .filter(Boolean)
356
377
  .join("\n\n"))
@@ -507,6 +528,26 @@ export async function createCodexAgent(command = "codex") {
507
528
  seenRequests.add(message.id);
508
529
  openInteraction(message);
509
530
  }
531
+ else if (message.method === "error") {
532
+ const event = z
533
+ .object({ threadId: z.string(), turnId: z.string(), willRetry: z.boolean() })
534
+ .parse(message.params);
535
+ if (event.threadId !== sessionId || event.turnId !== runId)
536
+ return;
537
+ if (event.willRetry) {
538
+ clearTimeout(errorTimer);
539
+ errorTimer = undefined;
540
+ if (!retryNotified) {
541
+ retryNotified = true;
542
+ input.onNotice("Codex 执行遇到异常,正在自动重试。建议暂时等待,无需重复提交任务;可用 /status 查看状态,持续无进展时可用 /stop 停止。");
543
+ }
544
+ }
545
+ else if (!errorTimer) {
546
+ /** 原始错误可能含凭据或请求正文,只发送固定提示与操作建议。 */
547
+ input.onNotice("Codex 执行遇到异常,正在确认任务是否结束。建议暂勿重复提交任务;可用 /status 查看状态,并检查本机 Codex 的登录、模型权限和网络。");
548
+ errorTimer = setTimeout(() => fail("Codex 报告错误后未确认任务终态,后台任务可能仍在运行。"), 5_000);
549
+ }
550
+ }
510
551
  else if (message.method === "serverRequest/resolved") {
511
552
  const event = z
512
553
  .object({ threadId: z.string(), requestId: z.union([z.string(), z.number()]) })
@@ -641,8 +682,8 @@ export async function createCodexAgent(command = "codex") {
641
682
  text: event.turn.status === "completed"
642
683
  ? ""
643
684
  : event.turn.status === "failed"
644
- ? "Codex task failed. Check sign-in, model access, and network."
645
- : "Task interrupted. File changes were not reverted.",
685
+ ? "Codex 执行失败。建议用 /last 查看最后输出;检查本机 Codex 的登录、模型权限和网络,排除问题后再发送继续要求。"
686
+ : "Codex 会话已中断,已有文件改动未回滚。",
646
687
  });
647
688
  }
648
689
  }
@@ -863,6 +904,7 @@ export async function createCodexAgent(command = "codex") {
863
904
  clearTimeout(interaction.timer);
864
905
  interactions.clear();
865
906
  clearTimeout(stopTimer);
907
+ clearTimeout(errorTimer);
866
908
  rpc.close();
867
909
  active = undefined;
868
910
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex.js","sourceRoot":"","sources":["../../src/agents/codex.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ export function createRelayService(options) {
9
9
  let inputPreparation;
10
10
  /** 菜单查询独立于任务,关停时取消查询并等待退出后再关闭存储。 */
11
11
  const modelLoading = new AbortController();
12
- /** 状态与会话命令复用独立工作循环,不阻塞入站审批和停止指令。 */
12
+ /** 状态与会话请求立即执行;工作循环统一接收结果并等待退出。 */
13
13
  const controlQueries = [];
14
14
  /** 会话变更确认前暂缓新任务,避免接口等待期间把消息发往旧会话。 */
15
15
  let changingSession = false;
@@ -45,15 +45,53 @@ export function createRelayService(options) {
45
45
  if (changingSession &&
46
46
  (message.content.type === "text" ||
47
47
  message.content.type === "attachments" ||
48
+ message.content.type === "session" ||
48
49
  (message.content.type === "command" &&
49
- (["new", "switch", "list", "update"].includes(message.content.name) ||
50
+ (["new", "list", "update"].includes(message.content.name) ||
50
51
  (message.content.name === "cwd" && message.content.args)))))
51
52
  return "Session change in progress. Wait for confirmation, then resend your message.";
53
+ /** 新建命令和会话按钮共用切换保护,仅在接口确认后保存选择。 */
54
+ if (message.content.type === "session" ||
55
+ (message.content.type === "command" && message.content.name === "new")) {
56
+ if (task)
57
+ return "Wait for the task to finish, or use /stop first.";
58
+ const { content } = message;
59
+ const snapshot = structuredClone(channel);
60
+ controlQuery = async () => {
61
+ changingSession = true;
62
+ let session;
63
+ try {
64
+ session =
65
+ content.type === "command"
66
+ ? await options.agent.createSession({
67
+ cwd: snapshot.cwd,
68
+ name: content.args,
69
+ model: snapshot.model,
70
+ permissionMode: snapshot.permissionMode,
71
+ }, modelLoading.signal)
72
+ : await options.agent.readSession(snapshot.cwd, content.id, modelLoading.signal);
73
+ }
74
+ catch (error) {
75
+ if (!stopping)
76
+ options.store.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
77
+ ? error.message
78
+ : "Cannot change sessions. Current session unchanged. Check /list before retrying.");
79
+ return;
80
+ }
81
+ finally {
82
+ changingSession = false;
83
+ }
84
+ /** 接口成功后才更新绑定;存储错误交给工作循环处理。 */
85
+ if (!stopping)
86
+ options.store.setSession(snapshot.id, snapshot.cwd, session.id, `${content.type === "command" ? "New session" : "Switched session"}: ${session.label}\nID: ${session.id}\nDirectory: ${snapshot.cwd}`);
87
+ };
88
+ return;
89
+ }
52
90
  if (message.content.type === "command") {
53
91
  switch (message.content.name) {
54
92
  case "start":
55
93
  case "help":
56
- return "Tellrun ready.\nSend text, photos, or files to Codex (up to 20 MB per attachment). Add a caption to describe your task. New messages add to the running task.\n/cwd <path> — Set directory; start a new session\n/new [name] — Create and select a new session\n/list — List sessions in the current project\n/switch <id> — Select a session by its full ID\n/model — Select model and reasoning effort\n/permissions — Select permission mode\n/cron — Manage scheduled tasks\n/status — Status and update check\n/update — Ask Codex to upgrade Tellrun\n/last — Last result\n/stop — Stop task and pause\n/resume — Accept new tasks\nWait for the task to finish before creating or switching sessions.";
94
+ return "Tellrun ready.\nSend text, photos, or files to Codex (up to 20 MB per attachment). Add a caption to describe your task. New messages add to the running task.\n/cwd <path> — Set directory; start a new session\n/new [name] — Create and select a new session\n/list — Show up to 10 recent sessions; tap to switch\n/model — Select model and reasoning effort\n/permissions — Select permission mode\n/cron — Manage scheduled tasks\n/status — Status and update check\n/update — Ask Codex to upgrade Tellrun\n/last — Last result\n/stop — Stop task and pause\n/resume — Accept new tasks\nWait for the task to finish before creating or switching sessions.";
57
95
  case "cron":
58
96
  return options.store.handleCron(channel.id, message.content.args);
59
97
  case "model":
@@ -161,50 +199,15 @@ export function createRelayService(options) {
161
199
  return;
162
200
  }
163
201
  if (!stopping)
164
- options.store.reply(snapshot.id, `Directory: ${snapshot.cwd}\n${sessions.length
165
- ? sessions
166
- .map((session) => `\n${session.id === snapshot.sessionId ? "[current] " : ""}${session.label}\n${session.id}`)
167
- .join("\n")
168
- : "No sessions yet. Create one with /new [name]."}${sessions.length ? "\n\nUse /switch <full ID> to select a session." : ""}`);
169
- };
170
- return;
171
- }
172
- case "new":
173
- case "switch": {
174
- if (task)
175
- return "Wait for the task to finish, or use /stop first.";
176
- const { name, args } = message.content;
177
- if (name === "switch" && (!args || /\s/u.test(args)))
178
- return "Use /switch <full session ID>. Find the ID with /list.";
179
- const snapshot = structuredClone(channel);
180
- changingSession = true;
181
- controlQuery = async () => {
182
- try {
183
- let session;
184
- try {
185
- session =
186
- name === "new"
187
- ? await options.agent.createSession({
188
- cwd: snapshot.cwd,
189
- name: args,
190
- model: snapshot.model,
191
- permissionMode: snapshot.permissionMode,
192
- }, modelLoading.signal)
193
- : await options.agent.readSession(snapshot.cwd, args, modelLoading.signal);
194
- }
195
- catch (error) {
196
- if (!stopping)
197
- options.store.reply(snapshot.id, error instanceof Error && error.message.startsWith("Codex ")
198
- ? error.message
199
- : "Cannot change sessions. Current session unchanged. Check /list before retrying.");
200
- return;
201
- }
202
- if (!stopping)
203
- options.store.setSession(snapshot.id, snapshot.cwd, session.id, `${name === "new" ? "New session" : "Switched session"}: ${session.label}\nID: ${session.id}\nDirectory: ${snapshot.cwd}`);
204
- }
205
- finally {
206
- changingSession = false;
207
- }
202
+ options.store.reply(snapshot.id, sessions.length
203
+ ? "Tap a session to switch."
204
+ : "No sessions yet. Create one with /new [name].", {
205
+ /** 当前会话标记与名称一起作为按钮文本。 */
206
+ sessions: sessions.map((session) => ({
207
+ ...session,
208
+ label: `${session.id === snapshot.sessionId ? "✓ " : ""}${session.label}`,
209
+ })),
210
+ });
208
211
  };
209
212
  return;
210
213
  }
@@ -221,9 +224,10 @@ export function createRelayService(options) {
221
224
  return "Ready for new tasks. Interrupted tasks will not be rerun.";
222
225
  case "last": {
223
226
  const last = options.store.lastTask(channel.id);
224
- return last
225
- ? `Task #${last.id}${last.cron ? ` · Cron #${last.cron.id}` : ""} ${statuses[last.status]}\n${last.result ?? "No result yet."}`
226
- : "No tasks yet.";
227
+ if (!last)
228
+ return "No tasks yet.";
229
+ options.store.reply(channel.id, `Task #${last.id}${last.cron ? ` · Cron #${last.cron.id}` : ""} ${statuses[last.status]}\n\n${last.result ?? "No result yet."}`, { markdown: true });
230
+ return;
227
231
  }
228
232
  default:
229
233
  return "Unknown command. See /help.";
@@ -249,8 +253,12 @@ export function createRelayService(options) {
249
253
  options.store.createTask(channel, message.content.text, attachments);
250
254
  });
251
255
  /** 只有入站去重记录保存成功后才执行;重复事件不会重复创建或切换会话。 */
252
- if (controlQuery)
253
- controlQueries.push(controlQuery);
256
+ if (controlQuery) {
257
+ const query = controlQuery();
258
+ controlQueries.push(query);
259
+ /** 错误由工作循环等待原 Promise 时传播,提前标记避免未处理拒绝。 */
260
+ void query.catch(() => { });
261
+ }
254
262
  /** 只有选择和停止状态落盘后才影响运行时;回调答复不承担提交职责。 */
255
263
  if ((message.content.type === "command" && message.content.name === "stop") ||
256
264
  (message.content.type === "interaction" && message.content.action === "stop")) {
@@ -264,26 +272,32 @@ export function createRelayService(options) {
264
272
  },
265
273
  /** 模型、状态和会话请求不占用入站或任务循环,关停后丢弃迟到结果。 */
266
274
  async loadModels(source) {
267
- while (!stopping) {
268
- const query = controlQueries.shift();
269
- if (query) {
270
- await query();
271
- continue;
272
- }
273
- const menu = options.store.pendingModels(source);
274
- if (!menu) {
275
- await setTimeout(100);
276
- continue;
277
- }
278
- let models;
279
- try {
280
- models = await options.agent.listModels(menu.cwd, modelLoading.signal);
281
- }
282
- catch {
283
- /** 查询失败只提示重新打开菜单,不影响任务和已有选择。 */
275
+ try {
276
+ while (!stopping) {
277
+ const query = controlQueries.shift();
278
+ if (query) {
279
+ await query;
280
+ continue;
281
+ }
282
+ const menu = options.store.pendingModels(source);
283
+ if (!menu) {
284
+ await setTimeout(100);
285
+ continue;
286
+ }
287
+ let models;
288
+ try {
289
+ models = await options.agent.listModels(menu.cwd, modelLoading.signal);
290
+ }
291
+ catch {
292
+ /** 查询失败只提示重新打开菜单,不影响任务和已有选择。 */
293
+ }
294
+ if (!stopping)
295
+ options.store.fillModels(menu.channelId, menu.id, models);
284
296
  }
285
- if (!stopping)
286
- options.store.fillModels(menu.channelId, menu.id, models);
297
+ }
298
+ finally {
299
+ modelLoading.abort();
300
+ await Promise.allSettled(controlQueries);
287
301
  }
288
302
  },
289
303
  /** 调度独立于执行和菜单查询;启动先跳过离线时段,再按持久化时间触发。 */
@@ -363,6 +377,7 @@ export function createRelayService(options) {
363
377
  options.agent.stop();
364
378
  },
365
379
  onText: (text) => options.store.setDraft(task.id, text),
380
+ onNotice: (text) => options.store.reply(task.channelId, `Task #${task.id}\n${text}`),
366
381
  onInteraction: (request) => options.store.addInteraction(task.id, request),
367
382
  onInteractionClosed: (id, reason) => options.store.closeInteraction(id, reason),
368
383
  })