Redock 面向的是完整开发周期,不只是写代码。你可以用它启动实现工作、运行测试、验证变更、查看日志、准备发布,并回到长时间运行的任务。Project 包装工作上下文,Action 执行可复用步骤,Snippet 负责已在终端内时的快速输入。
按开发周期建模
可以把每个仓库理解成一组工作流:
- 打开正确的项目上下文。
- 启动 agent 或 shell 做实现。
- 运行测试和检查。
- 查看状态、日志和构建输出。
- 在合适时执行发布或部署步骤。
Redock 的价值在于把这些步骤沉淀为 Project 上下文和 Actions,而不是让用户记住一堆散落的终端命令。
保持连接地址清晰
为每个稳定连接地址创建独立 Host:
Home Mac - LAN用于同一 Wi-Fi。Home Mac - Tailscale用于私有远程访问。VPS - Prod用于云服务器。Mac - ngrok用于临时访问。
不要在 LAN、Tailscale、ngrok 之间反复修改同一个 Host。分开建 Host 后,连接历史、Project 和 Action 都更清晰。
用 Project 管理重复项目
Project 会把一个 Host 和一个 working directory 包装成可复用的开发上下文。只要你经常回到同一个仓库或服务工作,就适合创建 Project。
好的 Project 示例:
Redock iOS App
Host: Home Mac - Tailscale
Working Directory: ~/Documents/code/redock
Website
Host: VPS - Dev
Working Directory: /srv/www/redock.dev
Project Home 会在同一个上下文里显示 project actions、project snippets、相关连接和 tmux 入口。Project actions 是私有副本,所以构建、测试、验证或发布动作都可以针对这个 Project 调整,不会意外影响另一个 Project。
为 Action 选择正确运行方式
Action 用来执行可复用的工作流步骤。它不只适合启动 agent,也适合测试、验证、构建、发布检查、部署脚本和运维检查。根据命令行为选择运行方式。
- 终端交互:适合 Claude Code、Codex、opencode、REPL、日志跟随、dev server,以及需要继续输入的命令。
- 快速任务:适合会结束并产生有用输出的命令,例如
npm test、pytest、冒烟测试、健康检查或发布前验证。 - 后台长任务:适合长构建、长测试、数据任务、部署,或手机断开后仍应继续运行的 agent run。
有用的 Action 示例:
claude
npm run lint
npm test
./scripts/deploy-staging.sh
用 Snippet 快速发送终端输入
Snippet 是你已经在终端里时,希望快速发送的小命令。Redock 内置了 agent、Git、tmux 分组。当前终端属于某个 Project 时,还会显示 Project snippets。
好的 snippet 示例:
git diff --staged
git log --oneline --decorate --graph -20
/resume
tmux capture-pane -p -S -200
不要把 destructive command 做成随手一点的 snippet。git reset --hard、git clean -fd、生产数据库写入、强制部署这类命令应该保留手动确认空间。
把 tmux 和 agent 组合使用
认真做移动端远程工作时,建议在 Host 上开启 tmux,并从 Project 入口进入。一个实用流程是:
- 打开 Project。
- 启动或恢复 tmux-backed terminal。
- 在一个 pane 里跑 agent。
- 用 snippets 执行 Git、测试和 tmux pane 切换。
- 稍后从 Activity 或 Project connection picker 回到现场。
Mosh 适合处理移动网络切换。tmux 适合让任务保留在远程主机上。两者解决的问题不同,可以一起使用。
保持工作流清晰
- 用 Redock 推动编码、测试、验证和发布步骤。
- 开发工具、依赖安装和 AI agent 都放在远程 Host 上。
- 可复用执行步骤放进 Action。
- 仓库相关工作上下文放进 Project。
- 高频短命令放进 Snippet。
- 不要把 secret 放进 snippet 或 action name。
- 运行会改变状态的命令前,先检查
pwd、git branch和git status。