Skip to content

命令行

文档编写中

部分内容可能尚不完整。

ThinkTerm 在 shell 里做的一切都通过一个可执行文件 thinkterm 完成。

thinkterm --help

子命令

命令作用
start启动 GUI,可选择运行另一个程序。别名 -e
tui [DOMAIN…]在当前终端里打开 ThinkTerm 界面
connect <name>连接到一个 ThinkTerm 多路复用器
ssh建立 SSH 会话
serial打开串口
cli <subcommand>与运行中的多路复用服务端交互
imgcat <file>把图片输出到终端
ls-fonts显示当前使用的字体信息
show-keys显示当前的按键绑定
set-working-directory告知终端当前工作目录,用于 shell 集成
record把终端会话录制为 asciicast
replay回放 asciicast
shell-completion输出 bash、zsh、fish、elvish 或 PowerShell 的补全脚本

与运行中的多路复用器通信

thinkterm cli 面向的是一个已经在运行的服务端 —— 你 GUI 窗口背后的那个,或者一个后台 mux 服务端。由于多路复用器能寻址任意窗口、Thread 和已连接客户端中的任意 pane,这些命令可以够到你当前并没有在看的会话。

查询

命令作用
list列出窗口、标签和 pane
list-clients列出已连接的客户端
get-pane-direction报告某个方向上的 pane

创建与销毁

命令作用
spawn新建标签或窗口
split-pane分割已有的 pane
move-pane-to-new-tab把一个 pane 移出为独立标签
kill-pane关闭一个 pane

移动与调整大小

命令作用
activate-pane聚焦某个 pane
activate-pane-direction聚焦某个方向上的 pane
activate-tab聚焦某个标签
adjust-pane-size调整 pane 大小
zoom-pane把 pane 放大到填满其标签

文本进出

命令作用
send-text向某个 pane 写入文本,效果等同于键入
get-text读取某个 pane 屏幕上当前的文本

命名与基础设施

命令作用
set-tab-title重命名标签
set-window-title重命名窗口
rename-workspace重命名工作区
agent查询 agent 状态。目前只读
tlscreds获取 TLS 凭据
proxy启动 RPC 代理管道

产生列表的命令可以选择以表格或 JSON 输出。

两个 pane 里的程序可以互相通信

send-textget-text 就足以让一个程序驱动另一个,两边都不需要任何改动:

程序 A ──send-text──►  程序 B 的终端输入
                       B 完成工作并打印回应
程序 A ◄──get-text───  读回结果

任何交互式程序都能参与 —— 编码助手、shell 脚本、REPL。接口就是 pane 本身,所以不需要为此专门实现什么。

目前这个交换是靠注入终端输入完成的,这意味着没有消息身份、没有结构化回应,完成与否只能靠轮询。更结构化的协议正在设计中。

相关

  • Agent 状态 —— cli agent 报告的内容
  • TUI —— 纯终端里的工作区