Files
wechat-scan/.ai-memory/user_shell_workflow.md
T
gjm bc201210a5 chore: 记忆记录微信远程控制已打通
用户 2026-09-27 用 /remote-control wechat 绑定成功,补充:回复必须走 WechatReply、
绑定不持久化重启需重连、本机窗口须保持运行。
2026-09-27 20:51:31 +08:00

2.7 KiB
Raw Blame History

name, description, type
name description type
用户的命令行习惯与协作方式 用户用 PuTTY 操作服务器,对多行粘贴/heredoc 不熟;偏好自己执行 sudo 操作,重要改动要先确认 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,人不在电脑前时可以用微信派活。 (他最初卡在终端二维码扫不出、面板给的是企业微信入口,后来绑定成功。)

  • 消息以 <channel source="wechat" chat_id="..." context_token="..."> 形式到达, 必须用 WechatReply 工具回复,且 chat_id / context_token 原样照抄属性值。 用户在微信里只看到 WechatReply 的内容,看不到终端输出;一条消息只回一次, 不要再补一条总结。
  • 绑定是临时的:/remote-control 的连接状态不持久化,重启 CLI 后要重新执行 /remote-control 选 wechat。凭证存在 ~/.codebuddy/channels/wechat/credentials.json。
  • 本机 CodeBuddy 窗口必须保持运行,关掉消息就断。需要常驻可 codebuddy daemon start(daemon 启动时会自动连接微信/企微 channel)。
  • 微信里支持发图片和文件,会自动下载到本地。