Auto-sync

This commit is contained in:
2026-04-13 12:37:31 +08:00
parent 77e2edeaa2
commit 501c0285df

View File

@@ -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:/路径` 将文件发送给用户。
---