Repository navigation
Releases: TDUmii/umi-bridge
Release list
UmiBridge Sakura Console v0.1.0-beta.17
UmiBridge Sakura Console v0.1.0-beta.17
Repair expired tunnel credentials during port setup
The daily UmiBridge.cmd now refreshes an expired Dev Tunnels sign-in when any tunnel API operation rejects authentication, including port updates, and retries the original operation. Recovery is limited to one refresh per setup run. The saved tunnel ID, public URL and UmiBridge credentials remain unchanged. A revoked GitHub session may still require approving sign-in; unavailable network access cannot be repaired locally.
Verified on Windows: reproduced Login token expired during port update, refreshed the saved login, and started the shared HTTPS gateway successfully. Added a regression for successful recovery and repeated rejection. Final launcher failures display a concise message while preserving the local diagnostic log.
UmiBridge beta.16 - Gemini Argon High verified
Đã xác minh đầy đủ Gemini web → Chat / 4 Argon / High → MCP SuperAssistant → UmiBridge → Windows.
- Đọc marker ngẫu nhiên không có trong prompt; kết quả khớp file thật và Gemini nhận lại đúng qua Run → Insert → Gửi.
- Tạo file thử V1, sửa thành V2; đọc độc lập trên ổ đĩa xác nhận từng trạng thái.
- Chạy PowerShell trả stdout và stderr riêng đúng marker, exit code 0, timed_out false. Các kết quả ghi/sửa/lệnh đều được trả về cuộc trò chuyện.
- Dashboard ghi đủ bốn thao tác nguồn Gemini, trạng thái ok; request thiếu hoặc sai Bearer bị từ chối 401.
Lượt High trước từng báo không thực hiện được yêu cầu. Sau nhiều giờ chờ, một lần Redo → Try again trên cùng yêu cầu vô hại đã phục hồi. Đây là xác minh tại thời điểm thử, không phải bảo đảm nhà cung cấp luôn hoạt động.
Phạm vi bản này: sửa hướng dẫn Gemini còn mô tả nhầm việc chuyển local-only và cập nhật thông tin xác minh. Gateway, giao diện và khóa kết nối giữ nguyên như beta.15. Hằng ngày vẫn mở duy nhất UmiBridge.cmd; không cần cấp lại kết nối vì bản cập nhật tài liệu này.
Giữ .local-data và .runtime khi cập nhật. ZIP chỉ chứa source; không có marker thử, thông tin tài khoản, credential, URL cấp quyền, log, ảnh chụp hay runtime riêng. Lịch sử beta.15 được giữ lại.
Commit: b3bdb19
Source ZIP SHA-256: 683e05dc32fab64a354c356ca69d0d5d5c66832ed5469dc890d7ae026e4a8bf0
UmiBridge beta.15 - One launcher, project groups and analytics
UmiBridge beta.15 gom lối chạy về UmiBridge.cmd, làm rõ nhóm dự án/chat và bổ sung phân tích.
- Xóa 9 CMD trùng, chuyển 8 helper PowerShell vào scripts/windows. Gộp hướng dẫn, giữ nguyên dữ liệu riêng khi cập nhật.
- Gắn một thư mục và chat để tự gom request, không nhập URL cho từng dòng. Không đoán khi hai chat trùng thư mục.
- Token tham chiếu o200k_base offline, byte đầy đủ, coverage và số bản ghi chưa đo; không coi là hóa đơn model.
- Biểu đồ 7/30 ngày, trung vị/P95, giao diện sáng/tối và mobile; Settings có bánh răng, Devices có hướng dẫn 3 bước.
- PowerShell ẩn dùng lại phiên; terminal monitor ở lại. Chi tiết request giữ nguyên khi refresh.
Kiểm chứng: 24/24 bài kiểm thử Windows tại máy và GitHub CI pass; MCP nhận hơn 500 request, OAuth giữ qua restart, hai Agent trả kết quả, quan sát SHOW events không thấy cửa sổ console mới. Live ChatGPT chạy lệnh exit 0; UI gắn nhóm tự nhận request thật. Bảy mục kiểm tra ở 390px không tràn ngang.
Gemini: Task Argon đã đọc marker ngẫu nhiên qua Run → Insert → Gửi và trả đúng nội dung. Chat Argon High trong lượt mới trả thông báo không thực hiện được yêu cầu; không tuyên bố High đã qua E2E. Tương thích model/extension vẫn có giới hạn; xem docs/GEMINI.md.
Cập nhật: giữ thư mục .local-data và .runtime, thay source rồi mở UmiBridge.cmd. Source ZIP không chứa token, mã kết nối, host riêng, runtime, log hay ảnh chụp tài khoản. Không sửa upstream DesktopCommanderMCP.
Commit: 0950d72
SHA-256 ZIP: c79cc3aab51b23fc3ce4b758292831d0fb12e1efa38637173adc1302d22e81fd
UmiBridge Sakura Console v0.1.0-beta.14
UmiBridge Sakura Console v0.1.0-beta.14
Startup now reports that the hidden gateway is connecting HTTPS and detects an exited gateway immediately instead of waiting through the full readiness timeout. If a saved Dev Tunnel fails to host after its API checks passed, the launcher repairs that same tunnel and retries once. It preserves the URL, OAuth grants and connection codes; it does not switch to a temporary URL. The repair opt-out remains supported. Repeated failures stop with a clear error without printing private log contents.
Previous beta.13
The local dashboard is easier to scan: larger secondary text, restrained Sakura accents, a compact operational overview and shortcuts to requests, token estimates and connection settings. Connection status and initial-code actions now lead Settings. Mobile uses a labeled section selector so all seven views remain discoverable. Refresh and error feedback work across views. English/Vietnamese labels and token table alignment are preserved.
Request details now remain mounted during automatic or manual data refresh. Output scroll, text selection and unsaved chat-link input are preserved. The request list resumes updating when details close; aggregate statistics continue refreshing while reading.
Previous beta.12
Analytics now shows estimated input/output tool tokens, cumulative totals by application, the largest recent tool payloads, and per-request estimates. UTF-8 payload bytes divided by four is an approximation, not provider model usage or billing. Old records stay explicitly unmeasured; estimates survive the rolling 500-record display limit and restart without storing extra payload content.
The daily launcher now sets up a reusable Dev Tunnel on first use and preserves its URL and credentials if repair fails, instead of silently switching to a changing Quick Tunnel. OAuth state is isolated by issuer, so a temporary/local run cannot overwrite the stable connection's grants. Settings shows saved connection status and provides a local-only button to copy the initial connection code. Existing Gemini pairing credentials are reused. Temporary tunnels remain an explicit advanced option (-TemporaryTunnel).
Command execution uses a persistent hidden PowerShell host prepared when the backend or Agent starts. Incoming commands run sequentially through the ready host instead of creating a new CMD/PowerShell window for each request. The existing launcher monitor remains open, and MCP/dashboard output keeps the same stdout, stderr, exit-code and timeout fields.
Global PowerShell variables and environment changes can persist between ordinary calls. An explicit cwd selects the command's directory. Timeout, exit, or shell failure resets the worker before a later command; no timed-out command is replayed automatically.
Start-Process and its aliases now default to -WindowStyle Hidden inside the command session, including after a reset. Explicit -NoNewWindow and -WindowStyle choices remain supported. To intentionally show an application, specify -WindowStyle Normal. A Windows event-hook regression observes both console and Windows Terminal SHOW events, covering child process windows as well as the parent worker. The launcher reuses an existing stable tunnel/port instead of updating it on every startup and unnecessarily falling back to a temporary URL.
Native executables also receive default PATHEXT and ComSpec values when the MCP client's filtered environment omits them, preventing silent empty results. Windows checks cover PID reuse, hidden window state, Unicode paths, native stdout/stderr/exit codes, FIFO commands and timeout/exit recovery. Separate process-tree checks confirm timeout and abrupt parent shutdown leave no delayed test-file writes.
The Gemini browser verification from earlier releases remains historical evidence; this release description does not claim a new browser/model run.
Previous beta.11
The dashboard no longer makes the gateway appear to stop at 500 requests. Total received, successful and failed counters now include all recorded calls since history was last cleared and are restored from the local append-only journal on restart. The 500-record window applies only to recent analytics; request 501 and later continue to execute. Clearing history resets the journal, counters and manually linked chats.
Latency, hourly charts and tool rankings are explicitly labelled as recent-history statistics. Regression coverage crosses 500 real MCP calls and checks continued execution, journal totals, restart restoration and reset behavior. This change does not claim a new Gemini browser/model verification; the earlier browser evidence remains documented separately.
The volume regression allows 30 seconds for Windows PowerShell startup on shared CI runners and reports the tool result if it fails. Runtime command limits remain configured by each caller.
Previous beta.9
Beta.9 adds a small Hub/Agent layer for one account controlling multiple Windows computers while keeping the existing ChatGPT and Gemini gateway.
- The Hub keeps the tunnel, OAuth, local dashboard and bounded job history. Target computers run
Pair-Agent.cmdonce andUmiBridge-Agent.cmdafterward; each Agent connects outbound and never needs a public listening port. - The Devices dashboard creates one-time pairing codes, shows online/offline state and recent jobs, copies device IDs and revokes credentials. Agent keys are hashed on the Hub and written only to each target's ignored
.local-data/agent-config.json. - MCP adds
list_devices,get_device_status,get_job_statusand the remote file/PowerShell tools. Every remote result includes the targetdevice_id, hostname, job status and bounded stdout/stderr or file result. - The Gemini browser setup now discovers 23 tools after reconnecting (11 local tools plus 12 device-routing tools); the existing Conversation / 4 Argon / High workflow remains supported.
- Regression coverage now includes two real Agent workers routed through the HTTP gateway, distinct command markers, file write/read checks against both target roots, dashboard job history and invalid credential rejection. The full local suite has fourteen existing checks plus the multi-device gateway check.
- Existing one-click
UmiBridge.cmd, ChatGPT beta.4 Latest compatibility, Gemini OAuth/private pairing and the experimental browser extension remain unchanged. No credentials, URLs, browser data or local runtime state are included in the repository.
Previous beta.8
The single-entry launcher UmiBridge.cmd now performs the daily lifecycle: safe fast-forward update for clean Git worktrees, runtime/build repair, saved Dev Tunnel health checks, expired-token renewal through GitHub sign-in, Quick Tunnel fallback when the Dev Tunnel login is unavailable, hidden gateway startup and local dashboard launch. ChatGPT and Gemini continue to share the same gateway without a provider switch.
The launcher terminal now remains open after startup and watches the protected request history, printing only a timestamp, tool name and status for each received request. The dashboard is a focused local workspace with separate Overview, Analytics, Linked chats, Skill Center, Request history and Settings views. Appearance, language, auto-refresh and refresh interval preferences are stored in browser local storage; gateway credentials and request data are untouched.
Gemini web can use the existing UmiBridge file and hidden PowerShell tools through the official MCP SuperAssistant browser extension. The recorded Task / Flash test read, created and edited local files, ran PowerShell, returned stdout/stderr/exit code to Gemini, and read fresh data after a gateway restart. No Gemini API key or additional npm proxy was used.
- Run
Setup-Gemini-Browser.cmdto prepare the bridge, verify its authenticated local MCP connection, copy its private URL and open the official extension listing and Gemini. Install MCP SuperAssistant once, select Server settings → Streamable HTTP, paste the clipboard URL there only, then Save & Reconnect. Wait for Server Connected and eleven tools. - CORS is limited to the exact credential-bearing paired route and the Gemini origin or official Chrome extension ID. Other origins, admin headers and unsupported preflight methods are rejected. The dashboard and regular OAuth route receive no new cross-origin access.
- The paired endpoint now uses streaming SSE responses and supports an authenticated GET stream with SDK keep-alives. The regular OAuth endpoint retains JSON responses. Regression checks verify SSE media types, GET authorization and a real tool call from an existing SDK client after a same-address server restart.
- Regression coverage includes the official extension Origin, unauthorized origins, valid setup diagnostics and stale-credential refusal, alongside actual MCP file and command calls. Existing OAuth, refresh, restart, request history, skills and tunnel checks remain covered.
- Stable tunnel repair now probes the project API instead of trusting the cached
user showstatus. When Microsoft reports an expired login token, the launcher renews the GitHub session, rewrites the small tunnel config with a Windows-compatible move and restarts the gateway on the same host. This keeps existing ChatGPT OAuth connections valid after token expiry. - Choose Task → Flash and use
GEMINI-EXTENSION-PROMPT.md. Review each card, select Run, then Insert, wait for the result to appear and press Gemini's send button. SeeGEMINI-BROWSER.vi.mdfor Vietnamese setup andGEMINI-EXTENSION-VERIFICATION.mdfor evidence and limits. - Browser setup runs in explicit local-only mode without a public tunnel, preserving the saved OAuth issuer/grants. It switches the running bridge to local mode; launch
UmiBridge.cmdto switch back to public access for ChatGPT. Local mode continues to work when a tunnel login expires.
Verification...
UmiBridge Sakura Console v0.1.0-beta.13
UmiBridge Sakura Console v0.1.0-beta.13
The local dashboard is easier to scan: larger secondary text, restrained Sakura accents, a compact operational overview and shortcuts to requests, token estimates and connection settings. Connection status and initial-code actions now lead Settings. Mobile uses a labeled section selector so all seven views remain discoverable. Refresh and error feedback work across views. English/Vietnamese labels and token table alignment are preserved.
Request details now remain mounted during automatic or manual data refresh. Output scroll, text selection and unsaved chat-link input are preserved. The request list resumes updating when details close; aggregate statistics continue refreshing while reading.
Previous beta.12
Analytics now shows estimated input/output tool tokens, cumulative totals by application, the largest recent tool payloads, and per-request estimates. UTF-8 payload bytes divided by four is an approximation, not provider model usage or billing. Old records stay explicitly unmeasured; estimates survive the rolling 500-record display limit and restart without storing extra payload content.
The daily launcher now sets up a reusable Dev Tunnel on first use and preserves its URL and credentials if repair fails, instead of silently switching to a changing Quick Tunnel. OAuth state is isolated by issuer, so a temporary/local run cannot overwrite the stable connection's grants. Settings shows saved connection status and provides a local-only button to copy the initial connection code. Existing Gemini pairing credentials are reused. Temporary tunnels remain an explicit advanced option (-TemporaryTunnel).
Command execution uses a persistent hidden PowerShell host prepared when the backend or Agent starts. Incoming commands run sequentially through the ready host instead of creating a new CMD/PowerShell window for each request. The existing launcher monitor remains open, and MCP/dashboard output keeps the same stdout, stderr, exit-code and timeout fields.
Global PowerShell variables and environment changes can persist between ordinary calls. An explicit cwd selects the command's directory. Timeout, exit, or shell failure resets the worker before a later command; no timed-out command is replayed automatically.
Start-Process and its aliases now default to -WindowStyle Hidden inside the command session, including after a reset. Explicit -NoNewWindow and -WindowStyle choices remain supported. To intentionally show an application, specify -WindowStyle Normal. A Windows event-hook regression observes both console and Windows Terminal SHOW events, covering child process windows as well as the parent worker. The launcher reuses an existing stable tunnel/port instead of updating it on every startup and unnecessarily falling back to a temporary URL.
Native executables also receive default PATHEXT and ComSpec values when the MCP client's filtered environment omits them, preventing silent empty results. Windows checks cover PID reuse, hidden window state, Unicode paths, native stdout/stderr/exit codes, FIFO commands and timeout/exit recovery. Separate process-tree checks confirm timeout and abrupt parent shutdown leave no delayed test-file writes.
The Gemini browser verification from earlier releases remains historical evidence; this release description does not claim a new browser/model run.
Previous beta.11
The dashboard no longer makes the gateway appear to stop at 500 requests. Total received, successful and failed counters now include all recorded calls since history was last cleared and are restored from the local append-only journal on restart. The 500-record window applies only to recent analytics; request 501 and later continue to execute. Clearing history resets the journal, counters and manually linked chats.
Latency, hourly charts and tool rankings are explicitly labelled as recent-history statistics. Regression coverage crosses 500 real MCP calls and checks continued execution, journal totals, restart restoration and reset behavior. This change does not claim a new Gemini browser/model verification; the earlier browser evidence remains documented separately.
The volume regression allows 30 seconds for Windows PowerShell startup on shared CI runners and reports the tool result if it fails. Runtime command limits remain configured by each caller.
Previous beta.9
Beta.9 adds a small Hub/Agent layer for one account controlling multiple Windows computers while keeping the existing ChatGPT and Gemini gateway.
- The Hub keeps the tunnel, OAuth, local dashboard and bounded job history. Target computers run
Pair-Agent.cmdonce andUmiBridge-Agent.cmdafterward; each Agent connects outbound and never needs a public listening port. - The Devices dashboard creates one-time pairing codes, shows online/offline state and recent jobs, copies device IDs and revokes credentials. Agent keys are hashed on the Hub and written only to each target's ignored
.local-data/agent-config.json. - MCP adds
list_devices,get_device_status,get_job_statusand the remote file/PowerShell tools. Every remote result includes the targetdevice_id, hostname, job status and bounded stdout/stderr or file result. - The Gemini browser setup now discovers 23 tools after reconnecting (11 local tools plus 12 device-routing tools); the existing Conversation / 4 Argon / High workflow remains supported.
- Regression coverage now includes two real Agent workers routed through the HTTP gateway, distinct command markers, file write/read checks against both target roots, dashboard job history and invalid credential rejection. The full local suite has fourteen existing checks plus the multi-device gateway check.
- Existing one-click
UmiBridge.cmd, ChatGPT beta.4 Latest compatibility, Gemini OAuth/private pairing and the experimental browser extension remain unchanged. No credentials, URLs, browser data or local runtime state are included in the repository.
Previous beta.8
The single-entry launcher UmiBridge.cmd now performs the daily lifecycle: safe fast-forward update for clean Git worktrees, runtime/build repair, saved Dev Tunnel health checks, expired-token renewal through GitHub sign-in, Quick Tunnel fallback when the Dev Tunnel login is unavailable, hidden gateway startup and local dashboard launch. ChatGPT and Gemini continue to share the same gateway without a provider switch.
The launcher terminal now remains open after startup and watches the protected request history, printing only a timestamp, tool name and status for each received request. The dashboard is a focused local workspace with separate Overview, Analytics, Linked chats, Skill Center, Request history and Settings views. Appearance, language, auto-refresh and refresh interval preferences are stored in browser local storage; gateway credentials and request data are untouched.
Gemini web can use the existing UmiBridge file and hidden PowerShell tools through the official MCP SuperAssistant browser extension. The recorded Task / Flash test read, created and edited local files, ran PowerShell, returned stdout/stderr/exit code to Gemini, and read fresh data after a gateway restart. No Gemini API key or additional npm proxy was used.
- Run
Setup-Gemini-Browser.cmdto prepare the bridge, verify its authenticated local MCP connection, copy its private URL and open the official extension listing and Gemini. Install MCP SuperAssistant once, select Server settings → Streamable HTTP, paste the clipboard URL there only, then Save & Reconnect. Wait for Server Connected and eleven tools. - CORS is limited to the exact credential-bearing paired route and the Gemini origin or official Chrome extension ID. Other origins, admin headers and unsupported preflight methods are rejected. The dashboard and regular OAuth route receive no new cross-origin access.
- The paired endpoint now uses streaming SSE responses and supports an authenticated GET stream with SDK keep-alives. The regular OAuth endpoint retains JSON responses. Regression checks verify SSE media types, GET authorization and a real tool call from an existing SDK client after a same-address server restart.
- Regression coverage includes the official extension Origin, unauthorized origins, valid setup diagnostics and stale-credential refusal, alongside actual MCP file and command calls. Existing OAuth, refresh, restart, request history, skills and tunnel checks remain covered.
- Stable tunnel repair now probes the project API instead of trusting the cached
user showstatus. When Microsoft reports an expired login token, the launcher renews the GitHub session, rewrites the small tunnel config with a Windows-compatible move and restarts the gateway on the same host. This keeps existing ChatGPT OAuth connections valid after token expiry. - Choose Task → Flash and use
GEMINI-EXTENSION-PROMPT.md. Review each card, select Run, then Insert, wait for the result to appear and press Gemini's send button. SeeGEMINI-BROWSER.vi.mdfor Vietnamese setup andGEMINI-EXTENSION-VERIFICATION.mdfor evidence and limits. - Browser setup runs in explicit local-only mode without a public tunnel, preserving the saved OAuth issuer/grants. It switches the running bridge to local mode; launch
UmiBridge.cmdto switch back to public access for ChatGPT. Local mode continues to work when a tunnel login expires.
Verification status
The extension test used Gemini-generated calls and actual Run actions. File contents and gateway history independently confirmed the operations. Gemini received the real stdout, stderr and exit code 0. After restarting the local gateway, the existing extension chat read a newly changed marker successfully.
All thirteen automated regression checks pass, including isolated local-only startup without a tunnel and the dashboard/launcher assertions. They complement the live browser test. Chat mode returne...
UmiBridge Sakura Console v0.1.0-beta.12
UmiBridge Sakura Console v0.1.0-beta.12
Analytics now shows estimated input/output tool tokens, cumulative totals by application, the largest recent tool payloads, and per-request estimates. UTF-8 payload bytes divided by four is an approximation, not provider model usage or billing. Old records stay explicitly unmeasured; estimates survive the rolling 500-record display limit and restart without storing extra payload content.
The daily launcher now sets up a reusable Dev Tunnel on first use and preserves its URL and credentials if repair fails, instead of silently switching to a changing Quick Tunnel. OAuth state is isolated by issuer, so a temporary/local run cannot overwrite the stable connection's grants. Settings shows saved connection status and provides a local-only button to copy the initial connection code. Existing Gemini pairing credentials are reused. Temporary tunnels remain an explicit advanced option (-TemporaryTunnel).
Command execution uses a persistent hidden PowerShell host prepared when the backend or Agent starts. Incoming commands run sequentially through the ready host instead of creating a new CMD/PowerShell window for each request. The existing launcher monitor remains open, and MCP/dashboard output keeps the same stdout, stderr, exit-code and timeout fields.
Global PowerShell variables and environment changes can persist between ordinary calls. An explicit cwd selects the command's directory. Timeout, exit, or shell failure resets the worker before a later command; no timed-out command is replayed automatically.
Start-Process and its aliases now default to -WindowStyle Hidden inside the command session, including after a reset. Explicit -NoNewWindow and -WindowStyle choices remain supported. To intentionally show an application, specify -WindowStyle Normal. A Windows event-hook regression observes both console and Windows Terminal SHOW events, covering child process windows as well as the parent worker. The launcher reuses an existing stable tunnel/port instead of updating it on every startup and unnecessarily falling back to a temporary URL.
Native executables also receive default PATHEXT and ComSpec values when the MCP client's filtered environment omits them, preventing silent empty results. Windows checks cover PID reuse, hidden window state, Unicode paths, native stdout/stderr/exit codes, FIFO commands and timeout/exit recovery. Separate process-tree checks confirm timeout and abrupt parent shutdown leave no delayed test-file writes.
The Gemini browser verification from earlier releases remains historical evidence; this release description does not claim a new browser/model run.
Previous beta.11
The dashboard no longer makes the gateway appear to stop at 500 requests. Total received, successful and failed counters now include all recorded calls since history was last cleared and are restored from the local append-only journal on restart. The 500-record window applies only to recent analytics; request 501 and later continue to execute. Clearing history resets the journal, counters and manually linked chats.
Latency, hourly charts and tool rankings are explicitly labelled as recent-history statistics. Regression coverage crosses 500 real MCP calls and checks continued execution, journal totals, restart restoration and reset behavior. This change does not claim a new Gemini browser/model verification; the earlier browser evidence remains documented separately.
The volume regression allows 30 seconds for Windows PowerShell startup on shared CI runners and reports the tool result if it fails. Runtime command limits remain configured by each caller.
Previous beta.9
Beta.9 adds a small Hub/Agent layer for one account controlling multiple Windows computers while keeping the existing ChatGPT and Gemini gateway.
- The Hub keeps the tunnel, OAuth, local dashboard and bounded job history. Target computers run
Pair-Agent.cmdonce andUmiBridge-Agent.cmdafterward; each Agent connects outbound and never needs a public listening port. - The Devices dashboard creates one-time pairing codes, shows online/offline state and recent jobs, copies device IDs and revokes credentials. Agent keys are hashed on the Hub and written only to each target's ignored
.local-data/agent-config.json. - MCP adds
list_devices,get_device_status,get_job_statusand the remote file/PowerShell tools. Every remote result includes the targetdevice_id, hostname, job status and bounded stdout/stderr or file result. - The Gemini browser setup now discovers 23 tools after reconnecting (11 local tools plus 12 device-routing tools); the existing Conversation / 4 Argon / High workflow remains supported.
- Regression coverage now includes two real Agent workers routed through the HTTP gateway, distinct command markers, file write/read checks against both target roots, dashboard job history and invalid credential rejection. The full local suite has fourteen existing checks plus the multi-device gateway check.
- Existing one-click
UmiBridge.cmd, ChatGPT beta.4 Latest compatibility, Gemini OAuth/private pairing and the experimental browser extension remain unchanged. No credentials, URLs, browser data or local runtime state are included in the repository.
Previous beta.8
The single-entry launcher UmiBridge.cmd now performs the daily lifecycle: safe fast-forward update for clean Git worktrees, runtime/build repair, saved Dev Tunnel health checks, expired-token renewal through GitHub sign-in, Quick Tunnel fallback when the Dev Tunnel login is unavailable, hidden gateway startup and local dashboard launch. ChatGPT and Gemini continue to share the same gateway without a provider switch.
The launcher terminal now remains open after startup and watches the protected request history, printing only a timestamp, tool name and status for each received request. The dashboard is a focused local workspace with separate Overview, Analytics, Linked chats, Skill Center, Request history and Settings views. Appearance, language, auto-refresh and refresh interval preferences are stored in browser local storage; gateway credentials and request data are untouched.
Gemini web can use the existing UmiBridge file and hidden PowerShell tools through the official MCP SuperAssistant browser extension. The recorded Task / Flash test read, created and edited local files, ran PowerShell, returned stdout/stderr/exit code to Gemini, and read fresh data after a gateway restart. No Gemini API key or additional npm proxy was used.
- Run
Setup-Gemini-Browser.cmdto prepare the bridge, verify its authenticated local MCP connection, copy its private URL and open the official extension listing and Gemini. Install MCP SuperAssistant once, select Server settings → Streamable HTTP, paste the clipboard URL there only, then Save & Reconnect. Wait for Server Connected and eleven tools. - CORS is limited to the exact credential-bearing paired route and the Gemini origin or official Chrome extension ID. Other origins, admin headers and unsupported preflight methods are rejected. The dashboard and regular OAuth route receive no new cross-origin access.
- The paired endpoint now uses streaming SSE responses and supports an authenticated GET stream with SDK keep-alives. The regular OAuth endpoint retains JSON responses. Regression checks verify SSE media types, GET authorization and a real tool call from an existing SDK client after a same-address server restart.
- Regression coverage includes the official extension Origin, unauthorized origins, valid setup diagnostics and stale-credential refusal, alongside actual MCP file and command calls. Existing OAuth, refresh, restart, request history, skills and tunnel checks remain covered.
- Stable tunnel repair now probes the project API instead of trusting the cached
user showstatus. When Microsoft reports an expired login token, the launcher renews the GitHub session, rewrites the small tunnel config with a Windows-compatible move and restarts the gateway on the same host. This keeps existing ChatGPT OAuth connections valid after token expiry. - Choose Task → Flash and use
GEMINI-EXTENSION-PROMPT.md. Review each card, select Run, then Insert, wait for the result to appear and press Gemini's send button. SeeGEMINI-BROWSER.vi.mdfor Vietnamese setup andGEMINI-EXTENSION-VERIFICATION.mdfor evidence and limits. - Browser setup runs in explicit local-only mode without a public tunnel, preserving the saved OAuth issuer/grants. It switches the running bridge to local mode; launch
UmiBridge.cmdto switch back to public access for ChatGPT. Local mode continues to work when a tunnel login expires.
Verification status
The extension test used Gemini-generated calls and actual Run actions. File contents and gateway history independently confirmed the operations. Gemini received the real stdout, stderr and exit code 0. After restarting the local gateway, the existing extension chat read a newly changed marker successfully.
All thirteen automated regression checks pass, including isolated local-only startup without a tunnel and the dashboard/launcher assertions. They complement the live browser test. Chat mode returned a provider response error or stalled in the tested attempts; Task/Flash completed the recorded operations. These samples do not guarantee every account/model or continuous availability.
Native custom-app execution remains intermittent and is documented separately in GEMINI-VERIFICATION.md; this release does not claim to fix that transport. The successful flow here uses the extension instead.
The project does not bundle or modify MCP SuperAssistant. Its upstream code includes analytics and remote configuration; review extension permissions before installing. Automatic execution, insertion and submission remain off in the verified manual setup.
Privacy and update
Extract the source ZIP and use `UmiBridge.c...
UmiBridge Sakura Console v0.1.0-beta.11
UmiBridge Sakura Console v0.1.0-beta.11
The dashboard no longer makes the gateway appear to stop at 500 requests. Total received, successful and failed counters now include all recorded calls since history was last cleared and are restored from the local append-only journal on restart. The 500-record window applies only to recent analytics; request 501 and later continue to execute. Clearing history resets the journal, counters and manually linked chats.
Latency, hourly charts and tool rankings are explicitly labelled as recent-history statistics. Regression coverage crosses 500 real MCP calls and checks continued execution, journal totals, restart restoration and reset behavior. This change does not claim a new Gemini browser/model verification; the earlier browser evidence remains documented separately.
The volume regression allows 30 seconds for Windows PowerShell startup on shared CI runners and reports the tool result if it fails. Runtime command limits remain configured by each caller.
UmiBridge Sakura Console v0.1.0-beta.10
UmiBridge Sakura Console v0.1.0-beta.10
The dashboard no longer makes the gateway appear to stop at 500 requests. Total received, successful and failed counters now include all recorded calls since history was last cleared and are restored from the local append-only journal on restart. The 500-record window applies only to recent analytics; request 501 and later continue to execute. Clearing history resets the journal, counters and manually linked chats.
Latency, hourly charts and tool rankings are explicitly labelled as recent-history statistics. Regression coverage crosses 500 real MCP calls and checks continued execution, journal totals, restart restoration and reset behavior. This change does not claim a new Gemini browser/model verification; the earlier browser evidence remains documented separately.
This build is superseded by v0.1.0-beta.11, which also adjusts the volume test's PowerShell startup allowance for shared Windows CI runners. Use beta.11 for the current tested source package.
UmiBridge Sakura Console v0.1.0-beta.4
UmiBridge Sakura Console v0.1.0-beta.4
ChatGPT could stop connecting after a restart or after a 15-minute access-token expiry. The old Quick Tunnel address was still saved in ChatGPT, and a desktop-only OAuth request did not receive a refresh token.
- Added
Setup-Stable-Connection.cmd: one-time GitHub sign-in for Microsoft Dev Tunnels, signed project-local CLI, persistent tunnel identity and background startup. No purchased domain is required. - The launcher reads the actual public address from the tunnel host and checks it against the saved address on later launches. It preserves Host and Origin so the public tunnel cannot become a loopback admin request.
- Persisted issuer-bound OAuth registrations and token grants under protected
.local-data. Consent requests and one-time authorization codes remain memory-only. - Added rotating 30-day refresh tokens for clients that advertise the refresh grant, including ChatGPT requests using only
desktopscope. Revocation survives restart. - Kept the optional Cloudflare Quick Tunnel flow with an explicit temporary-address warning.
Install or update
Extract the source ZIP and run Install-UmiBridge.cmd. For a persistent address, run Setup-Stable-Connection.cmd, finish GitHub sign-in and authorize the resulting /mcp endpoint in ChatGPT once. Use Start-UmiBridge.cmd for daily background startup. Existing temporary-address ChatGPT apps must be replaced with a connection pointing to the fixed address.
The local .runtime and .local-data directories, credentials, account identity and request history are excluded from the source release. Dev Tunnels is a Microsoft public preview service; inactive resources may expire after 30 days.
Validation
Build and regression tests cover desktop-only refresh, real gateway restarts, rotation and revocation, issuer separation, malformed-state refusal, tunnel-output parsing and unsafe configuration. Live transport and ChatGPT checks are performed separately from these automated tests.
UmiBridge Sakura Console v0.1.0-beta.7
UmiBridge Sakura Console v0.1.0-beta.7
Gemini web can use the existing UmiBridge file and hidden PowerShell tools through the official MCP SuperAssistant browser extension. The recorded Task / Flash test read, created and edited local files, ran PowerShell, returned stdout/stderr/exit code to Gemini, and read fresh data after a gateway restart. No Gemini API key or additional npm proxy was used.
- Run
Setup-Gemini-Browser.cmdto prepare the bridge, verify its authenticated local MCP connection, copy its private URL and open the official extension listing and Gemini. Install MCP SuperAssistant once, select Server settings → Streamable HTTP, paste the clipboard URL there only, then Save & Reconnect. Wait for Server Connected and eleven tools. - CORS is limited to the exact credential-bearing paired route and the Gemini origin or official Chrome extension ID. Other origins, admin headers and unsupported preflight methods are rejected. The dashboard and regular OAuth route receive no new cross-origin access.
- The paired endpoint now uses streaming SSE responses and supports an authenticated GET stream with SDK keep-alives. The regular OAuth endpoint retains JSON responses. Regression checks verify SSE media types, GET authorization and a real tool call from an existing SDK client after a same-address server restart.
- Regression coverage includes the official extension Origin, unauthorized origins, valid setup diagnostics and stale-credential refusal, alongside actual MCP file and command calls. Existing OAuth, refresh, restart, request history, skills and tunnel checks remain covered.
- Choose Task → Flash and use
GEMINI-EXTENSION-PROMPT.md. Review each card, select Run, then Insert, wait for the result to appear and press Gemini's send button. SeeGEMINI-BROWSER.vi.mdfor Vietnamese setup andGEMINI-EXTENSION-VERIFICATION.mdfor evidence and limits. - Browser setup runs in explicit local-only mode without a public tunnel, preserving the saved OAuth issuer/grants. It switches the running bridge to local mode; launch
Start-UmiBridge.cmdto switch back to public access for ChatGPT. Local mode continues to work when a tunnel login expires.
Verification status
The extension test used Gemini-generated calls and actual Run actions. File contents and gateway history independently confirmed the operations. Gemini received the real stdout, stderr and exit code 0. After restarting the local gateway, the existing extension chat read a newly changed marker successfully.
All ten automated regression checks pass, including isolated local-only startup without a tunnel. They complement the live browser test. Chat mode returned a provider response error or stalled in the tested attempts; Task/Flash completed the recorded operations. These samples do not guarantee every account/model or continuous availability.
Native custom-app execution remains intermittent and is documented separately in GEMINI-VERIFICATION.md; this release does not claim to fix that transport. The successful flow here uses the extension instead.
The project does not bundle or modify MCP SuperAssistant. Its upstream code includes analytics and remote configuration; review extension permissions before installing. Automatic execution, insertion and submission remain off in the verified manual setup.
Privacy and update
Extract the source ZIP and use Install-UmiBridge.cmd for a new installation. Existing users can replace source files while preserving their ignored local runtime state. Credential URLs, account identity, OAuth tokens, browser data, local logs and research checkouts are excluded from tracked source and release archives. Older releases remain available.
This is an experimental prerelease. v0.1.0-beta.4 remains GitHub Latest for ChatGPT.