Claw-blog codex-code-operation
当用户要求代码相关的操作时(如写代码、调试、重构、分析代码、创建文件、执行命令等),统一使用 Codex 执行。使用 `codex exec` 或交互式 Codex 进行代码操作。
install
source · Clone the upstream repo
git clone https://github.com/zzvei/claw-blog
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/zzvei/claw-blog "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/codex/codex-code-operation" ~/.claude/skills/zzvei-claw-blog-codex-code-operation && rm -rf "$T"
manifest:
skills/codex/codex-code-operation/SKILL.mdsource content
代码操作统一使用 Codex
触发条件
用户要求进行以下操作时:
- 写代码、调试代码
- 重构、分析代码
- 创建/修改项目文件
- 执行构建、测试等命令
- 代码审查
- 任何需要 Codex 能力的任务
执行方式
1. 非交互式执行(快速任务)
export HTTP_PROXY=http://127.0.0.1:7890 export HTTPS_PROXY=http://127.0.0.1:7890 codex exec "你的指令"
2. 交互式执行(复杂任务)
export HTTP_PROXY=http://127.0.0.1:7890 export HTTPS_PROXY=http://127.0.0.1:7890 codex
3. 在指定目录执行
cd /目标目录 && codex exec "你的指令"
注意事项
- 设置代理:必须设置 HTTP_PROXY 和 HTTPS_PROXY 代理,否则 Codex 无法联网
- 自动读取上下文:Codex 会自动读取当前目录的代码
- 等待结果:复杂任务需要等待 Codex 执行完成
- 不重复造轮子:遇到代码任务,优先使用 Codex 而不是自己写
示例
用户说"帮我写个排序算法":
codex exec "用 Python 写一个快速排序算法,代码要简洁有注释"
用户说"分析一下这个项目的结构":
codex exec "分析当前目录的项目结构,列出主要文件和目录"
用户说"帮我 debug 这个函数":
codex exec "查看并修复 src/utils.js 中的 parseJSON 函数的 bug"
GitHub 推送与部署
推送到 GitHub(zzvei/claw_workspace)
export HTTP_PROXY=http://127.0.0.1:7890 export HTTPS_PROXY=http://127.0.0.1:7890 cd /var/www/blog # 获取 GitHub App Token JWT_TOKEN=$(python3 -c " import time, jwt with open('/root/.github/zzvei-claw.pem') as f: key = f.read() print(jwt.encode({'iss': 3314476, 'iat': int(time.time()), 'exp': int(time.time())+600}, key, algorithm='RS256')) ") GH_TOKEN=$(curl -s -X POST -H "Authorization: Bearer $JWT_TOKEN" -H "Accept: application/vnd.github+json" \ "https://api.github.com/app/installations/122353721/access_tokens" | python3 -c " import json, sys data = json.load(sys.stdin) print(data['token']) ") # 提交并推送 git add -A git commit -m "提交信息" git remote set-url origin "https://x-access-token:${GH_TOKEN}@github.com/zzvei/claw_workspace.git" git push origin main
构建与部署
cd /var/www/blog npm run build # 部署到 Nginx cp -r dist/* /var/www/blog/ nginx -s reload # 访问地址 # https://i.zzvei.cn/blog/
部署后 Playwright 检查
部署完成后,必须使用 Playwright 检查页面渲染情况:
# 打开页面(14寸 MacBook Pro 分辨率:3024×1964) browser open https://i.zzvei.cn/blog/ # 等待页面加载 sleep 2 # 截图检查 browser screenshot --full-page # 获取页面结构快照 browser snapshot # 检查关键元素是否存在(如文章列表) # 确认没有 404 错误、白屏等问题
检查要点:
- 页面是否正常渲染(不是白屏)
- 所有资源(JS/CSS/图片)是否 200
- 关键内容是否显示(文章列表、标题等)
- 控制台是否有错误
如果发现问题,立即修复并重新部署。
Nginx 配置位置
- 配置文件:
/etc/nginx/sites-enabled/blog - 静态文件:
/var/www/blog/dist/ - 如果需要新路由(如 /app),修改 Nginx 配置后
nginx -s reload
消息通知
推送代码到 GitHub 后,必须主动发送消息告知用户:
- 推送的仓库和分支
- 提交信息
- 部署状态
发布/部署完成后,必须主动发送消息告知用户:
- 部署成功/失败状态
- 访问地址
- 版本信息
示例消息:
博客已部署 ✅ 访问地址:https://zzvei.com/blog/ GitHub:zzvei/claw_workspace@main 提交:fix: TypeScript 类型导入修复
限制
仅处理代码相关任务,其他任务(如文件管理、笔记记录等)仍使用原生能力。