--- name: 用户的命令行习惯与协作方式 description: 用户用 PuTTY 操作服务器,对多行粘贴/heredoc 不熟;偏好自己执行 sudo 操作,重要改动要先确认 type: user --- 用户通过 **PuTTY** 连接服务器,对 Linux shell 的细节不算熟练。 **表现** - 我给的 `sudo tee ... <<'EOF'` 多行 heredoc 命令,粘贴到 PuTTY 后卡在 `>` 二级提示符 没能执行(用户当时不确定自己是否改好了)。 - **长单行命令也会被截断**(2026-09-27 实测):一条约 200 字符的 `sudo cp A B && sudo cp C D && sudo nginx -t && ...` 粘贴后被 PuTTY 折成三行, 前两行报 `cp: missing destination file operand`,第三行把配置文件路径当命令执行 报 `Permission denied`。**"单行"不等于安全**——长度也是风险。 - 涉及 `.env` 这类含密钥的文件,用户会拒绝我直接编辑。 **How to apply:** - 需要用户 sudo 时,**不要给内联命令**(无论单行还是多行)。正确做法: 1. 我把脚本写到服务器 `~/xxx.sh`(用 `ssh ... 'cat > ~/xxx.sh' < 本地文件`,我有写权限); 2. 让用户只执行 `sudo bash ~/xxx.sh` —— 短到不可能折行; 3. 脚本里自带备份与失败回滚,并 `echo` 每一步进度,方便用户贴回显。 - 若确实要给单行命令,控制在 **60 字符以内**,或拆成多条分别给。 - 涉及 `sudo` 的操作(重启服务、改 nginx 配置等)用户需要自己执行——我没有密码, 非交互 `sudo -n` 会失败。把命令准备好交给用户,并附上回滚方案。 - 改动 `.env`、nginx 配置、重启服务这类动作,先说明清楚再让用户确认。 ## 微信远程控制(2026-09-27 打通) 用户已用 `/remote-control wechat` 绑定微信 ClawBot,人不在电脑前时可以用微信派活。 **绑定方法(用户 2026-09-27 实测有效)**:`/remote-control` → 选 **Add WeChat Account**。 - **别选企业微信那条**——选了它给出的链接只能用企业微信打开(用户第一次就踩了这个坑, 以为是"个人微信不支持")。 - **终端里的二维码在 Windows 下扫不出来是常态**(渲染问题),不用纠结: **直接在手机浏览器打开底下那个链接**就能完成绑定。 - 消息以 `` 形式到达, **必须用 `WechatReply` 工具回复**,且 `chat_id` / `context_token` 原样照抄属性值。 用户在微信里只看到 `WechatReply` 的内容,**看不到终端输出**;一条消息只回一次, 不要再补一条总结。 - **绑定是临时的**:`/remote-control` 的连接状态不持久化,重启 CLI 后要重新执行 `/remote-control` 选 wechat。凭证存在 `~/.codebuddy/channels/wechat/credentials.json`。 - **本机 CodeBuddy 窗口必须保持运行**,关掉消息就断。需要常驻可 `codebuddy daemon start`(daemon 启动时会自动连接微信/企微 channel)。 - 微信里支持发图片和文件,会自动下载到本地。 - **用户把它定位为备用通道**(2026-09-27 原话:「这条路留着备用吧,微信不能拉调试环境, 还是要依赖你的记忆数据,这样换台机器也能使用 codebuddy cli 了」)。原因:微信端看不到 终端输出、做不了完整调试,主力仍是人在电脑前用 CLI。另外重连偶发 `Auth timed out`(2026-09-27 出现过一次),失败就再走一遍 Add WeChat Account。 **不要主动推荐微信通道当主力手段。**