win-cu-router

September 20, 2026 · View on GitHub

面向 Windows 的 Jev 决策与 Computer Use 适配实验。 让 Jev 在已观察到的候选动作中选择下一步,必要时交回宿主推理模型,再由执行器操作、由代码检查结果。

本项目站在现有项目与平台能力之上:Jev-cu 提供了直接的设计启发,Jev Ultrafast 启发了结构化网页决策与执行后核验;当前观察和部分执行依靠 trycua,模型能力来自 TypeSafe Jev,可选的官方执行能力来自用户已有的 Codex Computer Use 插件。本项目的工作是适配与编排,不是发明这些模型、观察技术或执行引擎。

状态:0.1.0-alpha.3 · Windows 本机实验 · GitHub 源码 · CI · 版本发布。项目没有上述供应方的官方合作或背书。

背景与取舍 · 观察接口 · 宿主接入 · 实测与证据 · 贡献与来源 · 开发工作流

为什么做这个项目

最初的问题是:在 Windows 上,能否沿用 Jev-cu 的分工,让简单的界面选择使用 Jev,把复杂规划和视觉判断留给宿主,同时保留可选择的执行器?

实践中发现,比较速度前必须控制观察方式、模型请求、执行器和核验范围。频繁回到主模型、逐步启动进程、反复截图带来的开销,不能直接归咎于某个执行插件。因此,本项目把这些环节拆开,并接入 trycua 已提供的 UIA、浏览器语义状态和截图能力,用有限任务验证这种组合是否有用。详细论据与推断边界见背景说明

当前能做什么

用途当前状态从哪里开始
读取选定窗口的 UIA、浏览器状态和截图统一接口已实现;计算器、记事本、浏览器代表性读取通过观察层
用 Jev 操作计算器已验证有限算式;支持 trycua 或宿主提供的官方点击执行器宿主接入
用 Jev 填写网页字段已验证固定文字的搜索框输入与读回核验网页例子
在不确定时交回宿主已实现 checkpoint 和阶段目标回调;实测发生过接管验证记录
任意网站、Office、文件选择器的完整工作流尚未验收,不作为现成功能提供边界

适合愿意为任务配置候选动作、提供完成条件并检查实测记录的开发者。目前还不适合把任意办公任务直接交给它无人值守完成。

特点与代价

特点依据代价或限制
复用结构化观察,减少简单步骤对截图解释的依赖本机 UIA 读取样本约 0.15–0.17 秒速度主要依赖 trycua 与应用提供的结构;读取快不等于任务快
Jev 选择动作,也可请求接管搜索框输入自主通过;导航任务真实发生接管默认置信阈值偏保守,简单任务也可能需要宿主
观察、策略与执行分开同一 UIA 观察可供不同执行适配器使用官方执行器当前只验证了校准后的计算器点击;网页例子使用 trycua
保留失败、覆盖不足和核验信息有失败样本、分页标记、过期引用保护与结果读回增加观察开销;不是可靠性证明,也不能恢复已丢失的表单

这些是当前实现的取舍,不是相对其他项目的全面领先结论。尚无足够的同任务、多次重复、跨应用数据证明普遍提速、降低费用或提高成功率。

快速开始

只检查协议,不操作电脑

将源码解压到本地,进入项目目录。需要 Node.js 20.6+:

npm test
npm run demo

demo 使用模拟路由器和规划器,不需要 key,也不是实际模型效果演示。

试用真实窗口或网页

需要 Windows、Python 3.11+、另行安装的 cua-driver.exe(本机验证 0.28.2)。调用 Jev 还需要用户自己的 TypeSafe key;使用官方执行器还需要宿主已有且获授权使用的 Computer Use 插件。

python -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r python/requirements.txt

先选一个入口:

  • 只读窗口:按观察层说明配置准确的窗口范围。
  • 网页输入:按网页任务例子启动隔离浏览器并填写搜索框。
  • 计算器:打开一个中文 Windows 计算器,然后启动桥接服务,按宿主说明运行例子。
.\.venv\Scripts\python.exe python/calc_bridge.py --driver 'C:\path\to\cua-driver.exe'

连接配置保存在私有 .local 目录。真实模型调用使用自己的 API 额度。截图、密钥、原始记录和浏览器资料不进入发布包。安装本项目技能可运行 node scripts/install-local.mjs;它不会全局更换 Codex 的模型或插件。

如何工作

trycua:UIA / 浏览器语义状态 / 截图 / 状态谓词

本项目:统一观察封装 → 任务文字视图与候选动作

TypeSafe Jev:选择动作 / 刷新 / 请求完成核验 / 请求接管
       ├─ 动作 → 本项目适配 → trycua 或宿主官方执行器
       │                            ↓
       └──────── 新观察与独立核验 ←──┘
       └─ 接管 → 宿主处理 checkpoint,决定是否继续

Jev 不接收本项目的原始截图。图像保留给支持视觉的宿主,但自动视觉理解和通用 GPT 规划调用尚未实现。planner(checkpoint) 当前只返回阶段目标,不能增加操作权限;没有 planner 时返回 handoff

统一观察封装负责目标范围、数据格式、引用时效与会话管理。真正的 UIA 读取、DOM/AX 数据获取、截图及输入由上游工具或系统完成,详见贡献归属表

已观察到的结果

以下为单机有限样本;计时不含安装、服务启动和人工检查。不同任务、版本和执行路径不能直接相除得到提速倍数。

样本结果记录
alpha.1:Jev + 官方点击,8×9=724 次动作,循环 3.615 秒E01
alpha.2:Jev + trycua,6+7=135 次动作,循环 11.762 秒E02
alpha.2:网页搜索框填入 asyncio,不提交Jev 自主完成;1 次输入并核验,3.168 秒E03
alpha.2:打开 Python Success StoriesJev 请求接管;宿主完成,后续执行与核验片段 2.092 秒E04、E05

离线测试检查协议、范围、引用时效和开发流程,不代表同等数量的真实办公任务通过。可公开核对的脱敏记录、失败样本、计时口径与复现入口见验证文档。历史的 19、23、26 项记录分别对应当时的版本;当前测试数量和结果以 CI 为准。

开发流程参考 Anthropic 的 SDLC Playbook:意图和验收 → 计划 → 实现与审查 → CI → 版本发布 → 问题回流。项目保留自身记录与 GitHub 配置;通用宿主流程工具独立存放,不是安装、测试或运行本项目的依赖。发布包独立解压复验,CI 或发布失败转为去重的问题单。工作流说明区分自动检查、宿主自查与真实 CU 验收。Codex Hooks 是可选辅助,自动事件触发仍未留证,历史状态不替代云端 CI。

已知边界

  • 接上观察接口不等于支持任意 App。当前仍需任务适配;网页字段文字由任务预先指定,尚不是自动生成任意文本的通用网页代理。
  • UIA 缺失、Canvas、游戏、跨窗口及复杂动态页面可能需要视觉或专门接口;游戏已暂停验证。
  • 已结束的驱动会话可能清理其隔离浏览器。续期可减少闲置失效;显式恢复不会重放输入,也不能找回丢失的页面状态。
  • 本机 HTTP 桥的范围检查不是操作系统沙箱。拥有服务令牌或本机代码执行权的调用者仍需受到宿主权限约束。
  • 没有成本基准、长期稳定性评测或通用优于官方 CU / trycua 的结论。

贡献、致谢与许可

感谢 Jev-cu、Jev Ultrafast / Browser Use、TypeSafe、trycua、OpenAI,以及 Windows UI Automation、Chromium、MCP 和依赖维护者提供的思路与基础能力。PROVENANCE.md逐项记录直接依赖、设计启发和本项目编写的部分;使用相近思路不代表本项目首先提出它。

新增适配代码采用 MIT。上游代码、服务、商标和官方运行时各自的权利不会由本项目许可证一并授予。参考外部组件说明既有许可审查

欢迎按贡献说明补充可复现用例、修正事实与来源归属。开发验收运行 npm run verify;源码扫描只是其中一项检查。版本发布需要主分支同一提交的成功 CI,发布后重新下载核验源码包。