CLI-Only Commands
这些命令仅限终端 CLI 界面使用。它们在 Web UI、Telegram 机器人或 Discord 机器人中不可用——它们依赖于本地终端进程,没有对应的服务器端实现。如果你在非 CLI 渠道中尝试使用这些命令,它们会被静默忽略或返回错误。
这些命令直接与 CLI 进程本身交互——读取本地机器上的文件、控制终端显示、输出版本元数据或终止进程。它们无法转化为请求/响应 API,因此仅在交互式终端会话中有意义。
命令参考
| 命令 | 参数 | 描述 |
|---|---|---|
/version | 无 | 输出当前 CLI-JAW 版本字符串 |
/quit | 无 | 优雅地退出 CLI-JAW 进程 |
/q | 无 | /quit 的别名 |
/file | <path> [caption] | 将本地文件附加到对话中(不在界面上显示) |
/ide | pop | on | off | 控制 IDE diff 视图面板 |
/version
将已安装的 CLI-JAW 版本、构建哈希和运行时信息输出到终端。适用于提交 bug 报告和验证更新是否成功。
语法
/version
参数
无。该命令不接受任何参数或标志。
输出
cli-jaw v2.14.0 (build a3f8c1d)
node: v22.11.0 | platform: darwin-arm64
config: ~/.cli-jaw/config.yaml
使用示例
# Check your version before reporting an issue
/version
# Pipe to clipboard (in your shell, not inside a jaw session)
jaw --version | pbcopy
"버전 확인해줘" -- 助手会运行 /version 并报告结果。你也可以说 "지금 어떤 버전 쓰고 있어?" 来达到同样的效果。
/quit, /q
优雅地关闭 CLI-JAW 进程。该命令会将当前对话保存到会话日志,刷新所有待处理的记忆写入,然后以退出码 0 退出 Node.js 进程。/q 是功能完全相同的简写别名。
语法
/quit
/q
参数
无。该命令不接受任何参数或标志。
行为
- 会话保存 -- 当前对话会持久化到
~/.cli-jaw/sessions/,以便稍后使用/session load恢复。 - 记忆刷新 -- 退出前会提交所有进行中的记忆写入。
- 干净退出 -- 进程以退出码
0退出。如果超过 5 秒仍有阻塞,进程会强制终止。 - 无确认提示 -- 该命令立即退出,不会提示"你确定吗?"
使用示例
# End the session
/quit
# Same thing, shorter
/q
"종료해줘" 或 "나갈게" -- 助手能识别自然语言中的退出意图,并代你运行 /quit。你也可以连按两次 Ctrl+C 立即终止,但这样会跳过优雅刷新。
/file
将本地文件附加到当前对话上下文中。该文件从磁盘读取并作为隐藏附件注入消息历史——它不会在终端输出中可视化显示,但 AI 模型会接收其完整内容。这对于将文档、图片或数据文件输入对话而不干扰显示非常有用。
语法
/file <path> [caption]
参数
| 参数 | 必填 | 描述 |
|---|---|---|
<path> | 是 | 文件的绝对路径或相对路径。支持 ~ 展开。不支持通配符模式——每次命令只能附加一个文件。 |
[caption] | 否 | 可选的描述,作为上下文附加。如果省略,则仅发送文件内容。 |
支持的文件类型
| 类别 | 扩展名 |
|---|---|
| 文本 / 代码 | .txt, .md, .py, .js, .ts, .json, .yaml, .toml, .csv, .html, .css 及其他纯文本格式 |
| 图片 | .png, .jpg, .jpeg, .gif, .webp, .svg |
| 文档 | .pdf, .docx, .xlsx, .pptx, .hwpx |
| 音频 | .mp3, .wav, .m4a, .ogg |
行为
- 隐藏附件 -- 文件内容被添加到 AI 上下文中,但不会输出到终端。这样在附加大文件时可以保持显示整洁。
- 大小限制 -- 超过模型上下文窗口的文件会被截断并显示警告。对于非常大的文件,建议先拆分或摘要。
- 相对路径 -- 相对于当前工作目录(即你启动
jaw的目录)解析。 - 二进制文件 -- 图片和文档会进行 base64 编码。不支持的二进制格式会产生错误。
使用示例
# Attach a source file for review
/file src/auth/middleware.ts Review this middleware for security issues
# Attach a screenshot for analysis
/file ~/Desktop/screenshot.png What error is shown here?
# Attach a CSV for data analysis
/file ./sales-q4.csv
# Attach a PDF document
/file ~/Documents/contract.pdf 이 계약서 요약해줘
"이 파일 봐줘 -- ~/report.pdf" -- 助手会运行 /file ~/report.pdf 然后分析内容。你也可以说 "src/index.ts 파일 첨부해서 리뷰해줘",助手会一步完成附加和审查。
/ide
控制 IDE diff 视图面板。启用后,助手提出的代码更改会以并排或统一 diff 格式显示,类似于 VS Code 的 diff 编辑器,而不是内联在聊天中。这使得在接受更改之前审查多文件变更更加方便。
语法
/ide <mode>
参数
| 参数 | 描述 |
|---|---|
pop | 在新终端窗口中打开 diff 视图(弹出)。需要支持的终端模拟器(iTerm2、Wezterm 或 tmux)。 |
on | 在当前终端中启用内联 diff 视图。diff 显示在聊天下方的分割面板中。 |
off | 禁用 diff 视图。代码更改恢复为在聊天输出中内联显示。 |
模式说明
pop-- 生成一个专门用于显示 diff 的独立终端窗口。最适合多显示器设置,可以让 diff 始终与聊天并排显示。弹出窗口会随着助手提出更改而实时更新。on-- 垂直分割当前终端。上半部分显示对话;下半部分显示当前 diff。适用于任何终端,但会减少可用的聊天空间。off-- 恢复为默认行为,即代码块和 diff 在对话流中内联渲染。
终端要求
| 模式 | 要求 |
|---|---|
pop | iTerm2、Wezterm 或 tmux。如果未检测到支持的模拟器,则回退到 on 模式。 |
on | 任何终端均可,建议至少 80 列 40 行。 |
off | 无要求。 |
使用示例
# Open diff view in a separate window
/ide pop
# Enable inline diff view
/ide on
# Turn off diff view
/ide off
# Typical workflow: enable diff, ask for changes, review
/ide on
"이 함수 리팩터링해줘 -- async/await으로 바꿔줘"
# Review the diff in the panel, then accept or reject
"IDE 모드 켜줘" -- 激活 /ide on。你也可以说 "diff 뷰 팝업으로 열어줘" 来触发 /ide pop,或者 "IDE 모드 꺼줘" 来执行 /ide off。
平台可用性
下表说明了每个命令的可用平台及不可用平台:
| 命令 | CLI | Web UI | Telegram | Discord | Electron |
|---|---|---|---|---|---|
/version | 是 | 否 | 否 | 否 | 是* |
/quit, /q | 是 | 否 | 否 | 否 | 否 |
/file | 是 | 否 | 否 | 否 | 是* |
/ide | 是 | 否 | 否 | 否 | 是* |
* Electron 桌面应用包含一个内嵌终端,支持 CLI 专属命令。通过浏览器访问的 Web UI 则不支持。
故障排除
/file 提示"file not found"
请检查路径是否相对于你启动 jaw 的目录正确。如果不确定,请使用绝对路径:
# Instead of relative path
/file ./data/report.csv
# Use absolute path
/file /Users/jun/projects/data/report.csv
/ide pop 没有反应
pop 模式需要 iTerm2、Wezterm 或 tmux。如果你使用的是其他终端模拟器(Terminal.app、Alacritty、Hyper),该命令会静默回退到 on 模式。请检查你的终端:
echo $TERM_PROGRAM
# Should output: iTerm.app, WezTerm, or tmux
/quit 卡住了
如果 /quit 在 5 秒内没有退出,可能存在未完成的网络请求或文件写入。按 Ctrl+C 强制终止进程。检查 ~/.cli-jaw/sessions/ 以验证会话是否已保存。