tellrun 2.0.3 → 2.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/README.md +36 -14
- package/README.zh-CN.md +36 -14
- package/dist/cli.js +3 -4
- package/dist/cli.js.map +1 -1
- package/dist/im/telegram.js +15 -6
- package/dist/im/telegram.js.map +1 -1
- package/dist/systemd.js +16 -1
- package/dist/systemd.js.map +1 -1
- package/dist/uninstall.js +69 -0
- package/dist/uninstall.js.map +1 -0
- package/docs/architecture.md +12 -3
- package/docs/assets/tellrun-icon.png +0 -0
- package/docs/prd.md +7 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/assets/tellrun-icon.png" alt="Tellrun icon" width="128" height="128" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# Tellrun — Telegram Bot for OpenAI Codex
|
|
2
6
|
|
|
3
7
|
**Tellrun is a self-hosted Telegram bot for remote AI coding with OpenAI Codex CLI, persistent sessions, and streaming replies.**
|
|
@@ -76,29 +80,39 @@ Sessions are stored by Codex. `/list` shows up to 10 non-archived sessions from
|
|
|
76
80
|
|
|
77
81
|
### Scheduled tasks
|
|
78
82
|
|
|
83
|
+
| Command | Purpose |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| `/cron` | List this chat's schedule IDs, enabled status, expressions, timezones, directories, task descriptions, and next run times |
|
|
86
|
+
| `/cron add <minute> <hour> <day> <month> <weekday> <task>` | Create and enable a five-field cron schedule; the task description can contain spaces |
|
|
87
|
+
| `/cron del <id>` | Delete a schedule and its pending trigger |
|
|
88
|
+
| `/cron enable <id>` | Enable a schedule, starting at the next matching time |
|
|
89
|
+
| `/cron disable <id>` | Disable a schedule and clear its pending trigger |
|
|
90
|
+
|
|
79
91
|
For example, check the current project at 09:00 server time every weekday:
|
|
80
92
|
|
|
81
93
|
```text
|
|
82
94
|
/cron add 0 9 * * 1-5 Check the project and report issues
|
|
83
95
|
```
|
|
84
96
|
|
|
85
|
-
Manage schedules with `/cron del <id>`, `/cron enable <id>`, and `/cron disable <id>`.
|
|
86
|
-
|
|
87
97
|
## Terminal commands
|
|
88
98
|
|
|
89
|
-
Run these commands
|
|
99
|
+
Run these commands on the computer or server running Tellrun, as the same operating system user that configured it. Background services use systemd on Linux or launchd on macOS; use `tellrun run` for foreground operation.
|
|
90
100
|
|
|
91
|
-
| Command
|
|
92
|
-
|
|
|
93
|
-
| `tellrun
|
|
94
|
-
| `tellrun
|
|
95
|
-
| `tellrun
|
|
96
|
-
| `tellrun
|
|
97
|
-
| `tellrun
|
|
98
|
-
| `tellrun
|
|
99
|
-
| `tellrun
|
|
100
|
-
| `tellrun
|
|
101
|
-
| `tellrun --help`
|
|
101
|
+
| Command | Purpose |
|
|
102
|
+
| --- | --- |
|
|
103
|
+
| `tellrun setup` | Configure interactively, then choose to start the service, enable automatic startup, or save only; requires an interactive terminal |
|
|
104
|
+
| `tellrun run` | Run in the foreground for diagnostics or an external process manager; stop with `Ctrl+C` |
|
|
105
|
+
| `tellrun start [--enable]` | Create or update the current user's service definition and start it; add `--enable` for automatic startup at boot on Linux or at login on macOS |
|
|
106
|
+
| `tellrun stop` | Stop the background service, keeping its definition and automatic startup settings |
|
|
107
|
+
| `tellrun restart` | Restart with the current configuration or installed version and update the service's Node.js and CLI paths |
|
|
108
|
+
| `tellrun status` | Show service status, automatic startup status, and configuration and data paths |
|
|
109
|
+
| `tellrun logs [-f]` | Show the latest 100 background log entries; add `-f` or `--follow` to follow new entries, and exit the viewer with `Ctrl+C` |
|
|
110
|
+
| `tellrun uninstall` | Remove the service and, for a global installation, the current npm package; keep user data |
|
|
111
|
+
| `tellrun -h`, `tellrun --help` | Show general help |
|
|
112
|
+
| `tellrun help [command]` | Show general or subcommand help; also accepts `tellrun <command> -h` or `tellrun <command> --help`, for example `tellrun logs --help` |
|
|
113
|
+
| `tellrun -V`, `tellrun --version` | Show the current CLI version; the short option is uppercase `-V` |
|
|
114
|
+
|
|
115
|
+
Telegram's `/stop` controls the coding task; terminal command `tellrun stop` controls the background service. `/restart` keeps the current Node.js and entry-point paths. Use `tellrun restart` to update those paths after an upgrade.
|
|
102
116
|
|
|
103
117
|
### Upgrade
|
|
104
118
|
|
|
@@ -110,6 +124,14 @@ tellrun restart
|
|
|
110
124
|
|
|
111
125
|
Configuration and state live in `~/.tellrun/` and are preserved when upgrading the global package. After upgrading Node.js or Tellrun, `restart` updates the Node and CLI paths used by the service.
|
|
112
126
|
|
|
127
|
+
### Uninstall
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
tellrun uninstall
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Stops and removes the current user's background service, then uninstalls the global npm package from its installation prefix. Configuration, state, attachments, and application logs remain in `~/.tellrun/`; the command reminds you to delete that directory yourself if no longer needed. Linux user linger settings stay unchanged.
|
|
134
|
+
|
|
113
135
|
## Configuration and data
|
|
114
136
|
|
|
115
137
|
Run `tellrun setup` to create or update your configuration. Leave the Bot Token blank to keep the existing value.
|
package/README.zh-CN.md
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="docs/assets/tellrun-icon.png" alt="Tellrun 图标" width="128" height="128" />
|
|
3
|
+
</p>
|
|
4
|
+
|
|
1
5
|
# Tellrun — 通过 Telegram 远程使用 OpenAI Codex
|
|
2
6
|
|
|
3
7
|
**Tellrun 是可自行部署的 Telegram 机器人,基于 OpenAI Codex CLI 提供远程 AI 编程、持久化会话和流式回复。**
|
|
@@ -76,29 +80,39 @@ tellrun setup
|
|
|
76
80
|
|
|
77
81
|
### 定时任务
|
|
78
82
|
|
|
83
|
+
| 命令 | 作用 |
|
|
84
|
+
| --- | --- |
|
|
85
|
+
| `/cron` | 列出当前聊天的计划 ID、启用状态、表达式、时区、目录、任务描述和下次执行时间 |
|
|
86
|
+
| `/cron add <分> <时> <日> <月> <周> <任务描述>` | 创建并启用五段 Cron 计划,任务描述可以包含空格 |
|
|
87
|
+
| `/cron del <id>` | 删除计划及其待执行触发 |
|
|
88
|
+
| `/cron enable <id>` | 启用计划,从下一个匹配时间开始执行 |
|
|
89
|
+
| `/cron disable <id>` | 禁用计划并清空待执行触发 |
|
|
90
|
+
|
|
79
91
|
例如,每个工作日的服务器时间 09:00 检查当前项目:
|
|
80
92
|
|
|
81
93
|
```text
|
|
82
94
|
/cron add 0 9 * * 1-5 检查项目并汇报问题
|
|
83
95
|
```
|
|
84
96
|
|
|
85
|
-
使用 `/cron del <id>`、`/cron enable <id>` 和 `/cron disable <id>` 管理计划。
|
|
86
|
-
|
|
87
97
|
## 终端命令
|
|
88
98
|
|
|
89
|
-
在运行 Tellrun
|
|
99
|
+
在运行 Tellrun 的电脑或服务器上,以配置 Tellrun 的同一系统用户执行。后台服务使用 Linux systemd 或 macOS launchd;前台运行使用 `tellrun run`。
|
|
90
100
|
|
|
91
|
-
| 命令
|
|
92
|
-
|
|
|
93
|
-
| `tellrun
|
|
94
|
-
| `tellrun
|
|
95
|
-
| `tellrun
|
|
96
|
-
| `tellrun
|
|
97
|
-
| `tellrun
|
|
98
|
-
| `tellrun
|
|
99
|
-
| `tellrun
|
|
100
|
-
| `tellrun
|
|
101
|
-
| `tellrun --help`
|
|
101
|
+
| 命令 | 作用 |
|
|
102
|
+
| --- | --- |
|
|
103
|
+
| `tellrun setup` | 交互配置,并选择启动服务、启用自启或仅保存配置;需要交互式终端 |
|
|
104
|
+
| `tellrun run` | 前台运行,适合终端诊断或外部进程管理器托管;使用 `Ctrl+C` 停止 |
|
|
105
|
+
| `tellrun start [--enable]` | 创建或更新当前用户的服务定义,并启动后台服务;加 `--enable` 启用自动启动(Linux 开机、macOS 登录时) |
|
|
106
|
+
| `tellrun stop` | 停止后台服务,保留服务定义与自启设置 |
|
|
107
|
+
| `tellrun restart` | 重启后台服务,加载新配置或新版本,并更新 Node.js 和 CLI 入口路径 |
|
|
108
|
+
| `tellrun status` | 查看服务状态、自启状态、配置与数据路径 |
|
|
109
|
+
| `tellrun logs [-f]` | 查看最近 100 条后台日志;加 `-f` 或 `--follow` 持续跟随,使用 `Ctrl+C` 退出查看 |
|
|
110
|
+
| `tellrun uninstall` | 统一移除服务;全局安装同时卸载当前 npm 包,保留用户数据 |
|
|
111
|
+
| `tellrun -h`、`tellrun --help` | 显示总帮助 |
|
|
112
|
+
| `tellrun help [命令]` | 显示总帮助或子命令帮助;也可使用 `tellrun <命令> -h` 或 `tellrun <命令> --help`,例如 `tellrun logs --help` |
|
|
113
|
+
| `tellrun -V`、`tellrun --version` | 显示当前 CLI 版本;短参数为大写 `-V` |
|
|
114
|
+
|
|
115
|
+
Telegram 的 `/stop` 控制编码任务,终端的 `tellrun stop` 控制后台服务。`/restart` 沿用当前 Node.js 和入口路径;升级后需要更新后台服务路径时,使用 `tellrun restart`。
|
|
102
116
|
|
|
103
117
|
### 升级
|
|
104
118
|
|
|
@@ -110,6 +124,14 @@ tellrun restart
|
|
|
110
124
|
|
|
111
125
|
配置与状态保存在 `~/.tellrun/`,全局包升级会保留这些数据。升级 Node.js 或 Tellrun 后,`restart` 会更新服务使用的 Node 和 CLI 入口路径。
|
|
112
126
|
|
|
127
|
+
### 卸载
|
|
128
|
+
|
|
129
|
+
```sh
|
|
130
|
+
tellrun uninstall
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
停止并移除当前用户的后台服务,再从当前安装前缀卸载 Tellrun 的 npm 全局包。配置、状态、附件及应用日志保留在 `~/.tellrun/`,卸载完成后会提示自行删除。Linux 用户 linger 设置保持不变。
|
|
134
|
+
|
|
113
135
|
## 配置与数据
|
|
114
136
|
|
|
115
137
|
运行 `tellrun setup` 创建或更新配置,已有 Bot Token 可留空保留原值。
|
package/dist/cli.js
CHANGED
|
@@ -9,6 +9,7 @@ import { createCodexAgent } from "./agents/codex.js";
|
|
|
9
9
|
import { appDirectory, configSchema, loadConfig } from "./config.js";
|
|
10
10
|
import { manageService } from "./service.js";
|
|
11
11
|
import { writeJson } from "./storage/json.js";
|
|
12
|
+
import { uninstall } from "./uninstall.js";
|
|
12
13
|
import { tellrunVersion } from "./updates.js";
|
|
13
14
|
/** 全局入口只注册命令;业务入口仅在 run 时动态加载。 */
|
|
14
15
|
const program = new Command()
|
|
@@ -146,12 +147,10 @@ program
|
|
|
146
147
|
await manageService("logs", options);
|
|
147
148
|
});
|
|
148
149
|
program
|
|
149
|
-
.command("service")
|
|
150
|
-
.description("Manage the background service")
|
|
151
150
|
.command("uninstall")
|
|
152
|
-
.description("
|
|
151
|
+
.description("Uninstall Tellrun; keep user data")
|
|
153
152
|
.action(async () => {
|
|
154
|
-
await
|
|
153
|
+
await uninstall();
|
|
155
154
|
});
|
|
156
155
|
try {
|
|
157
156
|
/** npm 的 engines 默认只警告;入口显式拒绝缺少内置代理能力的 Node 版本。 */
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/im/telegram.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { randomInt } from "node:crypto";
|
|
1
2
|
import { Agent } from "node:https";
|
|
2
3
|
import { setTimeout } from "node:timers/promises";
|
|
3
4
|
import { autoRetry } from "@grammyjs/auto-retry";
|
|
@@ -253,23 +254,30 @@ export function createTelegramConnection(config, handleMessage, store, logger) {
|
|
|
253
254
|
}
|
|
254
255
|
}
|
|
255
256
|
})(), (async () => {
|
|
256
|
-
/**
|
|
257
|
+
/** 每 10 秒续期,为慢请求和重试留余量;草稿与正式回复始终串行发送。 */
|
|
257
258
|
let nextDraftAt = 0;
|
|
258
259
|
let sentDraft;
|
|
260
|
+
/** 连续更新复用 ID;重新展示时换 ID,避免客户端重播整段生成动画。 */
|
|
261
|
+
let draftId = randomInt(1, 2_147_483_647);
|
|
259
262
|
while (!polling.signal.aborted) {
|
|
260
263
|
const reply = store.claimReply(String(bot.botInfo.id), String(config.ownerId));
|
|
261
264
|
if (!reply) {
|
|
262
265
|
const draft = store.pendingDraft(String(bot.botInfo.id), String(config.ownerId));
|
|
266
|
+
/** 超长输出继续续期最近的有效预览,避免停止刷新后整段消失。 */
|
|
267
|
+
if (draft && draft.text.length > 32768 && draft.taskId === sentDraft?.taskId)
|
|
268
|
+
draft.text = sentDraft.text;
|
|
263
269
|
if (draft &&
|
|
264
|
-
/**
|
|
270
|
+
/** 首次输出已超限时等待最终分段发送,不截取正文。 */
|
|
265
271
|
draft.text.length <= 32768 &&
|
|
266
272
|
Date.now() >= nextDraftAt &&
|
|
267
273
|
(draft.taskId !== sentDraft?.taskId ||
|
|
268
274
|
draft.text !== sentDraft.text ||
|
|
269
|
-
Date.now() - sentDraft.at >=
|
|
275
|
+
Date.now() - sentDraft.at >= 10_000)) {
|
|
270
276
|
nextDraftAt = Date.now() + 1000;
|
|
277
|
+
if (draft.taskId !== sentDraft?.taskId || Date.now() - sentDraft.at >= 30_000)
|
|
278
|
+
draftId = (draftId % 2_147_483_647) + 1;
|
|
271
279
|
try {
|
|
272
|
-
await bot.api.sendRichMessageDraft(Number(draft.chatId),
|
|
280
|
+
await bot.api.sendRichMessageDraft(Number(draft.chatId), draftId, {
|
|
273
281
|
markdown: draft.text,
|
|
274
282
|
});
|
|
275
283
|
sentDraft = { ...draft, at: Date.now() };
|
|
@@ -372,8 +380,9 @@ export function createTelegramConnection(config, handleMessage, store, logger) {
|
|
|
372
380
|
? { modelMenuId: reply.modelMenuId }
|
|
373
381
|
: {}),
|
|
374
382
|
});
|
|
375
|
-
/**
|
|
376
|
-
|
|
383
|
+
/** 新消息清除草稿,编辑消息不会;保留有效正文并让下一次恢复换用新 ID。 */
|
|
384
|
+
if (!reply.messageId && sentDraft)
|
|
385
|
+
sentDraft.at = 0;
|
|
377
386
|
}
|
|
378
387
|
catch (error) {
|
|
379
388
|
if (!(error instanceof HttpError || error instanceof GrammyError))
|
package/dist/im/telegram.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/im/telegram.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telegram.js","sourceRoot":"","sources":["../../src/im/telegram.ts"],"names":[],"mappings":"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"}
|
package/dist/systemd.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { execFile, spawn } from "node:child_process";
|
|
2
|
-
import { chmodSync, existsSync, mkdirSync, renameSync, rmSync, writeFileSync } from "node:fs";
|
|
2
|
+
import { chmodSync, existsSync, lstatSync, mkdirSync, renameSync, rmSync, writeFileSync, } from "node:fs";
|
|
3
|
+
import { homedir } from "node:os";
|
|
3
4
|
import { isAbsolute, join } from "node:path";
|
|
4
5
|
import { fileURLToPath } from "node:url";
|
|
5
6
|
import { promisify } from "node:util";
|
|
@@ -28,6 +29,20 @@ async function systemctl(...args) {
|
|
|
28
29
|
}
|
|
29
30
|
/** CLI 与配置向导共用后台生命周期;不加载运行状态或 Telegram 业务入口。 */
|
|
30
31
|
export async function manageSystemdService(action, options) {
|
|
32
|
+
/** 系统未运行 systemd 且没有服务定义或注册链接时,卸载无需连接服务管理器。 */
|
|
33
|
+
if (action === "uninstall" && !existsSync("/run/systemd/system")) {
|
|
34
|
+
const userUnits = join(process.env.XDG_CONFIG_HOME || join(homedir(), ".config"), "systemd", "user");
|
|
35
|
+
const serviceFiles = [
|
|
36
|
+
join(appDirectory, unit),
|
|
37
|
+
join(userUnits, unit),
|
|
38
|
+
join(userUnits, "default.target.wants", unit),
|
|
39
|
+
];
|
|
40
|
+
/** lstat 同时检查失效链接,避免把残留的自启入口当作从未安装。 */
|
|
41
|
+
if (!serviceFiles.some((path) => lstatSync(path, { throwIfNoEntry: false }))) {
|
|
42
|
+
console.log("No systemd service installed.");
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
31
46
|
if (action === "logs") {
|
|
32
47
|
await new Promise((resolve, reject) => {
|
|
33
48
|
const child = spawn("journalctl", [
|
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,
|
|
1
|
+
{"version":3,"file":"systemd.js","sourceRoot":"","sources":["../src/systemd.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { execFile } from "node:child_process";
|
|
2
|
+
import { lstatSync, realpathSync } from "node:fs";
|
|
3
|
+
import { delimiter, dirname, join } from "node:path";
|
|
4
|
+
import { fileURLToPath } from "node:url";
|
|
5
|
+
import { promisify } from "node:util";
|
|
6
|
+
import which from "which";
|
|
7
|
+
import { appDirectory } from "./config.js";
|
|
8
|
+
import { manageService } from "./service.js";
|
|
9
|
+
/** 统一移除后台服务;全局安装再卸载 npm 包,源码、本地依赖和用户数据保留。 */
|
|
10
|
+
export async function uninstall() {
|
|
11
|
+
const packageDirectory = realpathSync(fileURLToPath(new URL("../", import.meta.url)));
|
|
12
|
+
const prefix = dirname(dirname(dirname(packageDirectory)));
|
|
13
|
+
/** Linux、macOS 的 npm 全局包固定放在 <prefix>/lib/node_modules 下。 */
|
|
14
|
+
const globalInstall = packageDirectory === join(prefix, "lib", "node_modules", "tellrun");
|
|
15
|
+
/** 优先使用当前 Node.js 附带的 npm,并让 npm 的 shebang 使用同一 Node.js。 */
|
|
16
|
+
const env = {
|
|
17
|
+
...process.env,
|
|
18
|
+
PATH: [dirname(process.execPath), process.env.PATH].filter(Boolean).join(delimiter),
|
|
19
|
+
};
|
|
20
|
+
let npm;
|
|
21
|
+
if (globalInstall) {
|
|
22
|
+
const executable = await which("npm", { path: env.PATH, nothrow: true });
|
|
23
|
+
if (!executable)
|
|
24
|
+
throw new Error("npm not found. Install npm, then run tellrun uninstall again.");
|
|
25
|
+
npm = executable;
|
|
26
|
+
/** 全局安装先核对真实包路径;预检失败时不移除服务,也不卸载其他安装。 */
|
|
27
|
+
try {
|
|
28
|
+
const { stdout } = await promisify(execFile)(npm, ["root", "--global", "--prefix", prefix], {
|
|
29
|
+
env,
|
|
30
|
+
timeout: 10_000,
|
|
31
|
+
});
|
|
32
|
+
if (realpathSync(join(stdout.trim(), "tellrun")) !== packageDirectory)
|
|
33
|
+
throw new Error("Install path mismatch.");
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
throw new Error("Cannot check the npm install path. Check npm settings and try again. Service and package unchanged.");
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
await manageService("uninstall");
|
|
40
|
+
if (npm) {
|
|
41
|
+
let stderr;
|
|
42
|
+
try {
|
|
43
|
+
/** 强制保留无颜色的警告,避免 silent 配置或 ANSI 转义掩盖 npm 清理失败。 */
|
|
44
|
+
({ stderr } = await promisify(execFile)(npm, [
|
|
45
|
+
"uninstall",
|
|
46
|
+
"--global",
|
|
47
|
+
"--prefix",
|
|
48
|
+
prefix,
|
|
49
|
+
"--loglevel=warn",
|
|
50
|
+
"--color=false",
|
|
51
|
+
"tellrun",
|
|
52
|
+
], { cwd: prefix, env, timeout: 120_000 }));
|
|
53
|
+
}
|
|
54
|
+
catch {
|
|
55
|
+
throw new Error(`Service removed, but npm uninstall failed. Check permissions and retry with npm directly; the tellrun command may already be removed.\nInstall prefix: ${prefix}\nData kept at: ${appDirectory}`);
|
|
56
|
+
}
|
|
57
|
+
/** npm 可能已将包改名为隐藏目录;清理警告不能被原目录消失掩盖。 */
|
|
58
|
+
if (lstatSync(packageDirectory, { throwIfNoEntry: false }) ||
|
|
59
|
+
/\bwarn\s+cleanup\b/i.test(stderr)) {
|
|
60
|
+
throw new Error(`Service removed, but npm package cleanup is incomplete. Check for remaining tellrun files, including hidden .tellrun-* entries, in ${dirname(packageDirectory)} and ${join(prefix, "bin")}.\nData kept at: ${appDirectory}`);
|
|
61
|
+
}
|
|
62
|
+
console.log("Tellrun service and npm package removed.");
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
console.log(`Source or local installation kept at ${packageDirectory}. Remove it through your project or package manager if no longer needed.`);
|
|
66
|
+
}
|
|
67
|
+
console.log(`Data kept at ${appDirectory}. Delete this folder yourself if no longer needed.`);
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../src/uninstall.ts"],"names":[],"mappings":"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"}
|
package/docs/architecture.md
CHANGED
|
@@ -95,17 +95,25 @@ CLI 与打包入口已接入,可使用 `npm pack` 的本地产物全局安装
|
|
|
95
95
|
|
|
96
96
|
| 命令 | 目标行为 |
|
|
97
97
|
| ------------------------- | ------------------------------------------------------------------------------------------------------------------- |
|
|
98
|
+
| tellrun | 无参数时显示总帮助 |
|
|
98
99
|
| tellrun setup | 交互填写 Bot Token、本人 ID,检查 Codex 路径与运行环境;保存后可启动后台服务并设置自动启动 |
|
|
99
100
|
| tellrun start | 检查配置、创建或更新用户服务并启动;重复调用不创建第二个实例;--enable 在 Linux 启用开机自启,在 macOS 启用登录自启 |
|
|
100
101
|
| tellrun stop | 停止后台服务及受管理子进程,等待实际结束后报告结果 |
|
|
101
102
|
| tellrun restart | 完成停止后重新启动;用于配置变更或 npm 升级后加载新版本 |
|
|
102
103
|
| tellrun status | 查询服务管理器状态并展示配置、数据目录;不启动第二个业务进程 |
|
|
103
|
-
| tellrun logs | 展示最近 100 条后台日志;-f 持续跟随,凭据不进入命令行参数
|
|
104
|
+
| tellrun logs | 展示最近 100 条后台日志;-f 或 --follow 持续跟随,凭据不进入命令行参数 |
|
|
104
105
|
| tellrun run | 前台运行服务,供 systemd、launchd 和本地诊断使用;不进行交互配置 |
|
|
105
|
-
| tellrun
|
|
106
|
+
| tellrun uninstall | 统一移除用户服务;全局安装先校验位置再卸载当前前缀内的 npm 包,源码或本地依赖保留;保留用户数据并提示自行删除 |
|
|
107
|
+
| `tellrun -h`、`tellrun --help` | 显示总帮助;各子命令也支持 -h / --help |
|
|
108
|
+
| tellrun help [command] | 显示总帮助或指定子命令的帮助 |
|
|
109
|
+
| `tellrun -V`、`tellrun --version` | 显示当前 CLI 版本 |
|
|
110
|
+
|
|
111
|
+
面向用户的完整命令表、参数和示例见 [终端命令](../README.zh-CN.md#终端命令)、[Telegram 命令](../README.zh-CN.md#telegram-命令) 和 [本地开发脚本](../README.zh-CN.md#本地开发)。
|
|
106
112
|
|
|
107
113
|
`setup` 由用户显式执行,npm 安装脚本仅承担包安装所需工作。交互取消时保留原配置,Token 使用明文输入,已有配置时留空保留原值;校验成功后再原子写入配置。CLI 的帮助、版本和状态命令不加载会加载运行状态或启动轮询的业务入口。
|
|
108
114
|
|
|
115
|
+
`uninstall` 是 Linux、macOS 的统一卸载入口。源码或本地安装移除用户服务后保留源码或本地依赖并提示自行清理,不要求 npm 可用。全局安装优先查找当前 Node.js 对应的 npm,显式指定安装前缀并核对真实包路径;npm 预检失败时不移除服务,服务移除失败时不卸载包。Linux 未运行 systemd 且不存在应用服务定义、用户注册链接及默认启动目标链接时才跳过服务管理;失效链接也视为已有服务痕迹。npm 卸载强制保留无颜色的警告,包目录仍存在或出现 cleanup 警告时报告清理未完成,并提示检查包目录和 bin 下的隐藏残留;失败时使用 npm 直接重试,不依赖可能已移除的 tellrun 入口。成功后提示用户自行删除 `~/.tellrun/`,命令不删除配置、状态、附件或应用日志,也不修改 Linux 用户 linger 设置。
|
|
116
|
+
|
|
109
117
|
包已移除 `private: true`,通过 `bin` 暴露带 Node shebang 的 CLI;`files` 白名单包含编译产物和文档,`prepack` 在打包前完成构建。安装用户不需要源码仓库、TypeScript 或 tsx。用户配置与数据统一定位到当前用户的 `~/.tellrun/`,任何命令均可从任意目录执行。[npm 包字段](https://docs.npmjs.com/cli/v11/configuring-npm/package-json/)
|
|
110
118
|
|
|
111
119
|
发布验收使用实际 `npm pack` 产物,在临时安装前缀全局安装后,从包外目录调用 CLI;检查 bin、运行依赖和配置、状态文件的读写。升级前停止服务并备份数据,升级后重新解析 Node 与包入口路径、更新服务定义并启动;状态文件损坏或写入失败时停止服务并保留原文件。
|
|
@@ -116,6 +124,7 @@ CLI 与打包入口已接入,可使用 `npm pack` 的本地产物全局安装
|
|
|
116
124
|
| ------------------------------------------- | ------------------------------------------------------------ |
|
|
117
125
|
| src/cli.ts | CLI 命令解析与配置向导;只在 run 时动态加载后台业务入口 |
|
|
118
126
|
| src/service.ts | 共用后台命令接口,按操作系统选择服务管理器 |
|
|
127
|
+
| src/uninstall.ts | 核对 npm 全局安装位置,串行移除服务和包,提示手动清理数据 |
|
|
119
128
|
| src/systemd.ts | systemd 用户服务、linger、启停、状态与日志 |
|
|
120
129
|
| src/launchd.ts | macOS 用户服务、登录自启、就绪确认、启停与日志 |
|
|
121
130
|
| src/main.ts | 组装组件、状态加载、启动和退出;只在这里选择具体 IM 与 Agent |
|
|
@@ -310,7 +319,7 @@ Codex 模型、provider 和认证优先沿用服务用户已有配置。应用
|
|
|
310
319
|
|
|
311
320
|
delivery 通过 claimReply 从 outbox 领取已持久化的回复,内存中保留发送中的消息关联,成功或失败处理后释放。即使发送期间交互关闭,也保留交互到迟到回执触发的按钮清理完成,随后回收。任务结果与 /last 回复标记为 Markdown,通过 sendRichMessage 的 markdown 字段发送;没有到期回复时通过 sendRichMessageDraft 发送当前任务的流式草稿。草稿与正式回复在同一个发送循环中串行调用,避免终态消息发送后又出现迟到草稿;入站、Codex 事件读取与输入提示仍独立运行。
|
|
312
321
|
|
|
313
|
-
|
|
322
|
+
草稿使用非零 draft_id,连续更新复用同一 ID,由 Telegram 客户端动画展示新增文字;切换任务、草稿过期或被新消息清除后,换用新 ID 恢复展示,避免重播整段生成动画。编辑已有消息不重置草稿。最多每秒更新一次,只发送最新完整文本;无变化时每 10 秒续期,为 30 秒有效期留出慢请求和重试余量。预览采用 32768 的字符串长度上限,超过后继续续期最近一次有效预览,等待任务结束后完整分段发送;首次输出已超限时不展示草稿,不截取正文。输出包括过程说明、最终回复和文件差异,差异使用 diff 代码块展示;不按 final_answer 阶段筛掉前文,也不设置累计文本截断上限。草稿只存内存,不逐字写盘。任务结束后清除内存预览,并通过 outbox 发送同一份完整结果,供 /last 再次查看;正式消息会清除客户端草稿,因此中途通知仍可能造成短暂切换。审批与问题仍由独立交互流程处理。[富消息草稿 API](https://core.telegram.org/bots/api#sendrichmessagedraft)、[Rich Markdown 格式](https://core.telegram.org/bots/api#rich-markdown-style)
|
|
314
323
|
|
|
315
324
|
草稿单次调用最多 4 秒,可随关停取消,不经过 auto-retry。429 延后到 retry_after,网络或服务端故障等待 5 秒后尝试最新文本;永久拒绝暂停本次连接的预览,401 退出服务。失败不写入 outbox、不重放旧草稿,不改变任务结果;停止中的任务不再刷新预览。
|
|
316
325
|
|
|
Binary file
|
package/docs/prd.md
CHANGED
|
@@ -71,7 +71,8 @@
|
|
|
71
71
|
|
|
72
72
|
| 入口 | 行为 |
|
|
73
73
|
| --- | --- |
|
|
74
|
-
| /start 或 /help |
|
|
74
|
+
| /start 或 /help | 展示使用说明和常用命令 |
|
|
75
|
+
| /cwd [绝对路径] | 无参数时查看当前目录;指定目录时切换工作目录并开始新会话,任务运行中禁止切换 |
|
|
75
76
|
| /new [名称] | 创建并切换到新会话,省略名称时使用默认名称;任务运行中禁止创建 |
|
|
76
77
|
| /model | 显示当前模型与推理强度,先选模型再选支持的推理档位,两步完成后用于后续任务 |
|
|
77
78
|
| /permissions | 选择后续任务的权限模式,执行中的任务保持原权限 |
|
|
@@ -80,14 +81,15 @@
|
|
|
80
81
|
| /status | 显示 Tellrun 版本与更新提示、工作目录、模型名称与推理档位(如 GPT-6-Sol · xhigh)、权限、任务和服务状态;未选择时解析 Codex 配置,任务模型或档位不同时分别显示 |
|
|
81
82
|
| /update | 将当前 Tellrun 实例的版本、安装位置和升级要求交给 Codex,按当前会话与权限创建普通任务;忙碌或暂停时提示处理后重试 |
|
|
82
83
|
| /restart | 重启 Tellrun 并重新读取配置,保留会话、暂停状态与后台任务,连接恢复后回复;Linux 和 macOS 的前台及后台运行均支持 |
|
|
83
|
-
| /
|
|
84
|
-
| /stop |
|
|
84
|
+
| /last | 查看当前聊天最近已结束任务的状态与结果 |
|
|
85
|
+
| /stop | 请求停止当前聊天的活动任务,暂停新任务和定时调度,并清空等待触发 |
|
|
86
|
+
| /resume | 当前任务结束后恢复接收新任务和未来的定时调度,不重跑已中断的任务 |
|
|
85
87
|
| 普通文本 | 空闲时开始新任务;执行中立即补充到当前任务 |
|
|
86
88
|
| 审批或问题按钮 | 立即处理,不进入编码任务队列 |
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
独立任务队列、`/queue` 及“继续排队/清空队列”按钮留到后续实现。当前通过 `/stop` 暂停、`/last` 查看结果、`/resume` 恢复接收;已接收任务保留提交时的会话与工作目录。存在问题时,只有点击选项或明确回复该问题消息才作为答案,避免把另一条需求误当作审批或答案。
|
|
89
91
|
|
|
90
|
-
|
|
92
|
+
流式草稿最多每秒更新一次,无新内容时每 10 秒续期,控制命令回复和完成状态优先发送。草稿被新消息清除或过期后使用新 ID 恢复,避免整段生成动画重播;编辑已有消息不重置草稿。草稿、最终回复和 /last 支持 Markdown 标题、列表、表格和代码块;预览展示当前完整输出,超过单条富消息容量时继续续期最近的有效预览,等待最终分段发送。首次输出已超限时不展示草稿。最终长回复按 Telegram 限制拆分并标记顺序,跨段代码块保持围栏完整,保留完整结果供再次查看;Markdown 被拒绝时保留原文发送。模型表达的结论和程序确认的任务状态分开处理:只能依据执行事件判断是否完成,不能仅因回复里出现“完成”就标记成功。
|
|
91
93
|
|
|
92
94
|
Telegram 支持长轮询,服务器主动接收更新;这种部署方式无需公开 Webhook 接收地址。[grammY 部署说明](https://grammy.dev/guide/deployment-types)
|
|
93
95
|
|