Skip to content

v1.0.3

Choose a tag to compare

@ueboxai ueboxai released this 23 Sep 19:48
· 317 commits to main since this release

Voice commands, video / audio / document attachments, and object storage for media. Also an experimental autoplay tool for PIE, and a batch of editor-crash and data-loss fixes. Requires plugin 1.2.9.

Added

  • Voice commands. A hotkey opens Spotlight in transcribe-only mode: speech fills the input box and submits after a countdown, or hold the key to talk and release to send. Off by default (Alt+Q); enable it under Preferences → Shortcuts. Speech recognition is now its own model role, with Doubao STT 2.0 and Qwen-Audio ASR.
  • Read-aloud styles: concise / detailed / full. The first two condense the reply into a spoken script with the lightweight task model first; full reads the text verbatim and is the default. Timeouts, a missing model or an empty script fall back to the full text. Mini-chat replies are read aloud once settled, and the echo gate is configurable (headphones / speakers / speakers very close).
  • Chat attachments accept video, audio and documents. Audio and video are not pre-analysed: the path goes to the agent with the message, and it looks with a question in mind. Documents reuse the knowledge-base parser. New tool read_document; read_local_file refuses binaries by extension instead of decoding 50 KB of garbage. Interjections can carry attachments too, even with no text.
  • Object storage (Settings → Object Storage). Images and media from chat are uploaded to your own S3-compatible bucket and passed to the model as links, instead of resending base64 on every turn. No bucket, a model that can't take links, or a failed upload all fall back silently to the old behaviour.
  • Video generation takes reference video and audio (Volcengine Ark Seedance 2.x). Local video goes through object storage; without it, the request is stopped before any charge.
  • Provider catalog: a subscription group — Xiaomi MiMo Token Plan, Alibaba Bailian Token / Coding Plan, Zhipu GLM Coding Plan, Volcengine Ark Coding Plan, Tencent Cloud Coding / Token Plan, MiniMax Token Plan, StepFun Step Plan. Plan keys don't work on the pay-as-you-go accounts, so each is listed separately. Also pay-as-you-go Xiaomi MiMo, GPT-6 Sol / Luna and Claude Opus 5.5.
  • New tool connect_mcp_server. "I installed an MCP server, connect to it" now works: the handshake succeeds before anything is written to disk, an existing server with the same name is never overwritten, and every call needs approval.
  • Experimental: ue_autoplay. A bot walks, jumps, fires inputs and clicks menus inside PIE, reaching logic that ue_playtest can't. Three modes: explore (stuck spots, falling out of the world, inputs that error), scripted steps, and a one-sentence goal driven step by step by the judge model. until_log is the only assertion. Flat ground and navmesh-reachable targets are fairly reliable; routes that need repeated jumps, stairs or gaps often fail. Movement bypasses key mappings and the game's own movement Blueprint, so "reachable" does not mean "reachable by a player".
  • ue_content_delete accepts folders in paths and submits them as one batch with a single GC. sequence_describe gained detail="names" (up to 2000).

Changed

  • The external MCP server is writable by default. Configs that explicitly saved read-only stay read-only. Toggling permissions while it runs restarts it; switching to read-only ends existing writable sessions immediately.
  • Main-process requests follow the system proxy (PAC and bypass lists included). Previously, with Clash in system-proxy mode, only the main process went direct, and OpenAI sign-in from mainland China was refused by region: the browser login succeeded, the token exchange in the app failed.
  • Asset search ranks results across vaults by relevance. Previously the current vault always came first — searching horse from the AIGC vault hid 3562 real matches in another vault.
  • ue_fixup_redirectors now refuses only when the report dialog can't be shown, rather than whenever unattended. The dry run is approved as read-only; the real run asks every time.
  • The runtime envelope prints local time with timezone offset and weekday.
  • Material duplicate / create_instance no longer save on your behalf.
  • Server management is hidden for now: it is a client for a standalone server that isn't in this repository.
  • The provider dialog stays open after saving, so the connection can be tested right away.

Fixed

  • Two editor crashes: material.add_node with the Material Editor open (TextureSample, Constant3Vector…), and input.map in any project with a Pulse or Combo trigger. Deleting a material node without Modify() crashed after undo + GC.
  • A malformed mcp.json was overwritten as an empty config, taking your servers and keys with it; writes are now refused. Connection timeouts no longer leave orphaned npx processes.
  • A page closing its own browser window crashed the main process.
  • Pressing stop returned a bare Operation aborted, and the model retried a command the engine may already have applied — creating a second Actor.
  • Positional unreal.Rotator(...) in Python is blocked: the order is (roll, pitch, yaw), the reverse of JSON, and the engine reports nothing when it's wrong.
  • show_ui captures the window you used last, or one named with window.
  • The project's engine version is read from the .uproject on disk, so a Launcher upgrade no longer shows the old version or blocks matching imports.
  • Smart tags matched substrings (SM_Door_01 tagged Diffuse and Material); matching is now by prefix / suffix family. Existing wrong tags are not removed automatically.
  • Object storage: R2 endpoints pasted with the bucket name produced /bucket/bucket/; auto-cleanup counted from upload time and deleted files just reused in a new chat.
  • Paging a 520k-row vault without filters took 1.3–2.2 s; now under 1 ms. Batches imported within the same second no longer repeat or drop between pages.
  • Voice: dictation closed other people's calls, hold-to-talk restarted mid-way, short phrases were lost, a voice interjection was lost on restart, and replies starting with a newline were read twice.
  • Interjections at the end of a turn reported success and were dropped; switching chats during an upload sent them to the wrong chat.
  • latest.yml is uploaded last on release, so a failed installer upload can no longer publish an update with nothing to download.
  • The plugin failed to compile struct property writes on UE 5.8.

Download

Windows only — uebox-1.0.3-setup.exe. An existing install will find this update on its own.

Supports Unreal Engine 5.0 through 5.8. The UnrealAgentLink plugin (1.2.9) ships prebuilt and installs itself when you import a project.

The installer is not code-signed, so Windows SmartScreen will warn on first run.

New here? Read the 1.0.0 release notes — they describe what the app actually does.

License

Apache-2.0 for the application, MIT for the UnrealAgentLink plugin.

This project is not affiliated with or endorsed by Epic Games. Unreal and Unreal Engine are trademarks of Epic Games, Inc.


🐛 Issues · 🔒 Report security vulnerabilities privately per SECURITY.md


中文

语音下指令、视频 / 音频 / 文档附件、对象存储换链接,外加实验性的 PIE 自主试玩工具,以及一批编辑器崩溃和数据丢失的修复。需要插件 1.2.9。

新增

  • 语音下指令。 热键唤起 Spotlight 只转写不回答,说完填进输入框、倒计时自动提交;也可以按住热键说话、松手即发。默认关闭(Alt+Q),在偏好设置 → 快捷键里打开。语音识别成为独立角色,接入豆包 STT 2.0 与 Qwen-Audio ASR。
  • 播报风格三档:简洁 / 详细 / 完整。 前两档朗读前先由轻量任务模型压成口播稿;完整档原文照念,也是默认档。压缩超时、模型没配、回空稿都退回念原文。小窗回复落定后自动朗读;回声门限可配(耳机 / 外放 / 音箱很近)。
  • 聊天附件接受视频、音频与文档。 音视频不预先分析,路径随消息交给 agent,由它带着问题去看;文档复用知识库解析。新增 read_document;read_local_file 按扩展名把二进制挡在读取之前。插话也能带附件,只拖附件不打字也能插。
  • 对象存储(设置 → 对象存储)。聊天里的图片和音视频传进你自己的 S3 兼容桶,换成链接给模型,不再把 base64 每轮重发。没配、模型收不了链接或上传失败,都安静退回原来的做法。
  • 生视频支持参考视频和参考音频(方舟 Seedance 2.x)。本地视频经对象存储换成链接,没配时在扣费之前拦下。
  • 服务商目录加「订阅套餐」一组:小米 MiMo Token Plan、阿里云百炼 Token / Coding Plan、智谱 GLM Coding Plan、火山方舟 Coding Plan、腾讯云 Coding / Token Plan、MiniMax Token Plan、阶跃星辰 Step Plan。套餐 Key 与按量账户不通用,各自单列。另加按量的小米 MiMo,以及 GPT-6 Sol / Luna、Claude Opus 5.5。
  • 新工具 connect_mcp_server。「我装了个 MCP,你连一下」现在真的连得上:先握手连通再落盘,同名不覆盖,每次调用都要审批。
  • 实验性:ue_autoplay。 机器人在 PIE 里自己走、跳、按输入、点菜单,覆盖 ue_playtest 碰不到的逻辑。三种模式:探索(找卡住、掉出世界、按了就报错的输入)、写死步骤、一句话目标(由判定模型逐步决策)。until_log 是唯一的断言。平地和导航网格走得到的目标比较可靠,要连续跳台阶、爬楼、跨沟的路线经常到不了;移动绕开了键位映射和游戏自己的移动蓝图,走得到不等于玩家按键走得到。
  • ue_content_delete 的 paths 直接收目录,一批提交、只跑一遍 GC。sequence_describe 新增 detail="names",上限 2000。

变更

  • 对外 MCP 服务默认可写。 老配置里明确存了只读的保持只读;运行中切换权限自动重启,切到只读时旧的可写会话立即失效。
  • 主进程请求跟随系统代理(含 PAC 与绕过列表)。此前开着 Clash 的系统代理模式时只有主进程直连,国内直连 OpenAI 授权被按地区拒:浏览器里登录成功,回到盒子换令牌失败。
  • 素材库搜索跨库按相关度统一排序。此前当前库永远排最前,站在 AIGC 库里搜 horse,另一个库里 3562 个真命中一个都没露面。
  • ue_fixup_redirectors 只在报告框弹不出来时拒绝。预演按只读审批,真正执行每次都问。
  • 运行时信封改印本地时间,带时区偏移与星期几。
  • 材质的 duplicate / create_instance 不再替你存盘。
  • 服务器管理入口暂时隐藏:整页只是 standalone 服务端的客户端,而服务端不在本仓库。
  • 模型与服务商弹窗点保存不再关窗,可以接着测连接。

修复

  • 两处编辑器崩溃:材质编辑器开着时 material.add_node 建 TextureSample、Constant3Vector 这类节点;工程里有 Pulse 或 Combo 触发器时调 input.map。删材质节点少了 Modify(),撤销后 GC 会崩。
  • mcp.json 不是合法 JSON 时会被按空配置覆盖,server 和密钥一起没了;现在拒绝写入。连接超时不再留下孤儿 npx 进程。
  • 页面自己关掉浏览器窗口会带走主进程。
  • 按停止只回一句 Operation aborted,模型把可能已经生效的命令当失败重试,多出第二个 Actor。
  • Python 里按位置传 unreal.Rotator 直接拦下:顺序是 (roll, pitch, yaw),与 JSON 相反,错了引擎一个字不报。
  • show_ui 截图拍你最后用过的窗口,也可用 window 点名。
  • 工程的引擎版本以磁盘上的 .uproject 为准,在 Launcher 里升过版本后不再显示旧版本、拦下匹配的导入。
  • 智能标签被子串撞出错标(SM_Door_01 被打上 Diffuse、Material),改为按前缀族 / 后缀族匹配。已写进库里的旧标签不会自己消失。
  • 对象存储:R2 地址带桶名会拼成 /桶/桶/;自动清理按上传时间算,会清掉刚在新对话里复用的文件。
  • 52 万行的资产库,不带筛选翻一页要 1.3–2.2 秒,现在不到 1 毫秒;同一秒导入的一批分页时不再重复或漏。
  • 语音:听写会关掉别人的通话,按住说话会中途重启,短句会丢,语音插进来的那句重启就没了,正文以换行开口时整条念两遍。
  • 插话在一轮收尾时回「成功」却丢掉;等附件上传时切了对话会插到别的对话里。
  • 发版时 latest.yml 排到最后上传,安装包传失败不会再挂出一个没有可下载文件的更新。
  • 插件的结构体属性写入在 UE 5.8 上编不过。

下载

仅 Windows —— uebox-1.0.3-setup.exe。已安装的版本会自己检查到这个更新。

支持 虚幻引擎 5.0 至 5.8。UnrealAgentLink 插件(1.2.9)随包预编译,导入工程时自动安装。

安装包未做代码签名,首次运行会被 Windows SmartScreen 拦一下。

第一次接触?读 1.0.0 的发版说明,那里写了这个应用到底做什么。

许可

应用为 Apache-2.0,UnrealAgentLink 插件为 MIT。

本项目与 Epic Games 无隶属关系,也未获其背书。Unreal 与 Unreal Engine 是 Epic Games, Inc. 的商标。


🐛 问题反馈 · 🔒 安全漏洞请按 SECURITY.md 私下报告