mrkeyoor.com_
Mon 28 Sept 06:38 UTC
AI Toolsevaluationupdated 28 Sept 2026

aipass-bridge review

aipass-bridge turns a logged-in AiPASS browser tab into a local OpenAI-compatible endpoint for chat, files, media generation, and a small coding agent. It is aimed mainly at Thai citizens who already receive model access through AiPASS and want to use that account from a terminal or program.

Verdict

Our aipass-bridge run installed 629 packages, passed all 148 tests, and reported 0 known vulnerabilities, but the useful runtime still depends on a logged-in browser and an unauthenticated local port. It is a clever personal adapter for an eligible AiPASS user who accepts that boundary. Do not treat it as a drop-in team gateway, and review open PR #45 before letting its agent touch sensitive projects.

We ran it

Lab card: what happened when we ran aipass-bridgeScreenshot of aipass-bridge (github.com/niawjunior/aipass-bridge)
Install✓ · 31s629 packages · 477 MB
Build✓ · 20s
Tests✓ · 18s148 passed · 0 failed of 148 (node:test)
Known vulns00 critical · 0 high · 0 moderate · 0 low (npm audit)
Repo75 files~7,692 lines of source · 5 MB · 1 CI workflows

Answers from our run

Does aipass-bridge build from source?

Dependencies installed in 31 seconds (629 packages), and the build succeeded in 20 seconds. We cloned commit 5e19e78 into a clean Debian container with 3 CPUs and no project-specific setup.

Do aipass-bridge's tests pass?

Yes: 148 of 148 passed when we ran the project's own test command (node:test). Some failures need services or credentials a bare container does not have.

Does aipass-bridge have known vulnerabilities in its dependencies?

npm audit found none in the dependency tree at the time of our run.

Who should not use aipass-bridge?

Cursor, Cline, Continue, or similar agent users: the README says system prompts and earlier messages are dropped, so those clients lose their tools and transcript.

What are the alternatives to aipass-bridge?

LiteLLM, Open WebUI, AiPASS web app. Our aipass-bridge run installed 629 packages, passed all 148 tests, and reported 0 known vulnerabilities, but the useful runtime still depends on a logged-in browser and an unauthenticated local port.

Setup3/5Checks pass; Chrome, extension, login, and bridge must stay connected
Docs5/5Setup, limits, security, headless use, and failures are explicit
Community2/5142 stars and one active PR in a repository created this month
Maturity2/5v0.2.0 is young and another security-hardening PR is open

Who it’s for

Thai AiPASS users who want terminal and SDK access without copying session credentials out of Chrome.
Developers adapting a simple OpenAI chat client to the models available in their AiPASS account.
Users who want a local file-editing agent designed around AiPASS's single-message limit.
Self-hosters prepared to keep a logged-in Chromium session and noVNC desktop private.

Who it’s NOT for

Cursor, Cline, Continue, or similar agent users: the README says system prompts and earlier messages are dropped, so those clients lose their tools and transcript.
Anyone outside the AiPASS eligibility and login flow: the bridge depends on a real logged-in de.aipass.net tab and does not provide an account.
Operators who need an authenticated network service: the bridge has no authentication, and the headless noVNC desktop is also unauthenticated unless you set a password.
Security-sensitive coding work until open PR #45 is resolved or reviewed locally: it addresses extension impersonation by local processes, DNS-based SSRF, symlink escapes from the agent root, and shell-command confirmation.

Setup reality

Our npm install succeeded in 31 seconds, adding 629 packages and using 477 MB on disk. The build passed in 20 seconds, and node:test passed all 148 tests in 18 seconds. Npm audit found 0 known vulnerabilities.

Useful operation still needs an AiPASS account, Chrome, the unpacked extension, a logged-in de.aipass.net tab, and the Node bridge on port 8787. The included doctor command checks that chain.

Headless use adds Docker, Chromium, Xvfb, x11vnc, noVNC, and an SSH tunnel. The bridge only forwards the newest user message, while AiPASS keeps conversation history upstream; ordinary agentic IDE clients therefore do not work.

A logged-in browser becomes a local OpenAI endpoint

AiPASS gives eligible Thai users browser access to a large model catalog. aipass-bridge puts a Node server on 127.0.0.1:8787, connects it to an unpacked Chrome extension, and lets the extension run requests inside a de.aipass.net tab. Chrome supplies the existing session cookie, so the bridge does not copy that credential to disk. An OpenAI client can then point at /v1 with a dummy API key.

That arrangement supports terminal chat, streamed replies, web-search sources, attachments, account credit checks, and the models exposed by the account. The README lists 33 models at the fetched revision, including image, video, and music choices. Media-specific fields such as aspect ratio, duration, resolution, and audio generation extend the OpenAI-shaped request. This is compatibility at the client edge, not a claim that AiPASS itself implements the full OpenAI API.

What happened when we ran it

Our sandbox installed 629 npm packages in 31 seconds and used 477 MB on disk. The build succeeded in 20 seconds. Node's test runner then passed 148 tests in 18 seconds with 0 failures, and npm audit reported 0 known vulnerabilities. Those are unusually clean results for commit 5e19e78 in a fresh Node 22 container with 3 CPUs and 8 GB of RAM.

The 5 MB checkout contained 75 files and about 7,692 lines of source. Our top-level scan recorded 1 CI workflow, no Dockerfile, and no tests directory, while the repository documentation points to deployment and test material nested under aipass-bridge/. The passing 148-test command is the result that matters. It also has a limit: the release notes say no test reaches the real browser extension, and our sandbox had no account secrets.

Npm audit's 0 does not cover mistakes in the bridge's own request handling. Version v0.2.0 exists partly because earlier copies allowed any website open in the browser to drive the local bridge. The release closed permissive CORS, added Host validation, restricted process-control routes, and stopped interpolating arbitrary log names. Anyone who cloned before September 2, 2026 needs to update rather than rely on a loopback bind.

One-message forwarding rules out ordinary coding agents

The bridge sends only the newest user message. It drops system prompts and earlier messages because AiPASS stores the conversation on its side, and because the upstream edge can reject agent-style prompt content. The README gives specific examples: paths such as /bin/zsh or $HOME can trigger the upstream filter even when plain prose of the same length passes. This makes basic chat compatible while breaking the assumptions of general agent clients.

Cursor, Cline, and Continue normally resend tool definitions, a system prompt, and conversation history on each turn. Here, those parts never reach the model. The README says such a client answers as if it has no file tools. aipass-bridge includes its own agent instead. It exchanges compact actions for reading, searching, editing, and creating files, then lets AiPASS retain the thread. That is a purpose-built workaround, not generic agent compatibility.

Use the file agent with a narrow project root and inspect every proposed change. Shell execution is off unless --allow-run is supplied. Open PR #45 adds a prompt before each permitted shell command and fixes a path check that could be bypassed through a symlink inside the project. Until that work is merged or you apply and review it yourself, a model working in a repository can reach a broader area than the lexical root suggests.

Headless mode still contains a live account session

The laptop setup takes more than npm run dev. You must load the extension through Chrome's developer mode, open the AiPASS chat site, log in, and leave the tab available. npm run doctor checks the bridge, extension, login, credits, conversation, and a round trip. That diagnostic is valuable because a green Node process alone says nothing about the extension or browser session.

For 24-hour use, the nested deployment runs Chromium, Xvfb, x11vnc, noVNC, the extension, and the bridge in Docker. Both exposed ports bind to loopback by default. The documentation recommends reaching noVNC through an SSH tunnel because it displays a browser logged into the account. If port 6080 is exposed, a strong noVNC_PASSWORD must be set first. The bridge on port 8787 has no authentication of its own.

Anything that reaches that bridge can spend credits. Every message also appears in the AiPASS chat history. This is appropriate for one person's private machine or server, with tight network controls. It is a poor base for a shared internal endpoint because there is no per-user identity, quota boundary, or separation between callers. LiteLLM or another provider-backed gateway is a cleaner fit when official API credentials are available.

Security work is active and unfinished

The repository was created on September 1, 2026, and GitHub recorded its last main-branch push on September 5. Release v0.2.0 arrived on September 3 with the browser-origin fix and an MIT license. GitHub showed 142 stars and 1 open item when fetched; that item was PR #45, updated September 28. This is active work, but a few weeks of activity cannot establish long-term maintenance.

PR #45 addresses concrete gaps found after v0.2.0: a local process could impersonate the extension, hostname-based attachment URLs could resolve to private addresses, agent paths could escape through symlinks, and extension reconnect windows could drop jobs. The PR also notes that DNS rebinding between resolution and connection remains outside its guard. That candor makes the project easier to assess, though it does not make the open fixes part of the release.

For an eligible AiPASS user, the 31-second install and 148 passing tests justify a private trial. Keep both ports on loopback, tunnel the desktop, use a disposable project before enabling file edits, and compare the open hardening patch with the code you run. If you need a stable team API rather than personal access to one browser account, choose a gateway built around supported provider APIs.

Alternatives

ProjectWhat it isPick it when
LiteLLM gh↗A proxy and SDK for many model APIs using provider-supported credentials.pick this instead when you can use official API keys and need a multi-user gateway rather than a browser-backed personal bridge.
Open WebUI gh↗A self-hosted model interface with user management and connections to model backends.pick this instead when you want a shared web application around APIs or local models, not terminal access to one AiPASS session.
AiPASS web appThe official browser interface that the bridge drives through your existing account.pick this instead when chat and media generation in a browser are enough and you do not need local files or an API-shaped endpoint.

What people are saying

  1. [velocity-scout] niawjunior/aipass-bridge

Sources

  1. aipass-bridge README
  2. aipass-bridge full documentation
  3. aipass-bridge security guidance
  4. aipass-bridge v0.2.0 release
  5. PR #45: Extension and agent hardening

More ai tools reviews

awesome-ai-agent-platforms · guizang-yingzao-skill · vdn-minimax-h3 · image-to-3d-pipeline · nature-skills · image-story-video-wizard · the whole board →