Repository navigation
Releases: DumoeDss/omnicross
Release list
Omnicross v0.6.6
Highlights
- AppImage 修复:Tauri 的 AppImage bundler 把
.DirIcon与顶层.desktop写成了指向构建机绝对路径的软链接(/home/runner/work/omnicross/...),在别的机器上全是断链 —— AppImage catalog 的appdir-lint.sh用-e判断,断链即判为「缺失」。上游已在 tauri-apps/tauri#15596(随 Tauri 2.11.4)改为相对链接。本次@tauri-apps/cli升至 2.12.1,两个链接均已是相对路径。 - Windows 安装包修复:
tauri-bundler2.12.0 把CheckIfAppIsRunning从FindProcess重写为 Restart Manager 实现,并把!include "Win\RestartManager.nsh"放进了它自己的installer.nsi。本仓库的nsis/installer.nsi是整份 fork,仍停留在 2.11.2 形态,导致 makensis 报Error in macro CheckIfAppIsRunning,Windows 腿构建失败。已按 fork 头部注释的流程重新同步到 2.12.1(重拷上游 + 重贴第 4 节),并把两处调用点改为传可执行文件的完整路径。 - Codex 模型目录:
model_catalog_url仅在开启真实模型名时才写入 Codex 配置;关闭时不再注入该行,避免 Codex 的 runtime 目录发现覆盖内置模型表。hasCodexRuntimeDiscovery改为只在 Omnicross 自己的受管配置块内检测。 - UI:临时启动的路由选择器不再列出第三条「route」分组(由实时绑定聚合派生,会把每个 gateway key 重复列出 2–3 次);只保留原生 wire provider 与可用的 gateway key,并按 id 去重。
🤖 Generated with Claude Code
Omnicross v0.6.4
Highlights
- DeepSeek 工具调用泄漏修复(DSML salvage):DeepSeek 系模型偶发把工具调用以内部 DSML 标记文本输出到正文(
finish_reason:"stop"、无tool_calls),导致 codex 回合直接结束、一个工具都不执行。现在在 reduced 链与 native 直通(Command Code 等 openai-response 上游)两条路径上都会把泄漏的标记解析回真正的工具调用。可用OMNICROSS_DEEPSEEK_DSML_SALVAGE=0关闭(上游修复后)、=all强制对所有上游生效。 - codex 命名空间工具调用修复:responses lite 把全部内置工具包进
functions命名空间后,custom 工具(含 exec)回解时名称未剥离前缀,导致 "unsupported custom tool call"、命令无法执行——已修复并补齐历史调用的扁平名约定。 - codex 0.159 适配:autoApprove 启动参数移除已废弃的
--full-auto。 - 上游映射:新建映射表默认启用 strict mapping。
- UI:总览账号池支持月度窗口与 key-quota provider 逐行展示;real-model-names 开关移至 Code CLI 页;key-quota 窗口并排渲染;模型测试弹窗 spinner 不再卡死。
- 构建:修复 package-lock 在 CI(npm 10 严格校验)下缺
@emnapi可选条目导致的npm ci失败。
🤖 Generated with Claude Code
Omnicross v0.6.1
Highlights
- 账号模型列表:模型服务-账号订阅的「支持的模型」改为模型列表式编辑(勾选行 + 添加 + 行内重映射);codex/claude 走内置预设(claude-opus-5-5、gpt-6-luna 刷新),OpenCodeGo 账号可在线拉取 zen
/v1/models模型列表。 - 聚合站模型管理:provider 模型列表新增全部/分组一键开关(单次写入批量翻转);OpenRouter 系行(含 openrouter-response 与自定义行)按厂商前缀自动分组。
- Jev / LogJev:
- OpenRouter 预设更名 Jev (OpenRouter);
- LogJev 改为选择器式配置——直接引用已配置的 provider 或 OpenCodeGo 账号池(zen chat 线路),不再重复配 key/URL;
- 新增 logprobs 探测按钮,一键确认所选上游/模型是否返回 top_logprobs;
- OpenRouter 上的 LogJev 行模型发现只保留 jev 系列模型。
- 新增 NVIDIA NIM 预设(integrate.api.nvidia.com,模型自动发现)。
- 分类「其他」的 provider 不再出现在聊天添加流程,也不携带模型映射面。
🤖 Generated with Claude Code
Omnicross 0.6.0 — LogJev decision runtime
Omnicross 0.6.0 adds a reusable Jev decision client in @omnicross/core/logjev. The daemon's /v1/systemone gateway and embedded applications now use the same implementation for native Jev and LogJev's LLM logprob bridge.
- Configure native Jev or an OpenAI-compatible logprob model explicitly. OpenRouter chat models continue using chat completions; native Jev uses the Decisions API.
- Supports full/minimal prompts, message history, images and audio where the selected model supports them, plus configurable nonsecret model options.
- Bounded concurrency, cancellation and evaluation deadlines cover queues and retries. Missing decision evidence fails explicitly. Responses preserve actual model identity, label coverage and HTTP-attempt accounting.
- Provider settings and new LogJev/native presets are available in the control panel. Existing
open-jevIDs, access keys, gateway requests and legacy image inputs remain supported. - Published ESM/CommonJS exports support the Node 20 baseline.
Validation: 46 related behavior tests, 20 release-contract tests, a complete workspace build, and daemon/UI typechecks passed in an isolated release checkout. Platform artifacts and updater signatures are verified by the release workflow.
Configuration and API examples: LogJev guide.
Omnicross v0.5.0
Signed draft generated by the release workflow. Review updater assets and latest.json before publishing.
Omnicross v0.4.8
Changes
- codex 订阅透传修复(PR #58):转发白名单补入
session-id/thread-id(codex CLI 实际的连字符拼写),并在 caller 未带时把 body 级prompt_cache_key镜像进 header——对齐 codex 上游 #44862 的缓存亲和语义,恢复经代理会话的 ChatGPT Responses 前缀缓存命中率。审计详情见docs/findings/2026-09-14-codex-session-id-header-affinity.md。
Signed draft generated by the release workflow. Updater assets and latest.json verified by the finalize job.
Omnicross v0.4.7
Signed draft generated by the release workflow. Review updater assets and latest.json before publishing.
Omnicross v0.4.6
Highlights
- The OpenAI Chat Completions bridge now serves the full built-in subscription catalog — every provider that could be routed over
/v1/chat/completionsnow can be. At 0.4.4 this bridge only reached Claude; 0.4.5 opened OpenCodeGo/Kimi/Grok; this release completes it with Codex, Gemini, Copilot, and Antigravity. (#54)- Codex: rides the Responses encoder, which owns the backend's body contract (
store:false, forcedstream:true, typed input parts). A NON-streaming chat client is served by collapsing the forced SSE stream back into a singlechat.completion— with content, tool calls, reasoning, and usage intact. - Gemini / Antigravity: the Code-Assist project handshake runs per account before each call (each provider's own dialect); Antigravity's transformer-owned per-request URLs are honored.
- Copilot: per-wire chains (Anthropic / Responses / Chat wires, per model family) and the account-discovered API endpoint (incl. GitHub Enterprise domains) now thread through the core routing path — GHE users previously hit the default
api.githubcopilot.com.
- Codex: rides the Responses encoder, which owns the backend's body contract (
- Two real bugs fixed on the way (#54):
- The chat bridge's subscription plan let the Responses transformer's host-root
config.urlsilently rewrite path-prefixed upstreams —chatgpt.com/backend-api/codex/responsesbecamechatgpt.com/v1/responses(which rejects ChatGPT OAuth). URL authority is now per-provider. - A non-streaming caller on
/v1/responseswith a Codex subscription hit the backend's raw{"detail":"Stream must be set to true"}400. The plan now forcesstream:trueupstream and the ingress collapses the SSE back into the terminalresponseJSON.
- The chat bridge's subscription plan let the Responses transformer's host-root
_serverSideToolsis stripped on the OpenAI-chat egress. (#55)
Verified
- Live end-to-end against real upstreams where accounts exist: opencode.ai (OpenCodeGo chat bridge) and chatgpt.com (Codex chat bridge — streaming and collapsed non-streaming, with usage metering).
- Copilot's three wires and Antigravity's project/URL contracts are covered by integration tests; no live accounts were available for those two — if you use them, a first real request is the final confirmation.
- core + subscriptions suites: 2745 tests green.
Installers
Windows x64-setup.exe / .msi · macOS universal .dmg / .app.tar.gz · Linux AppImage / .deb / .rpm — each with a .sig for the auto-updater; latest.json is the updater manifest.
🤖 Notes prepared with Claude Code
Omnicross v0.4.5
Highlights
- Codex through the gateway is fixed end to end. The ChatGPT Codex backend now requires
store: falseon every/codex/responsescall — the relay enforces it (idempotent for the CLI'sdisable_response_storage), and the packaged desktop app now bundles Node.js 22.23.2 so the Codex session manager'snode:sqliteindex actually loads. Two bundler/runtime regressions that made packaged installs report "SQLite support requires Node.js 22.16 or newer" are also fixed. (#48, #50) - Direct key→upstream bindings, all the way from first cut to transparent reverse proxy: bind a gateway access key straight to an upstream provider (API key or Claude/Kimi subscription), coexisting with normal downstream routes, with live
/v1/modelspassthrough. (#41, #45, #46, #47) - Codex session provider migration — inspect and rewrite a session's provider across the rollout JSONL and the
state_5.sqliteindex together, with rollouts matched by filename id. (ec4e221, 2f4120c)
Added
- Key-scoped Codex terminal launches routed by gateway access keys. (#38)
- Per-mapping thinking-level defaults on downstream routes. (#49)
- Route activity now records BYO provider API-key routing alongside account routing. (#11 of the activity ledger, #43)
Fixed
- Relay forces
store: falseon Codex subscription Responses calls — the upstream backend started rejecting calls without it ({"detail":"Store must be set to false"}), which had broken every Codex relay while local integration checks stayed green. (#50) - Desktop app bundles Node 22.23.2 (was 20.18.1) — the Codex session SQLite feature now works in packaged installs. (#48)
- Lazy
node:sqliteimport kept itsnode:prefix through bundling; the shipped CLI no longer fails with "Cannot find package 'sqlite'". (acd310c) - Dead-on-arrival routes, cross-endpoint
/v1/models, and i18n key paths. (#44) - Binding targets no longer silently flip; account-pool options removed from the binding editor. (#42)
- Providers added from built-in templates can be deleted again. (#40)
- Admin probe egress identifies itself with a product UA + opencode session. (#39)
Release tooling
Installers: Windows x64-setup.exe / .msi · macOS universal .dmg / .app.tar.gz · Linux AppImage / .deb / .rpm — each with a .sig for the auto-updater; latest.json is the updater manifest.
🤖 Notes prepared with Claude Code
Omnicross v0.4.4
Signed draft generated by the release workflow. Review updater assets and latest.json before publishing.