Codex额度用完怎么办?Windows定时自动继续VS Code Codex任务实战

目录

[1. 前言](#1. 前言)

[2. 我的使用环境](#2. 我的使用环境)

[3. 安装 AutoHotkey](#3. 安装 AutoHotkey)

[4. AutoHotkey 的安装位置](#4. AutoHotkey 的安装位置)

[5. 使用 Window Spy 获取鼠标坐标](#5. 使用 Window Spy 获取鼠标坐标)

[6. 编写第一个 AutoHotkey 脚本](#6. 编写第一个 AutoHotkey 脚本)

[7. 手动测试 AutoHotkey 脚本](#7. 手动测试 AutoHotkey 脚本)

[8. 使用 Windows 任务计划程序定时执行](#8. 使用 Windows 任务计划程序定时执行)

[9. 设置任务"常规"](#9. 设置任务“常规”)

[10. 设置触发时间](#10. 设置触发时间)

[11. 设置任务"操作"](#11. 设置任务“操作”)

[12. 总结](#12. 总结)


1. 前言

最近在使用 VS Code 中的 Codex 插件执行一个持续时间比较长的项目任务时,遇到了一个比较实际的问题。

Codex 在工作一段时间后可能会达到当前使用额度,此时界面会提示类似:

复制代码
You are out of Codex messages
Your rate limit resets at ...

也就是说,需要等待额度在指定时间恢复后才能继续。

如果恢复时间刚好在凌晨,例如:

复制代码
2026/09/13 02:09

显然没有必要专门等到凌晨再手动打开电脑、点击输入框、输入:

复制代码
项目继续工作

然后再点击发送。

因此我希望实现这样一个自动化流程:

复制代码
到达指定时间
        ↓
Windows 自动执行脚本
        ↓
切换到 VS Code
        ↓
点击 Codex 输入框
        ↓
自动输入"项目继续工作"
        ↓
点击发送按钮
        ↓
Codex 继续之前的任务

最终我采用的方案是:

Windows 任务计划程序 + AutoHotkey v2。

这种方法不需要修改 Codex 插件,也不需要在远程 Ubuntu 服务器中额外安装 Codex CLI,本质上就是让 Windows 在指定时间模拟一次人工鼠标和键盘操作。

【此处插入图片 1:Codex 额度耗尽的界面截图】


2. 我的使用环境

本文使用的环境为:

复制代码
Windows 11
VS Code
VS Code Remote SSH
Codex 插件
AutoHotkey v2
Windows 任务计划程序

我的 VS Code 本地运行在 Windows 中,但是实际项目通过 Remote SSH 连接远程 Ubuntu 服务器。

也就是说:

复制代码
Windows
  │
  ├── VS Code
  │      │
  │      ├── Codex
  │      │
  │      └── Remote SSH
  │             │
  │             └── Ubuntu服务器

这里有一个重要特点:

Codex 的操作界面本身仍然位于 Windows 桌面中。

所以,与其在 Ubuntu 服务器里想办法控制 VS Code 插件,不如直接在 Windows 桌面端模拟鼠标点击。


3. 安装 AutoHotkey

AutoHotkey 是 Windows 下非常常见的自动化工具,可以模拟:

复制代码
鼠标点击
键盘输入
窗口切换
快捷键
剪贴板操作

本文使用的是:

复制代码
AutoHotkey v2

(1)可以通过 winget 安装:

复制代码
winget install --id AutoHotkey.AutoHotkey -e

如果已经安装过,可能会看到:

复制代码
找到已安装的现有包。正在尝试升级已安装的包...
找不到可用的升级。
配置的源中没有可用的较新的包版本。

这说明 AutoHotkey 已经安装,并不需要再次安装。

(2)网址安装

下载网址:AutoHotkey


4. AutoHotkey 的安装位置

安装的时候注意一下AutoHotkey 的安装位置,默认的是

C:\Program Files\AutoHotkey\v2\AutoHotkey64.exe

我安装的是E:\Program Files\AutoHotkey\v2\AutoHotkey64.exe


5. 使用 Window Spy 获取鼠标坐标

AutoHotkey 自带一个非常实用的工具:

复制代码
Window Spy

打开 Window Spy 后,把鼠标移动到目标位置,就可以看到:

复制代码
Screen
Window
Client

等不同坐标。

因为脚本中已经指定:

复制代码
CoordMode "Mouse", "Screen"

所以我们需要使用:

复制代码
Screen

对应的坐标。

例如,我把鼠标放到 Codex 输入框中时,Window Spy 显示:

复制代码
Screen: 1320, 878

因此我的输入框坐标就是:

复制代码
INPUT_X := 1320
INPUT_Y := 878

如图:


6. 编写第一个 AutoHotkey 脚本

我首先实现一个最简单的功能:

自动激活 VS Code,然后点击 Codex 的发送按钮。

在桌面创建个txt文件,后续填入内容后重命名如下:

复制代码
codex_continue.ahk

我的实际路径是(我的桌面是E:\Desktop):

复制代码
E:\Desktop\codex_continue.ahk

内容如下(按自己的需求情况修改codex输入框和发送按钮的xy):

复制代码
#Requires AutoHotkey v2.0

; 使用屏幕绝对坐标
CoordMode "Mouse", "Screen"

; =========================
; 坐标
; =========================

; Codex 输入框
INPUT_X := 1320
INPUT_Y := 878

; Codex 发送按钮
SEND_X := 1878
SEND_Y := 915

; 自动发送的内容
MESSAGE := "项目继续工作"


; =========================
; 找到 VS Code
; =========================

if !WinExist("ahk_exe Code.exe")
{
    MsgBox "没有找到 VS Code,任务终止。"
    ExitApp
}


; =========================
; 激活 VS Code
; =========================

WinActivate "ahk_exe Code.exe"

if !WinWaitActive("ahk_exe Code.exe",, 10)
{
    MsgBox "VS Code 无法激活,任务终止。"
    ExitApp
}

; 等待界面稳定
Sleep 3000


; =========================
; 点击 Codex 输入框
; =========================

Click INPUT_X, INPUT_Y

Sleep 700


; =========================
; 清空输入框
; =========================

Send "^a"

Sleep 300


; =========================
; 输入"项目继续工作"
; 使用剪贴板避免中文输入问题
; =========================

OldClipboard := ClipboardAll()

A_Clipboard := MESSAGE

Sleep 300

Send "^v"

Sleep 1200


; =========================
; 点击发送按钮
; =========================

Click SEND_X, SEND_Y

Sleep 500


; =========================
; 恢复原剪贴板
; =========================

A_Clipboard := OldClipboard

ExitApp

7. 手动测试 AutoHotkey 脚本

在创建定时任务之前,一定要先测试 .ahk 本身。

首先保持:

复制代码
VS Code 已打开
Codex 面板已打开
窗口布局保持不变

然后双击:

复制代码
codex_continue.ahk

正常情况下应该看到:

复制代码
VS Code 自动切换到前台
        ↓
鼠标点击 Codex 输入框
        ↓
自动出现"项目继续工作"
        ↓
自动点击发送按钮

为了第一次测试更加直观,也可以临时把:

复制代码
Click SEND_X, SEND_Y

修改为:

复制代码
MouseMove SEND_X, SEND_Y, 20
Sleep 3000
Click

这样鼠标会慢慢移动到发送按钮,然后等待 3 秒再点击。

便于检查坐标是否正确。

测试成功后,再恢复成:

复制代码
Click SEND_X, SEND_Y

【此处插入图片 6:AutoHotkey 自动输入"项目继续工作"后的截图】


8. 使用 Windows 任务计划程序定时执行

脚本运行正常后,就可以让 Windows 在指定时间自动启动它。

按:

复制代码
Win + R

输入:

复制代码
taskschd.msc

进入:

复制代码
任务计划程序

这里建议不要使用:

复制代码
创建基本任务

而是直接使用:

复制代码
创建任务

因为后者可以配置更完整的运行条件。


9. 设置任务"常规"

任务名称可以写:

复制代码
Codex额度恢复后继续

我选择:

复制代码
只在用户登录时运行

这一项很重要。

因为 AutoHotkey 需要操作真实的:

复制代码
Windows桌面
鼠标
VS Code窗口

如果选择:

复制代码
无论用户是否登录都要运行

任务可能运行在后台 Session 中,此时 AutoHotkey 无法正常操作桌面。

也可以勾选:

复制代码
使用最高权限运行

10. 设置触发时间

进入:

复制代码
触发器

点击:

复制代码
新建

根据需求选择:

复制代码
一次

然后设置运行时间。

例如 Codex 提示额度:

复制代码
02:09 后恢复

我不会直接设置:

复制代码
02:09

而是稍微留出一点同步时间,例如:

复制代码
02:11

避免 Codex 后台额度刚到时间但服务器状态还没有完全刷新。


11. 设置任务"操作"

这一部分是整个配置中最容易出错的地方。

进入:

复制代码
操作
→ 新建
→ 启动程序

我的设置如下。

程序或脚本:

复制代码
E:\Program Files\AutoHotkey\v2\AutoHotkey64.exe

添加参数:

复制代码
"E:\Desktop\codex_continue.ahk"

起始于:

复制代码
E:\Desktop

这里的逻辑其实就是:

复制代码
Windows任务计划程序
        ↓
AutoHotkey64.exe
        ↓
执行 codex_continue.ahk

而不是让 Windows 任务计划程序直接执行:

复制代码
codex_continue.ahk

12. 总结

整个方案实际上并不复杂,核心只有两个工具:

复制代码
AutoHotkey
+
Windows任务计划程序

AutoHotkey 负责:

复制代码
窗口切换
鼠标点击
键盘输入
剪贴板操作

Windows 任务计划程序负责:

复制代码
在指定时间启动 AutoHotkey

最终实现:

复制代码
Codex额度耗尽
        ↓
等待额度自动恢复
        ↓
无需人工值守
        ↓
Windows定时启动脚本
        ↓
自动输入"项目继续工作"
        ↓
Codex继续执行项目

对于需要让 AI Coding Agent 长时间执行实验、代码修改、论文整理等任务的场景,这种方式还是比较实用的。

相关推荐
星禾元亨1 小时前
生成式 AI 时代的架构演进与 GEO 优化:实体企业 AI 落地避坑指南
大数据·人工智能·架构·自动化·创业创新
差不多的周周1 小时前
《HuMoCon:人类运动理解的概念发现》论文核心部分详解
人工智能·深度学习·计算机视觉·自然语言处理
IT·陈寒1 小时前
Python的GIL问题又把我坑惨了
人工智能·大模型·api·创业·变现·简历优化
锋行天下1 小时前
LangGraph 模拟简单的多模型编排
人工智能
中年阿甘2 小时前
对AI结对编程的反思
人工智能·结对编程
用户721746588262 小时前
64个音色、¥1/万字符、语音输出贵5倍:TTS/ASR/Omni四层链路的参数细节与两个真实报错
人工智能
人工智能AI技术2 小时前
给LLM装上长期记忆!用Milvus向量数据库解决AI金鱼记忆问题
人工智能
Evand J2 小时前
【MATLAB例程,图像滤波降噪12】加权中值滑动窗口滤波(WMF)图像降噪,包含滤波质量评价。附代码下载链接
开发语言·图像处理·人工智能·计算机视觉·matlab·滑动窗口·滤波
智行合一科技2 小时前
肖利华博士受邀参加第九届OTC品牌与科普宣传月暨全民健康嘉年华启动大会
人工智能