Auto-sync
This commit is contained in:
@@ -21,19 +21,20 @@ TASK_END
|
||||
|
||||
```bash
|
||||
tmux new-session -d -s claude-work -x 140 -y 40
|
||||
tmux send-keys -t claude-work 'claude --dangerously-skip-permissions' Enter
|
||||
sleep 5 && tmux send-keys -t claude-work Enter # 信任目录
|
||||
sleep 3 && tmux send-keys -t claude-work Down && tmux send-keys -t claude-work Enter # 权限确认
|
||||
sleep 2 && tmux send-keys -t claude-work 'cat /tmp/task.txt' Enter # 从文件读取任务
|
||||
tmux send-keys -t claude-work 'claude --permission-mode bypassPermissions' Enter
|
||||
sleep 8 && tmux capture-pane -t claude-work -p # 确认已启动后即可发送任务
|
||||
```
|
||||
|
||||
> 用 `--permission-mode bypassPermissions` 可直接跳过信任目录 + bypass 权限确认两步,不需要额外的 sleep + send-keys 模拟交互。
|
||||
|
||||
---
|
||||
|
||||
## 关键参数说明
|
||||
|
||||
| 参数 | 作用 |
|
||||
|------|------|
|
||||
| `--dangerously-skip-permissions` | 跳过文件写入、网络等操作的确认提示 |
|
||||
| `--permission-mode bypassPermissions` | 直接设置 bypass 模式,跳过所有交互确认(包括信任目录、bypass 权限提示) |
|
||||
| `--dangerously-skip-permissions` | 同上,但通过 CLI 界面内部触发,可能仍需交互确认 |
|
||||
| `--add-dir <路径>` | 添加可访问目录,可多次使用 |
|
||||
| `--max-turns N` | 最大迭代次数,建议 20-30 |
|
||||
| `--bare` | 跳过插件/MCP/CLAUDE.md 加载,最快启动 |
|
||||
@@ -89,7 +90,7 @@ SKILL.md 中定义的触发条件(自然语言模式匹配)会在对话中
|
||||
|
||||
## 常见坑点
|
||||
|
||||
1. **不写 `--dangerously-skip-permissions`** → 文件写入被阻塞,任务卡住
|
||||
1. **不写 bypass 参数** → 文件写入被阻塞,任务卡住(优先用 `--permission-mode bypassPermissions`)
|
||||
2. **命令行参数直接传任务**(`claude -p "任务"`)→ 特殊字符(括号、引号)引发 shell 转义错误
|
||||
3. **max-turns 太小** → 任务没跑完就超时,建议复杂任务设 25-30
|
||||
4. **用管道不用参数** → `echo '任务' | claude -p print` 比 `claude -p "任务"` 更可靠
|
||||
@@ -107,6 +108,8 @@ claude auth status --text
|
||||
|
||||
## 完整模板
|
||||
|
||||
### Print Mode
|
||||
|
||||
```bash
|
||||
cat << 'TASK_END' | claude -p print \
|
||||
--dangerously-skip-permissions \
|
||||
@@ -119,6 +122,24 @@ cat << 'TASK_END' | claude -p print \
|
||||
TASK_END
|
||||
```
|
||||
|
||||
### TMUX 交互模式
|
||||
|
||||
```bash
|
||||
# 创建 session 并直接进入 bypass 模式
|
||||
tmux new-session -d -s <session-name> -x 140 -y 40
|
||||
tmux send-keys -t <session-name> 'cd <项目目录> && claude --permission-mode bypassPermissions' Enter
|
||||
sleep 8 && tmux capture-pane -t <session-name> -p # 确认 Claude Code 已就绪
|
||||
|
||||
# 向 session 发送任务
|
||||
tmux send-keys -t <session-name> '[任务描述]' Enter
|
||||
|
||||
# 查看输出
|
||||
tmux capture-pane -t <session-name> -p
|
||||
|
||||
# 附加交互(可选)
|
||||
tmux attach -t <session-name>
|
||||
```
|
||||
|
||||
输出后检查 stdout 是否包含 `done: 文件路径`,然后用 `MEDIA:/路径` 将文件发送给用户。
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user