Skip to content

About

Jev 技术介绍与交互演示:单文件网页、3D 决策演示和五款 Jev API 小游戏。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Jev 技术介绍与交互演示包

获取项目

git clone https://github.com/rayelzz/Jev_Demo_Continuous_Kit.git
cd Jev_Demo_Continuous_Kit

更新已有演示包

将本版本的 index.html 覆盖到旧包中的同名文件,刷新浏览器即可。无需修改 server.py,也无需安装额外依赖。网页内已包含样式、动画和五个游戏的代码,不依赖 CDN。

启动

需要 Python 3.10 或更新版本。运行:

python3 server.py --prompt-key

按终端提示输入 TypeSafe API Key,再打开 http://127.0.0.1:8787。

服务默认监听 0.0.0.0:8787。其他电脑可打开 http://这台机器的Tailscale-IP:8787,或使用解析到这台机器的域名并带上端口;网页会自动使用同一地址的 API 中转。修改监听配置后需重启服务,终端输入的密钥需要重新输入。可用 --host 127.0.0.1 指定仅本机监听。

Windows 可使用 py -3 server.py --prompt-key,也可使用随附的 start.bat;macOS 可使用 start.command。已设置 TYPESAFE_API_KEY 时可直接运行 python3 server.py。端口冲突可加 --port 8790。使用完毕按 Ctrl+C 关闭服务。

Key 仅保留在内存,不进入导出的 JSON、网页代码或浏览器存储。终端输入的 Key 不回传网页。此包使用 TypeSafe 原生接口,不使用 OpenAI 或 OpenRouter 的 Key。

直接打开 index.html 也可浏览、播放离线动画。真实请求需要有效密钥与网络;浏览器直连取决于跨域策略,推荐使用本地服务。文件预览器可能禁用脚本,应使用实际浏览器打开。

Jev 的能力边界

网页新增独立的“Jev 的短板与使用边界”章节,位于三方区别之后、三种判断方式之前。根据 官方 Jev 1.13 说明 列出九类短板,并说明哪些场景应使用代码或生成式模型、哪些输入需要先整改。章节标注适用版本和核对日期。

本版本:连续运行与五个游戏

3D 决策动画

动画进入可见区域后自动循环,Choice、Score、Noul 共用的动画速度默认 3×,可用横条调整到 0.25×—3×。点击“暂停”会停在当前步骤、进度和立方体角度,按钮随后变为“继续播放”;继续时从原处播放。默认速度下,立方体在“Jev 判断”阶段约每秒旋转三圈,其他阶段静止;拖动立方体可调整视角。点击步骤会跳到该阶段并继续播放;“从头播放”回到第一步。

默认采用明确标识的离线示意数据。展开“使用真实 Jev 响应播放”,确认后点击“请求一次并播放”,才发送一次真实请求。等待响应时暂停只冻结动画,不取消请求;若响应在暂停期间返回,继续播放后才展示结果。后续循环仅回放已收到的结果,不会再次计费调用。离开可见区域会停止绘制,返回后继续,避免消耗不可见动画的资源。真实请求失败不会生成伪造结果。

游戏与 Jev 的职责

游戏 Jev 的实际判断 程序执行
五子棋 Choice 选择候选落点 落白棋,检查五连,等待玩家黑棋
躲避子弹 Choice 选择九个方向之一 持续按最近方向移动,计算弹道与碰撞
俄罗斯方块 Choice 选择旋转角度和目标列 保持重力下落,同时转向目标列
贪吃蛇 Choice 选方向;各方向用独立 Noul 判断被困风险 检查当前合法性、直行风险与余量,新格子触发下一次判断
2048 Choice 根据规则推荐和合法方向摘要,每步选择一次方向 计算本步提示,执行实际 Choice,再随机生成数字

每个游戏标题旁的“Jev 怎么玩?”可打开简短介绍,说明输入、模型判断、程序执行以及实际使用的原语。说明不占用游戏首层界面,打开弹窗也不会暂停游戏。

持续运行

环境速度横条范围为 0.10×—5.00×,默认 0.65×。在躲避子弹中只调整子弹飞行与生成节奏,在俄罗斯方块中只调整重力,在贪吃蛇中调整走格速度。飞船移动、方块横移及 Jev 指令生效都不按环境倍率延后。贪吃蛇走到新格子后再次请求,合法转向返回后立即生效。

躲避子弹、俄罗斯方块和贪吃蛇的运行时钟与 API 请求分开。等待响应时子弹、方块和蛇仍继续移动。收到新判断后立即更新方向或目标;未收到首个判断时,飞船保持原位、方块受重力下落、蛇沿初始方向前进。贪吃蛇的走格间隔随速度倍率变化,转向收到响应后立即生效。没有本地 AI 替代模型选择。

五子棋和 2048 本身按回合进行,不存在可单独调速的环境,滑条停用。五子棋保持人机轮流落子;2048 收到最终 Choice 后立即执行移动,移动动画按真实时间播放,下一次判断间隔固定,等待模型时棋盘不移动。

Tetris 使用 10×20 棋盘、七种方块,支持“消行演示”和空棋盘。候选只包含当前下落位置仍可到达的落点,不实现贴墙旋转、塞块或 Hold。若回复时方块已换代,旧目标被丢弃。

Snake 使用 16×16 棋盘。立即碰撞和掉头由规则过滤;每个候选提供移动后的连通空间、可继续走的出口、避开身体到食物的距离、尾巴通路和直行余量。吃到食物时保留尾巴后再计算空间;尾巴通路按尾巴可能腾出的单元格计算,不能视为未来必然安全的证明。Jev 优先保留出口,再在可达路径中追食物,同时参考当前走格速度与最近请求延迟。

Choice 和各方向的 Noul 仍在同一次请求中并行返回。只有所选转向的风险达到 0.75、Jev 对当前直行的风险判断更低,而且直行余量能覆盖最近往返时间及缓冲时,才拦截这次转向。其余情况执行当前合法的 Jev 选择,避免为了拦截高风险转向而继续撞墙。常规情况下同一格只判断一次,走到新格子后立即请求;过期响应立即重查,连接失败仍走既有重试与暂停流程。没有生成程序替代方向。风险阈值和回复时间估计是本游戏的演示规则,不是模型安全保证。

2048 使用 4×4 棋盘,采用与独立 Tacit 2048 相同的本步规则提示,仍通过当前配置的 Jev 原生接口调用:

  1. 程序按游戏规则预览合法方向,计算合并得分、空位、最大数字是否留在左上角,以及横向蛇形的排列提示。
  2. 能立即合成 2048 的方向优先;最大数字已在左上角,且存在移动后至少保留两个空位的守角方向时,优先这些方向,再按排列提示排序,生成 recommended_direction。
  3. 将推荐方向和简短的 legal_moves 摘要交给 Jev,一次 Choice 返回最终方向。所有合法方向都保留,程序执行 Jev 实际返回的方向,再随机生成数字。

默认提示词为:

Choose the legal direction matching recommended_direction. This recommendation uses corner preservation, snake layout, free space and merges to advance toward 2048. Confirm it against the supplied legal moves.

2048 的补充策略输入框默认留空,内置玩法由规则提示表达。填写策略文字后,后续请求增加 state.strategy,并提示 Jev 考虑自定义策略;留空或只填空白字符时省略该字段。其他四款游戏的默认策略已实际进入判断问题的 instructions,保留这些已生效的默认文字。五款游戏都保留策略输入框。正式 2048 请求不再携带完整候选棋盘、各方向 Noul 或独立 Score,也不搜索未来棋盘。

历史版本的真实对局与旧版对照、失败和接口中断保存在 verification.md 和原 JSON 记录中。本次单次 Choice 的本地检查验证调用、执行和恢复逻辑;历史对局结果不作为当前版本的通关结果。

调用与结束控制

点击开始前需确认游戏状态提交与费用提示。自动对局会连续调用并可能计费;默认每局最多 40 次,可选 20 / 40 / 80 / 120 次。2048 另有 1500 / 3000 次选项:初始两格最大总和为 8,每步最多新增 4,要凑出 2048 至少需 510 步;当前每步正常请求一次,至少需要 510 次请求才有可能达到目标,完整对局可选 1500 或 3000 次。默认 40 次最多执行 40 步,重试还会消耗额外次数。一次网络请求可能包含多个问题,例如贪吃蛇在一次请求中同时包含 Choice 和各方向的 Noul;请求计数不是问题计数。

五款游戏共用请求恢复控制。HTTP 408、429、5xx、网络断开和请求超时等临时故障,最多自动重试 3 次,等待间隔为 1、2、4 秒。首次失败后先冻结当前局面,每次重试按最新状态重建候选;连接恢复且响应合法时自动继续。每次尝试都计入单局请求上限与调用记录。

重试后仍失败会暂停当前对局,保留棋盘、得分、随机种子、请求数和历史,开始按钮变为“继续游戏”。暂停期间不移动、不请求;点击继续后从同一局重新观察并请求 Jev。密钥认证、请求校验或非法模型返回等错误直接暂停,需先修复再继续。重试时预算已用完也保留对局,可提高上限后继续。

2048 方向请求出错时保留原棋盘,按相同的单次 Choice 流程重试。达到正常请求预算时结束本局;重试时预算不足则暂停保留局面,可增加预算后继续。选择记录显示本次原始请求与响应,每次发送均计入请求和 Token 统计。

普通点击、切换窗口或屏幕、切换介绍章节、进入 API 编辑器、打开或关闭设置及玩法说明,都保留当前对局和正在等待的请求。页面在后台也会继续调度下一步,自动重试不中断;返回前台后沿用同一棋盘、种子、计数和记录。故障已经造成的暂停仍需点击“继续游戏”,不会因返回前台自行启动。

正常运行时不设手动暂停和单步按钮。自然胜负、正常对局达到请求预算、点击“结束本局”、切换游戏、重新开局、撤回调用确认、清除密钥或关闭页面仍会停止当前运行;重连期间切换游戏会保留为暂停状态。暂停的对局可继续,已结束的对局重新开始会新建棋盘。

过时响应不执行。Snake 等待期间仅沿原方向前进,食物、长度未变且当前仍可执行时,会采用模型返回的方向;等待中吃到食物、方向变化或转向已不合法时立即重新观察。弹幕局面变化超过 1.5 秒游戏时间的旧状态和不再合法的动作仍会被丢弃。网络延迟过高时仍可能来不及避险,可降低环境速度。

取消本地等待不保证上游取消,仍可能计费。Token 面板只统计实际收到的用量,最终以服务端记录为准。

API 编辑器与其他演示

原介绍内容、API 编辑器、八组示例、调用代码和商户查询演示均保留。游戏右侧可展开查看原始请求、响应与候选判断,也可转入原 API 编辑器继续编辑。转入编辑器保留当前对局;在编辑器重新发送只更新结果,不操作游戏。

商户查询演示新增“自动演示一次”:先重置到本地示例首页,再逐步请求真实 Jev 判断并执行页面动作;只有收到 DONE 且代码确认已打开目标商户详情页时才完成。点击运行中的按钮可停止后续步骤。每一步都是一次独立 API 请求,最多 8 次;BLOCKED、无效响应或请求失败会立即结束自动演示。原有“请求下一步决策”和“执行已选动作”仍可手动使用。

五个游戏共用 API 设置,配置一次即可。调整游戏策略从后续判断生效,不影响已经发出的请求。导出包含当前状态、统计及最近 60 条记录,不含密钥。

文件

  • index.html:完整单文件网页,覆盖旧文件即可升级。
  • server.py、start.command、start.bat:原本地服务与启动方式。
  • game_sources/:游戏规则、连续运行控制、布局、弹窗文案。
  • animation_sources/:3D 动画源码。
  • continuous.css:本版本速度滑条、五游戏布局与弹窗的增量样式。
  • examples/games/:五个游戏的请求体示例;仅用于说明接口,不会自行玩游戏。
  • examples/:原 cURL、Python、Node.js、SDK 调用示例。
  • tests/:本地规则、连续运行、交互和转发测试。夹具只用于测试,不嵌入正式网页。
  • verification.md:本次验证范围与限制。

game_sources/ 和 animation_sources/ 中的代码是网页内嵌模块的可读副本。修改这些独立副本不会自动改写网页,需要同步相应内嵌模块。

开发用的 Ego 贪吃蛇回归脚本需在名为“贪吃蛇优化离线验证”的既有测试空间中运行。先在 p1 打开当前项目的 index.html,通过 globalThis.JEV_SNAKE_TEST_SPACE 指定该空间 ID;脚本会从页面地址确定项目目录,不依赖固定的本机路径。

安全与验证

服务默认监听 0.0.0.0,支持通过本机 IP、Tailscale IP 或域名访问。访问固定官方端点,校验页面令牌与同源请求,不记录密钥和请求正文,不提供任意 URL 转发。此工具面向本地与受控网络演示,不适合直接公开部署。

页面交互与转发回归使用明确的离线 HTTP 夹具和本地转发桩函数。2048 提示词对照另使用真实 Jev 调用,结果与离线回归分开记录;离线检查不代表 Jev 的真实游戏水平、延迟、准确率或胜率。网页中的正式请求仍会访问真实 API。

研究内容保留页面所标注的 2026-09-28 资料快照;能力边界章节另按 2026-10-10 核对的官方 Jev 1.13 说明更新。交互与游戏实现继续保留。Choice、Score、Noul 请求字段按官方文档核对。

About

Jev 技术介绍与交互演示:单文件网页、3D 决策演示和五款 Jev API 小游戏。

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages