很多人觉得CLI很难用,但是其实CLI 不是"功能阉割版",而是"另一种交互范式"。
发送文件 / 图片(其实没你想的那么难)
CLI 有几种发送文件的方式,按推荐度排:
1. @ 引用(最常用,最快)
在输入框里打 @,会触发文件路径自动补全:
@D:/Pro ← 一边打一边按 Tab,自动补全到 @D:/Projects/foo/bar.py
这比 GUI 的"点击附件按钮 → 弹文件选择器 → 浏览目录 → 双击"快得多,特别是当你已经知道路径时。
2. 拖拽文件到终端窗口
在 Windows Terminal、iTerm2、VS Code 集成终端等现代终端里,直接从资源管理器把文件拖到终端窗口会自动粘贴文件的绝对路径。然后你在前面加个 @ 就行。
Windows Terminal 支持
iTerm2 / Terminal.app 支持
老式 cmd.exe 可能不支持
3. 粘贴图片(剪贴板)
Claude Code CLI 支持直接从剪贴板粘贴图片。截图后 Ctrl+V 直接进对话,跟桌面客户端体验差不多。
- 截图工具(Win+Shift+S、Snipaste 等)→ 复制 → 切到 CLI → Ctrl+V
4. 直接给路径
最朴素的办法,直接打 请帮我看 D:/foo/bar.png,CLI 也能识别。
真正变差的地方
没有原生文件选择器对话框
发送前看不到图片缩略图预览
没有"最近使用的文件"列表
但 @ + Tab 补全的速度,熟练之后通常比 GUI 快。
"按钮"去哪了 — 全变成了斜杠命令
桌面客户端的按钮,CLI 全部对应为斜杠命令或键盘快捷键:
| 桌面客户端按钮 | CLI 等价物 |
|---|---|
| 新建会话 | /clear 或 /new |
| 切换模型 | /model |
| 设置 | /config 或编辑 settings.json |
| 历史记录 | /resume(列出历史会话) |
| 帮助 | /help |
| 暂停/中断 | Esc 或 Ctrl+C |
| 复制最后回复 | 终端原生选择复制 |
| 切换权限模式 | /permissions 或 Shift+Tab 循环 |
| 退出 | /exit 或 Ctrl+D |
打 / 会弹出所有可用命令的列表,跟 IDE 的命令面板很像。学会了之后比鼠标点按钮快得多。
键盘快捷键也很强:
↑/↓— 历史输入Ctrl+R— 反向搜索历史Esc— 中断当前生成Shift+Tab— 切换权限模式Ctrl+L— 清屏
“切换窗口”——这里有个根本概念差异
你问的是"如何切换定时任务窗口",但需要先澄清一个重要的概念:
cron 定时任务根本没有"窗口"。
跟桌面客户端那种"每个会话一个 tab/窗口、随时切回去看"的模型完全不同。cron 跑的 Claude Code 是这样工作的:
- cron 到时间 → 后台启动一个 Claude 进程
- 它执行任务、输出结果到日志文件
- 任务完成后进程退出
- 没有任何"窗口"留下来给你切换
所以你监控 cron 任务的方式不是"切窗口",而是:
# 实时看日志
tail -f /var/log/claude-task.log
# 看最近一次的输出
cat /var/log/claude-task.log | tail -100
# systemd 管理的话
journalctl -u claude-forum-bot -f
那如果我想要"多个会话同时跑、能切来切去"呢?
CLI 也能做到,有几种方案:
方案 1:终端多 tab(最简单)
- Windows Terminal、iTerm2、VS Code Terminal 都支持多 tab
- 每个 tab 跑一个
claude会话 Ctrl+Tab/Ctrl+Shift+T切换- 关掉终端就没了(不持久)
方案 2:tmux / screen(推荐用于服务器)
- 在服务器上跑一个持久化的"虚拟终端容器"
- 每个 tmux window 跑一个 Claude 会话
- 你 SSH 断开了,会话还在后台跑
- 下次
tmux attach回来,所有会话原样还在 - 用
Ctrl+b n/Ctrl+b p在 window 之间切换 - 这是 Linux 服务器上跑长任务的标准做法
方案 3:/resume 命令(恢复历史会话)
- 在 CLI 里打
/resume会列出最近的会话 - 选一个回车,恢复到那个会话的完整上下文
- 即使昨天关了机,今天还能接着聊
- 类似桌面客户端的"历史记录"面板
方案 4:多个工作目录
- 不同项目用不同目录,
cd到哪个目录就是哪个项目的会话 - Claude Code 会自动隔离不同目录的会话历史
一个典型的混合工作流(推荐给你)
基于你的实际场景,我建议这样组织:
本地 Windows(交互式使用)
├── Windows Terminal tab 1: 主开发会话
├── Windows Terminal tab 2: 临时探索
└── 用 /resume 切换不同项目的历史
Linux 服务器(无人值守)
├── tmux session "monitor": 你 SSH 上去看日志的窗口
│ └── tail -f /var/log/claude-tasks/*.log
├── cron 后台任务(无窗口)
│ ├── 0 9 * * * 论坛评论
│ ├── 0 */6 * * * 内容生成
│ └── 0 3 * * * 备份校验
└── 所有任务输出 → /var/log/claude-tasks/<任务名>.log
综合评价
| 维度 | CLI | 桌面客户端 |
|---|---|---|
| 学习曲线 | 陡(要学命令) | 平 |
| 熟练后速度 | 更快 | 较慢 |
| 文件/图片操作 | @ + 拖拽 + 粘贴,够用 |
更直观 |
| 多会话管理 | tmux / tab / resume | 原生 tab |
| 定时任务监控 | 必须用日志(无窗口概念) | 不支持定时任务 |
| 远程使用 | SSH 即可 | 必须图形界面 |
| 自动化集成 | 强 | 弱 |
结论:
日常交互式使用,CLI 用熟了不比桌面客户端差,甚至更快。但你必须接受一个心智模型的转变——从"窗口和按钮"到"命令和管道"。
一旦转过来,你会发现 CLI 才是更高效的工具。