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

42 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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,人不在电脑前时可以用微信派活。
(他最初卡在终端二维码扫不出、面板给的是企业微信入口,后来绑定成功。)
- 消息以 `<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)。
- 微信里支持发图片和文件,会自动下载到本地。