@best-agent/cli 0.0.5-beta.1 → 0.0.6-beta.1

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.
Files changed (2) hide show
  1. package/README.md +13 -18
  2. package/package.json +2 -2
package/README.md CHANGED
@@ -31,25 +31,21 @@ best-agent --version | -version | -v | version
31
31
  `b8` 是同一入口的短别名(`b` + 省略的 8 个字母):安装该包后 `b8 <subcommand>` 与
32
32
  `best-agent <subcommand>` 等价,帮助文本中的命令名仍为 `best-agent`。
33
33
 
34
- ## TUI shell mode(`!`)
34
+ ## TUI shell mode(`!` / `!!`)
35
35
 
36
- `best-agent chat`(`pnpm chat`)的 composer 上,在**空输入**时键入 `!` 进入 shell mode:一次提交只在本地执行一条你键入的命令,
37
- 其输出尾与结算事实(exit / signal / 启动错误)显示在 composer 上方的 chrome block 里,不会打断这次会话的对话。首页(home)的
38
- 输入框同样支持(同一套键位、同一个命令记录):block 出现在输入框正上方,确认命令后输入框仍持有焦点。
36
+ Home 或 chat 的空输入框中,用前缀明确选择是否把结果交给模型:
39
37
 
40
- | 动作 | 键 | 行为 |
38
+ | 输入 | 行为 | 模型上下文 |
41
39
  | --- | --- | --- |
42
- | 进入 | 空 composer 上键入 `!` | 消耗该字符:边框变 shell 风格,placeholder 变为 `Run a shell command…`,block 出现 `! shell mode` 与 `esc exit` |
43
- | 执行 | `Enter` | 在当前 thread 的 cwd 下恰好执行该行一次;表头 `… · running <t>s`,输出尾最多 8 行(超出显示 `… N earlier lines`)实时刷新 |
44
- | 停止 | `Esc`(有命令在运行) | 对该命令的进程组投递一次 `SIGTERM`,1 秒后 `SIGKILL`;结算按真实事实呈现(`exit <n>` / `signal <SIG>`) |
45
- | 退出 | `Esc`(composer 为空、无运行中的命令) | 退出 shell mode,边框/占位/提示复位;之后 `Enter` 就是普通 chat 提交(走模型) |
46
- | 退出(命令继续) | `Backspace` / `Ctrl+U`(composer 为空) | 同样退出模式;若此时有命令在运行,它不会被停止,block 继续显示到它自己结算 |
47
- | 取回 | `↑` | 按最近优先取回本进程已执行的命令;不读写 chat 的输入历史 |
48
-
49
- - 只在普通 chat 输入状态下接管键盘:ask_user 卡片、待答 interaction、goal draft 与 continuation 对话框保持各自语义。
50
- `Esc` 的层序是「in-flight fork → 对话框 / inspect 页 → 运行中的命令(stop)→ 空的 shell composer(退出)→ Run interrupt / exit-confirm」。
51
- - shell mode 下 `/theme` 之类的 `/`-前缀行是命令文本,不会被解析成本地 slash 命令。
52
- - cwd 是当前 thread 的工作目录;目录不存在、或命令超过 8,192 bytes 时提交被拒绝(既有 toast 说明原因,composer 文本保留)。
40
+ | `!git status` | 直接执行一次 | 完成后,命令、工作目录、输出尾和退出事实随该聊天的下一条消息发送;不自动触发回复 |
41
+ | `!!git status` | 直接执行一次 | 命令和输出都不发送给模型 |
42
+
43
+ 输入框和输出区会显示模式说明。第二个 `!` 会切换为本地模式,粘贴 `!!命令` 也会完整识别前缀;前缀不会传给 shell。命令接受后回到普通消息输入,拒绝则保留草稿。使用 `↑` 回忆 shell 命令时,也会恢复它原来的上下文选择。
44
+
45
+ `!` 在首页会先建立一个空聊天固定结果归属,不调用模型;`!!` 无需创建聊天。切换聊天不会改变已经执行的命令的归属。输出区显示“结果已随消息提交”表示消息入口已接受,排队中的消息仍需等待派发。未提交的结果仅保留在当前 CLI 进程中;删除聊天或关闭进程会清理。输出超出保留窗口时会明确显示省略信息;结果过多时会提示先发一条消息。
46
+
47
+ 执行中按 `Esc` 停止命令;结果显示时空输入框上的 `Esc` 收起输出区。`Backspace` / `Ctrl+U` 在空 shell 输入框上退出模式。既有优先层序保持:in-flight fork → 对话框 / inspect → shell stop/exit → Run interrupt / exit-confirm。`/theme` 等在 shell 输入框中是命令文本。
48
+
53
49
  - 环境:命令由你的 shell 以**交互式登录**方式执行(POSIX 为 `$SHELL -ilc <命令>`,`SHELL` 为空时用 `/bin/sh`;Windows 为
54
50
  `cmd.exe /d /s /c <命令>`)。子进程继承启动这次 TUI 的终端的全部环境变量,shell 再读你的登录文件与 **rc 文件**——因此
55
51
  `.zshrc` / `.bashrc` 里定义的 **alias 与函数(例如 `gp`、`gpl`)和只在那里赋值的变量都可用**,与你在新开终端里执行一致。
@@ -58,8 +54,7 @@ best-agent --version | -version | -v | version
58
54
  - 仍不支持:需要 **TTY** 的交互式程序——`vim`、`top`、需要密码的 `sudo` / `ssh`、以及靠方向键选择的交互式命令(例如
59
55
  `fzf`、某些 `pnpm run` 选择器、你自己的 `prun`)。子进程的 stdin/stdout 是管道而不是终端(`[ -t 1 ]` 为假、没有 raw mode、
60
56
  没有光标寻址),所以这类程序要么直接报 "not a tty",要么只输出纯文本帧;把终端真正交给子进程(PTY 归属与交接)是独立切片。
61
- - 边界:命令、输出、退出码与 `↑` 历史只存在于本进程内存,不进入 transcript、compact、模型请求、session 历史或任何 KernelInput,
62
- 也不创建 Run;想把结果交给模型,需要自己在 chat 里重述(属独立切片)。
57
+ - 边界:`!!` 与 recall 历史不进入模型上下文;`!` 只有在下一条消息被接受后才进入既有消息历史,后续持久化与 compact 沿用消息本身的规则。
63
58
  - 运行中的命令在你离开 chat 页面后继续运行,回到 chat 时以运行态恢复显示;离开期间结算的命令以结算态显示,不自动重放。
64
59
 
65
60
  ## 安装与发布
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@best-agent/cli",
3
- "version": "0.0.5-beta.1",
3
+ "version": "0.0.6-beta.1",
4
4
  "description": "best-agent v3 CLI and TUI",
5
5
  "type": "module",
6
6
  "bin": {
@@ -16,6 +16,6 @@
16
16
  "node": ">=24.15.0"
17
17
  },
18
18
  "optionalDependencies": {
19
- "@best-agent/cli-darwin-arm64": "0.0.5-beta.1"
19
+ "@best-agent/cli-darwin-arm64": "0.0.6-beta.1"
20
20
  }
21
21
  }