{"_id":"@duanluan/openai-local-bridge","_rev":"11-ca2d22d439bf89828b2dbe92041c118d","name":"@duanluan/openai-local-bridge","dist-tags":{"latest":"0.4.0"},"versions":{"0.2.3":{"name":"@duanluan/openai-local-bridge","version":"0.2.3","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.3","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"e56ada19676d9c1d57a2aec07d62b1ef81c339bc","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.3.tgz","fileCount":6,"integrity":"sha512-dKJsnJaUGzDAtSIuaFX4WneJUAABoXWkkipFLy279ANGBGnpPXkYmjmsDQ/tcKnFBpHy+JPwqVXCtI05f0VmGg==","signatures":[{"sig":"MEQCID0KWAcup9cm7CgRPe8Yp0KPQOh5BvBDWdpC89g2aOhKAiBYsaTNNsz38UxdPt8x+KHIYe+N+K22SAZNHh6YC1nT7g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18986},"gitHead":"b46b92037c672ff04d5e60351bc194e235210884","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.3_1776213476007_0.35418783988952773","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.4":{"name":"@duanluan/openai-local-bridge","version":"0.2.4","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.4","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"88ed68901e1a9f205c30d14665edc6a8eefd9457","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.4.tgz","fileCount":6,"integrity":"sha512-CmCWMMBql98N0teec4gvLAKXAt9dL58KKu4KeECHr/LlOkKAPx6doQkm070qGvrT0BNxHgzJ5timZdzEBDMkpg==","signatures":[{"sig":"MEUCIFSQMQFQLLO4qoPlvKxLHF8uV0ozmDAtzYGNbLNcBNs0AiEAqvlH2+yipGoQ2b2yqZ8n8CMhwC2eFG1sFN7ooZ92KdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19293},"gitHead":"284333cf15c4ba0ec2ee0b86ef0d98f16b7168bb","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.4_1776214193014_0.36783183553748966","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.5":{"name":"@duanluan/openai-local-bridge","version":"0.2.5","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.5","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"f5965c1a731c6dd50f5ba3c6c0a7f4992246e865","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.5.tgz","fileCount":6,"integrity":"sha512-DVMMcIK8hpfvQsSjlouv2B9q53SUCzYtm5KOF3YVj6NMV7maPU594wV+avffFen7NIe+mG50wMMbQeh3HwaOyQ==","signatures":[{"sig":"MEYCIQCcrWG/AV6TyRWHjWSxhJO5bwUQXWHOHTGDqqgGQIvPPgIhALl3m0SqL1/v5GE/ESlgeMZHUZMmLv7/8C8BJmAaCwTW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19293},"gitHead":"ba32dc43a95e6352f06ff3be56d0b216d0f73ba1","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.5_1776216969143_0.8386136664198389","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.6":{"name":"@duanluan/openai-local-bridge","version":"0.2.6","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.6","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"f6121e1b21df75bc0d84c9de4465169323dd392d","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.6.tgz","fileCount":6,"integrity":"sha512-aL2PUV5UZOsCnKUFfxJ13OnxrU2rBmYbQ+KYhFaPdwQwre47dcZBY92Hmgy8vZ3iEgy8U0CQ9eAlBRsCs6Mt2A==","signatures":[{"sig":"MEUCIQDKDCy3k3fMeulFQHrWFOlFSql3CfIQSW7Gb5VkyFXIxwIgDrbN2UIXU/CAX7tcb2gbgLk1TXLVg2NJz2Blk3kMqa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19293},"gitHead":"b4e462137404d0ac14ae1b4a4165a77b07036be1","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.6_1776217789232_0.49005046898171534","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.7":{"name":"@duanluan/openai-local-bridge","version":"0.2.7","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.7","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"3aba730395d76c4ca1d9e80dc08a80b7f10c01ea","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.7.tgz","fileCount":7,"integrity":"sha512-d2IZYtUj/exqxc1X0tbWHRAZ2O0AorOYfCi8ROXxjHMawFkNNmfuFgzZSTutr4Ea+lDxs9J9wUJVc6Dkex51/Q==","signatures":[{"sig":"MEUCICVZW0kQDAMz1HLMD7Zp2F2YEvy8BAxzqFxWvH7LPcj1AiEA4IIfNlXp1K6b6sDhEfZfa4Ar6T+kFdgP+lu/O6aYenk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19751},"gitHead":"5a727a66a0ea5b09c50b83bac584382e5bf82a26","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.7_1776234544993_0.751142072909929","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.8":{"name":"@duanluan/openai-local-bridge","version":"0.2.8","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.8","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"a501e04e6a84004ffd3ed0a1b4999d772159ae61","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.8.tgz","fileCount":7,"integrity":"sha512-NbBNKgCRPSKPxaeVf7rucfs/RLdLR43wheCM6eZK46T+fBJUdmhvseVTJgbfnvjmDMTwEXuXSmGJhLMCLqv9iQ==","signatures":[{"sig":"MEYCIQDDbtUUH+vgF3l0b3NvcLGdC9yU/o/57dYeURUdaeDBzAIhAJ7caEIi7m2hjyo5XJVy5efLT19m4jdBTEIpkoHDuknv","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20833},"gitHead":"a9165f68cf47d6e9efbde245e2839d906d35a47b","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.8_1776240590454_0.35123640978273873","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.2.9":{"name":"@duanluan/openai-local-bridge","version":"0.2.9","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.2.9","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"e6f1cf3349a0fa7bbd2279387077d385115bb94b","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.2.9.tgz","fileCount":7,"integrity":"sha512-J9FfVhktLXgC4+jP4vNgKLVTcuOTwWXmnIIhqOQFggJSI0UEJueoQ3JGLsWdZC0Mg1ledtoKyHqbdfbd2SwpLg==","signatures":[{"sig":"MEQCIEaw0NW6GwM/0BldHoBclRbmAE1UfrtGIvy5Tx/+M97OAiA0JwoZ3KvacTVy0eHYVgvuYsbV5fOG6R9T+VMEfRnriw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19942},"gitHead":"cc8a4b5cdd026cd035728131c915580403459d42","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.2.9_1776321661350_0.3881751299267229","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.0":{"name":"@duanluan/openai-local-bridge","version":"0.3.0","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.3.0","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"df69431c9c66e666e1d3a83621eb90765e6f23e5","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.3.0.tgz","fileCount":7,"integrity":"sha512-G0jvduMgstbDocJYJaQ9WJ1Biz0EI4jpfzGg7CbvXeSCW5mCV6HszmvVXgosxU8oxePSoPyDuzRe5qI5kEf27Q==","signatures":[{"sig":"MEUCIQDg7wuBMjqgTENrEitLq0iL24hk37Rnurp9ppMHWFs9yQIgE7PLKD1UANiM0qQCLpaCQXO4mmxrqrRlU0ruH9a8+og=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20696},"gitHead":"6b4dbc7eebabb2606b35cf49e1b5cc14d302eadd","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.3.0_1776324245943_0.5367464717984181","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.3.1":{"name":"@duanluan/openai-local-bridge","version":"0.3.1","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.3.1","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"6705c0967d86159daf69df97606dba9f9d594773","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.3.1.tgz","fileCount":7,"integrity":"sha512-izy6TwFoF3I8S2hPKlettMuYOxNUHrqCQTI8lwP3ViXcBsWDmhnNRWEff6wIBJrvZBilR8DVkuNqQo1+Yd1dsw==","signatures":[{"sig":"MEUCIHw/xt/umibF3ZUJ4VeO21RSIFTYxn58yvGQByqUEjtpAiEAhr52g6iU2maumagRalBVXpkMC6j2aBxkja69kz4X8sg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":20696},"gitHead":"dc9c7e0153fb8e1e2375fc144b380a56049ba9a6","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.3.1_1776330144564_0.15319531061105462","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."},"0.4.0":{"name":"@duanluan/openai-local-bridge","version":"0.4.0","keywords":["github","launcher","openai","bridge","cli","binary"],"license":"UNLICENSED","_id":"@duanluan/openai-local-bridge@0.4.0","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"homepage":"https://github.com/duanluan/openai-local-bridge","bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"bin":{"olb":"npm/olb.js"},"dist":{"shasum":"1fe9d9be39fd8617c7aa0a7a722c9d558ab878df","tarball":"https://registry.npmjs.org/@duanluan/openai-local-bridge/-/openai-local-bridge-0.4.0.tgz","fileCount":7,"integrity":"sha512-5GjTrBNMlW/C+9EJN9R3HdQUmlXfBWAXRMxahkkucme1eewcYxDYCdZL5AtKGHXeuW1o5F1XrEO6ZS+ZF2ZGgQ==","signatures":[{"sig":"MEUCIQCnUaji71GuRzgXotvb5VRv4ZpMvDOSjXdOW4okRgjavgIgYU16D0VKaYoYWR4V4I1GVTdwEEEpLWgOWn0VTc2JZqI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":21232},"gitHead":"b83f5590e6a05a638b47941184642813922fe37d","scripts":{"postinstall":"node npm/install.js"},"_npmUser":{"name":"duanluan","email":"duanluan@outlook.com"},"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"_npmVersion":"10.9.7","description":"Standalone npm launcher for openai-local-bridge","directories":{},"_nodeVersion":"22.22.2","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/openai-local-bridge_0.4.0_1776513357600_0.6627058897074654","host":"s3://npm-registry-packages-npm-production"},"deprecated":"Package no longer supported. Contact Support at https://www.npmjs.com/support for more info."}},"time":{"created":"2026-04-15T00:37:55.913Z","modified":"2026-05-15T03:20:31.861Z","0.2.3":"2026-04-15T00:37:56.158Z","0.2.4":"2026-04-15T00:49:53.261Z","0.2.5":"2026-04-15T01:36:09.344Z","0.2.6":"2026-04-15T01:49:49.379Z","0.2.7":"2026-04-15T06:29:05.119Z","0.2.8":"2026-04-15T08:09:50.576Z","0.2.9":"2026-04-16T06:41:01.487Z","0.3.0":"2026-04-16T07:24:06.094Z","0.3.1":"2026-04-16T09:02:24.682Z","0.4.0":"2026-04-18T11:55:57.755Z"},"bugs":{"url":"https://github.com/duanluan/openai-local-bridge/issues"},"license":"UNLICENSED","homepage":"https://github.com/duanluan/openai-local-bridge","keywords":["github","launcher","openai","bridge","cli","binary"],"repository":{"url":"git+https://github.com/duanluan/openai-local-bridge.git","type":"git"},"description":"Standalone npm launcher for openai-local-bridge","maintainers":[{"name":"duanluan","email":"duanluan@outlook.com"}],"readme":"# openai-local-bridge\n\n[中文说明](./README_CN.md)\n\n`openai-local-bridge` routes local `api.openai.com` requests to a third-party OpenAI-compatible endpoint, allowing tools such as Trae and AI Assistant to use GPT Codex through a non-OpenAI API.\n\n## Prerequisites\n\n- `OpenSSL`: required when running `olb enable` or `olb start` to generate local certificates. On Windows, install [OpenSSL](https://slproweb.com/products/Win32OpenSSL.html) first and make sure the directory containing `openssl.exe` is in `PATH`.\n\nRuntime check:\n\n```bash\nopenssl version\n```\n\n## Installation\n\nIf you want a standalone binary with the Python runtime bundled, download the platform archive from GitHub Releases. Those archives do not require `Git`, `Python`, `uv`, or `npm`; only `OpenSSL` is still needed for `olb enable` / `olb start`.\n\n### Method 1: `uv`\n\n```bash\nuv tool install openai-local-bridge\n```\n\n### Method 2: `pip`\n\n```bash\npython -m pip install --user openai-local-bridge\n```\n\n### Method 3: `npm`\n\n```bash\nnpm install -g @duanluan/openai-local-bridge\n```\n\nThe npm package downloads the matching standalone binary from GitHub Releases during installation, so runtime use does not require `Python` or `uv`.\n\n### Method 4: `curl` / PowerShell\n\nLinux / macOS:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/duanluan/openai-local-bridge/main/install.sh | bash\n```\n\nWindows PowerShell:\n\n```powershell\nirm https://raw.githubusercontent.com/duanluan/openai-local-bridge/main/install.ps1 | iex\n```\n\n### Method 5: standalone binary\n\nDownload the matching archive from GitHub Releases, then unpack and run `olb` directly:\n\n- `olb-linux-x86_64.tar.gz`\n- `olb-macos-x86_64.tar.gz`\n- `olb-macos-arm64.tar.gz`\n- `olb-windows-x86_64.zip`\n\n## Quick Start\n\nThe most direct way to use it is:\n\n```bash\nolb start\n```\n\n`start` now runs in the background by default. If you want foreground output for debugging:\n\n```bash\nolb start --debug\nolb start -d\n```\n\nBackground logs are written to `bridge.log` under the config directory and rotate automatically at 1 MiB with 3 backup files.\n\nIf the machine has not been configured yet, `olb start` first runs initialization, then continues with enablement and startup. In interactive mode, it asks for:\n\n- `Base URL`\n- `API Key`\n- `Reasoning effort`\n\nIf you only want to update the active account configuration, run:\n\n```bash\nolb init\n```\n\nTo add another upstream account:\n\n```bash\nolb account add work\n```\n\nTo use another active account for `olb start`:\n\n```bash\nolb account use work\n```\n\nTo stop the takeover:\n\n```bash\nolb disable\n```\n\nTo stop a running bridge process:\n\n```bash\nolb stop\n```\n\nTo restart the bridge and keep the current run mode:\n\n```bash\nolb restart\n```\n\nTo inspect the local setup without making changes:\n\n```bash\nolb doctor\n```\n\nTo follow the log, showing the latest 10 lines first:\n\n```bash\nolb log\n```\n\n## Common Commands\n\nCommand overview:\n\n- `olb`: runs initialization when no config exists; otherwise shows the current status\n- `init`: initial setup or reconfiguration of the active account\n- `config`: show the active account configuration\n- `config-path`: show the configuration file path\n- `a`: shorthand for `account`\n- `account list` / `account ls`: list saved accounts\n- `account add <name>`: add a new account\n- `account edit [name]`: edit the active account or the named account\n- `account delete <name>`: delete an account\n- `account use <name>`: use the selected account as active\n- `status`: show the current status\n- `enable`: install certificates, update hosts, and manage NSS on supported platforms\n- `disable`: remove the hosts takeover\n- `start`: if not initialized, run setup first, then execute `enable` and start the bridge in the background\n- `start --debug` / `start -d`: run the bridge in the foreground for debugging\n- `restart`: restart the bridge; when no flag is passed it keeps the current run mode\n- `restart --debug` / `restart -d`: restart the bridge in the foreground\n- `reload`: legacy alias for `restart`\n- `doctor`: inspect local bridge setup without making changes\n- `-v` / `-V` / `--version`: print the installed version\n- `log`: follow the log file and show the latest 10 lines first\n- `stop`: stop the current bridge process, including one started in the background\n\n## Wrapper Script Entry Points\n\nIf you are running directly from the repository, you can also use:\n\n### Linux / macOS\n\n```bash\n./openai-local-bridge.sh <command>\n```\n\n### Windows PowerShell\n\n```powershell\n.\\openai-local-bridge.ps1 <command>\n```\n\n### Windows BAT\n\n```bat\nopenai-local-bridge.bat <command>\n```\n\nAll of these entry points forward to the same CLI.\n\nIf you install through npm, `olb` starts the bundled platform binary directly. Supported npm targets are Linux x64, macOS x64, macOS arm64, and Windows x64.\n\n## Using It in a Client\n\nUsing Trae as an example, the recommended flow is split into two phases.\n\n### Phase 1: Add the model in the client first\n\n1. Keep this project disabled:\n\n   ```bash\n   olb disable\n   ```\n\n2. Confirm that the machine can reach the official OpenAI service.\n3. Add the model in the client, for example:\n   - Provider: `OpenAI`\n   - Model: `Custom model`\n   - Model ID: `gpt-5.4`\n   - API Key: your official OpenAI key\n\n### Phase 2: Enable the bridge for subsequent requests\n\n```bash\nolb start\n```\n\nThen choose the model you just added in the client.\n\n## FAQ\n\n### What does `olb` do by default?\n\n- If no configuration file exists, it starts initialization.\n- If configuration is already complete, it shows the current status.\n\n### What can I check with `olb status`?\n\nThese fields are usually the most important:\n\n- `hosts`: whether takeover is active\n- `root_ca`: whether the root certificate exists\n- `nss`: NSS status\n- `listener`: whether the local listener is running\n- `listen_addr`: listening address\n- `config`: configuration file location\n\n### Other software is affected too\n\nThat is expected with the current approach, because the takeover happens at the system level for `api.openai.com`.\n\nRestore normal behavior immediately:\n\n```bash\nolb disable\n```\n\n### Model requests fail\n\nCheck these items first:\n\n- Whether `Base URL` is correct\n- Whether `API Key` is correct\n- Whether the upstream service is OpenAI-compatible\n- Whether the upstream model you configured actually exists\n\n### Failed to modify `hosts` or import certificates on Windows\n\nThis is usually a permission issue. Run the command again in a terminal with sufficient privileges.\n\n### Windows says `missing command: openssl`\n\nThe current implementation requires OpenSSL to be installed locally. Install OpenSSL first, then confirm that this works in your terminal:\n\n```powershell\nopenssl version\n```\n\n### Startup fails on Linux / macOS\n\nIf you use the default port `443`, the system may require elevated privileges. Follow the prompt, or switch to a higher port.\n\n## Configuration File\n\nThe CLI writes its configuration to a file under your user configuration directory. The file stores the active account plus all saved upstream accounts.\n\nView the path:\n\n```bash\nolb config-path\n```\n\nView the current configuration:\n\n```bash\nolb config\n```\n\n## Security Notes\n\nBefore using this project, keep in mind:\n\n- It installs a local certificate on your machine.\n- It modifies the system `hosts` file.\n- Run `olb disable` when you are not using it.\n","readmeFilename":"README.md"}