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.md
source 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 "你的指令"

注意事项

  1. 设置代理:必须设置 HTTP_PROXY 和 HTTPS_PROXY 代理,否则 Codex 无法联网
  2. 自动读取上下文:Codex 会自动读取当前目录的代码
  3. 等待结果:复杂任务需要等待 Codex 执行完成
  4. 不重复造轮子:遇到代码任务,优先使用 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 错误、白屏等问题

检查要点:

  1. 页面是否正常渲染(不是白屏)
  2. 所有资源(JS/CSS/图片)是否 200
  3. 关键内容是否显示(文章列表、标题等)
  4. 控制台是否有错误

如果发现问题,立即修复并重新部署。

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 类型导入修复

限制

仅处理代码相关任务,其他任务(如文件管理、笔记记录等)仍使用原生能力。