@keyou007/agent-bot 0.1.15-alpha.4 → 0.1.15-alpha.5

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/CHANGELOG.md CHANGED
@@ -6,6 +6,13 @@ The project follows [Semantic Versioning](https://semver.org/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [0.1.15-alpha.5] - 2026-08-19
10
+
11
+ - Wrap compound shell commands across readable lines with explicit `\` continuation markers in expanded Feishu thinking-card tool details.
12
+ - Run Feishu `!` commands as persistent, unlimited-duration background jobs that do not block conversation queues, survive Worker restarts, preserve observed stdout/stderr order in one bounded output log, and can be cancelled from their cards.
13
+ - Add `/file <path>` for sending a relative, absolute, or home-relative task file to the current Feishu conversation.
14
+ - Link the AgentBot signature on final Feishu replies to the user guide.
15
+
9
16
  ## [0.1.15-alpha.4] - 2026-08-16
10
17
 
11
18
  - Simplify `agentbot init` authorization by printing links only and removing terminal QR codes.
package/README.md CHANGED
@@ -224,6 +224,7 @@ Send a message beginning with `/` to run a command. Use `/help` in Feishu for th
224
224
  | --------------------------------------------- | ------------------------------------ |
225
225
  | `/new [title] [--dir <path> \| --nodir]` | Start a new task |
226
226
  | `/dir [path]` | Browse files or start work in a directory |
227
+ | `/file <file-path>` | Send a file to the current Feishu conversation |
227
228
  | `/sessions [keyword]` | Find and manage tasks |
228
229
  | `/archive [task]` | Archive the current or selected task |
229
230
  | `/dismiss` | Archive the current task and dissolve the group after confirmation |
@@ -253,6 +254,8 @@ In a group, `/mute` and `/mute on` make the bot process only messages that menti
253
254
 
254
255
  `/new` and `/newgroup` inherit the current Agent, project, and execution settings. Use `--dir` to choose another directory or `--nodir` to start without a project directory; `~` represents your home directory.
255
256
 
257
+ `/file` accepts relative paths, absolute paths, and paths beginning with `~`; relative paths resolve from the current task directory.
258
+
256
259
  `/fork` and `/forkgroup` branch from completed work without interrupting a running turn. `/sessions` manages tasks across projects in pages of up to 10 tasks; use each project menu for `New` and `NewGroup`. Expanding a task directly shows the first 50 characters of its latest user Prompt, its update time, and task-specific actions. `/turns` restores conversation context without reverting local files.
257
260
 
258
261
  ## Local Commands
@@ -260,7 +263,7 @@ In a group, `/mute` and `/mute on` make the bot process only messages that menti
260
263
  Enter a message beginning with `!` directly in the Feishu chat box to run a local command in the current task directory.
261
264
 
262
265
  For example, `! ls` lists files in the current directory, and `! git status` shows the state of the current Git repository.
263
- The same output card refreshes while the command runs. Long output keeps its beginning and end while the middle is truncated.
266
+ Local commands run in independent background processes without a time limit, so they do not block other messages or commands in the current conversation. The same output card refreshes while a command runs, preserves the observed order of normal and diagnostic output, and includes a `Cancel` action. Agent Bot resumes monitoring commands that are still running after a Worker restart. Long output keeps its beginning and end while the middle is truncated.
264
267
 
265
268
  ## Configuration And Data
266
269
 
package/README.zh.md CHANGED
@@ -224,6 +224,7 @@ agentbot task dismiss [任务] --yes
224
224
  | --------------------------------------------- | ---------------------------- |
225
225
  | `/new [标题] [--dir <路径> \| --nodir]` | 开始新任务 |
226
226
  | `/dir [路径]` | 浏览文件,或在指定目录开始任务 |
227
+ | `/file <文件路径>` | 将指定文件发送到当前飞书会话 |
227
228
  | `/sessions [关键词]` | 查找和管理任务 |
228
229
  | `/archive [任务]` | 归档当前或指定任务 |
229
230
  | `/dismiss` | 确认后归档当前任务并解散群聊 |
@@ -253,6 +254,8 @@ agentbot task dismiss [任务] --yes
253
254
 
254
255
  `/new` 和 `/newgroup` 会继承当前 Agent、项目和运行设置。使用 `--dir` 指定其他目录,或使用 `--nodir` 创建无项目目录的任务;`~` 表示用户主目录。
255
256
 
257
+ `/file` 支持相对路径、绝对路径和以 `~` 开头的用户目录路径;相对路径以当前任务目录为基准。
258
+
256
259
  `/fork` 和 `/forkgroup` 会从已完成的工作创建分支,不会中断正在执行的轮次。`/sessions` 用于跨项目管理任务,每页最多显示 10 个任务;项目菜单提供 `New` 和 `NewGroup`。展开任务后会直接显示最后一个用户 Prompt 的前 50 个字符、更新时间以及任务级操作。`/turns` 用于恢复对话上下文,不会回退本地文件。
257
260
 
258
261
  ## 本地命令
@@ -260,7 +263,7 @@ agentbot task dismiss [任务] --yes
260
263
  在飞书聊天框直接输入 `!` 开头的消息会作为本地命令处理,命令会在当前任务目录执行。
261
264
 
262
265
  比如 `! ls` 会列出当前目录下的文件,`! git status` 会显示当前 Git 仓库的状态。
263
- 命令运行期间会动态刷新同一张输出卡片;内容过长时会保留开头和结尾,并截断中间部分。
266
+ 本地命令由独立后台进程执行,不设运行超时,也不会阻塞当前会话中的其他消息或命令。运行期间会动态刷新同一张输出卡片,并按观察到的先后顺序显示正常输出和诊断输出;可通过卡片中的 `Cancel` 停止命令。Agent Bot Worker 重启后会自动恢复监控仍在运行的命令。内容过长时会保留开头和结尾,并截断中间部分。
264
267
 
265
268
  ## 配置与数据
266
269
 
@@ -3,6 +3,7 @@ export const COMMAND_NAMES = [
3
3
  "archive",
4
4
  "dir",
5
5
  "dismiss",
6
+ "file",
6
7
  "fork",
7
8
  "forkgroup",
8
9
  "goal",
@@ -48,6 +49,12 @@ export class CommandRouter {
48
49
  switch (command) {
49
50
  case "dir":
50
51
  return { type: "dir", directory: args.join(" ").trim() || undefined };
52
+ case "file": {
53
+ const filePath = args.join(" ").trim();
54
+ if (!filePath)
55
+ throw new Error("请输入文件路径,例如:/file ./report.pdf。");
56
+ return { type: "file", filePath };
57
+ }
51
58
  case "new":
52
59
  return parseNewCommand(args);
53
60
  case "newgroup":
@@ -1 +1 @@
1
- {"version":3,"file":"CommandRouter.js","sourceRoot":"","sources":["../../src/commands/CommandRouter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CommandRouter.js","sourceRoot":"","sources":["../../src/commands/CommandRouter.ts"],"names":[],"mappings":"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"}
@@ -9,24 +9,36 @@ export class CardRenderer {
9
9
  this.thinkingCardLayout = options.thinkingCardLayout ?? "grouped";
10
10
  }
11
11
  renderShellCommandCard(view) {
12
- const stdout = normalizeTerminalOutput(view.stdout).trimEnd();
13
- const stderr = normalizeTerminalOutput(view.stderr).trimEnd();
14
- const rawOutput = [
15
- stdout,
16
- stderr ? `[stderr]\n${stderr}` : "",
17
- ].filter(Boolean).join("\n");
12
+ const rawOutput = normalizeTerminalOutput(view.output).trimEnd();
18
13
  const displayOutput = truncateMiddle(rawOutput, 6_000, "\n\n... 中间输出已截断 ...\n\n");
19
14
  const command = truncateMiddle(view.command.trim(), 600, " ... ");
20
15
  const output = displayOutput || (view.status === "running" ? "等待输出..." : "(无输出)");
21
16
  const status = shellCommandStatus(view);
22
17
  const outputWasTruncated = view.outputTruncated || rawOutput.length > 6_000;
23
- return sectionCard(status.title, [
18
+ const elements = [
24
19
  markdown(codeBlock(`$ ${command}\n${output}`, 6_700)),
25
20
  markdown([
26
21
  `${inlineCode(view.cwd)} · ${status.label} · ${formatTurnDuration(view.elapsedMs)}`,
27
22
  ...(outputWasTruncated ? ["输出过长,已保留开头和结尾并截断中间内容。"] : []),
28
23
  ].join("\n")),
29
- ], status.template);
24
+ ];
25
+ if (view.status === "running" && view.jobId && view.contextKey) {
26
+ elements.push({
27
+ tag: "button",
28
+ text: { tag: "plain_text", content: "Cancel" },
29
+ type: "danger",
30
+ size: "small",
31
+ behaviors: [{
32
+ type: "callback",
33
+ value: {
34
+ action: "shell_command_cancel",
35
+ jobId: view.jobId,
36
+ contextKey: view.contextKey,
37
+ },
38
+ }],
39
+ });
40
+ }
41
+ return sectionCard(status.title, elements, status.template);
30
42
  }
31
43
  renderExecutionSettings(view) {
32
44
  const baseAction = {
@@ -1605,10 +1617,59 @@ function renderToolDetails(tool, projectCwd) {
1605
1617
  const displayCommand = tool.kind === "command"
1606
1618
  ? unwrapShellCommand(normalizedCommand) ?? normalizedCommand
1607
1619
  : normalizedCommand;
1608
- const commandText = truncateText(displayCommand, 600);
1620
+ const commandText = truncateText(tool.kind === "command" ? formatShellCommandForDisplay(displayCommand) : displayCommand, 600);
1609
1621
  const resultText = result ? truncateToolResult(normalizeTerminalOutput(result).trim()) : undefined;
1610
1622
  return codeBlock([`$ ${commandText}`, resultText].filter((part) => part !== undefined).join("\n"), 2_003);
1611
1623
  }
1624
+ function formatShellCommandForDisplay(command) {
1625
+ const normalized = command.replace(/\r\n/g, "\n");
1626
+ let result = "";
1627
+ let quote;
1628
+ for (let index = 0; index < normalized.length; index += 1) {
1629
+ const character = normalized[index] ?? "";
1630
+ if (quote) {
1631
+ result += character;
1632
+ if ((character === "\\" || character === "`") && quote === "\"") {
1633
+ if (index + 1 < normalized.length)
1634
+ result += normalized[++index];
1635
+ }
1636
+ else if (character === quote) {
1637
+ quote = undefined;
1638
+ }
1639
+ continue;
1640
+ }
1641
+ if (character === "'" || character === "\"") {
1642
+ quote = character;
1643
+ result += character;
1644
+ continue;
1645
+ }
1646
+ if (character === "\\" || character === "`" || character === "^") {
1647
+ result += character;
1648
+ if (index + 1 < normalized.length)
1649
+ result += normalized[++index];
1650
+ continue;
1651
+ }
1652
+ const operator = readShellDisplayOperator(normalized, index);
1653
+ if (!operator) {
1654
+ result += character;
1655
+ continue;
1656
+ }
1657
+ result += operator;
1658
+ index += operator.length - 1;
1659
+ while (index + 1 < normalized.length && /\s/.test(normalized[index + 1] ?? ""))
1660
+ index += 1;
1661
+ if (index + 1 < normalized.length)
1662
+ result += " \\\n ";
1663
+ }
1664
+ return result;
1665
+ }
1666
+ function readShellDisplayOperator(command, index) {
1667
+ for (const operator of ["&&", "||", "|&", ";", "|"]) {
1668
+ if (command.startsWith(operator, index))
1669
+ return operator;
1670
+ }
1671
+ return undefined;
1672
+ }
1612
1673
  function normalizeTerminalOutput(value) {
1613
1674
  const clean = stripAnsi(value).replace(/\r\n/g, "\n");
1614
1675
  return clean
@@ -1712,6 +1773,12 @@ function shellCommandStatus(view) {
1712
1773
  if (view.status === "running") {
1713
1774
  return { title: "正在执行命令", label: "运行中", template: "blue" };
1714
1775
  }
1776
+ if (view.status === "cancelling") {
1777
+ return { title: "正在取消命令", label: "正在取消", template: "orange" };
1778
+ }
1779
+ if (view.status === "cancelled") {
1780
+ return { title: "命令已取消", label: "已取消", template: "grey" };
1781
+ }
1715
1782
  if (view.status === "timed_out") {
1716
1783
  return { title: "命令执行超时", label: "已超时(120s)", template: "orange" };
1717
1784
  }