应用未经 Apple 或 Microsoft 签名,首次启动需额外一步操作;Windows 便携版数据存在程序旁的 data\ 目录,该目录必须可写;从源码构建时需先运行 fetch-core.sh 下载 Cargo.lock 锁定的 twcore 版本。

ThinkWatch-Lite
ThinkWatchProjectMIT活跃维护跨平台本地 AI 网关,让 Claude Code、Codex 等客户端无需改配置即可切换上游,隐藏真实 API Key,拦截恶意工具调用并追踪每次请求。
Local gateway for Claude Code, Codex and other AI clients on macOS, Windows and Linux: switch upstreams without touching clients, keep API keys from relays, cut off malicious tool calls, trace every request.
brew install --cask thinkwatchproject/tap/thinkwatch-lite
curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shREADME 未说明显存或 GPU 要求;应用支持 macOS 12+(ARM64)、Windows 10 21H2+(x64/ARM64)、Linux(x86_64/aarch64),网关可另跑在 Linux 服务器上。
本地 AI 网关,客户端只连一次,之后在网关里换上游、换模型,还能拦截恶意工具调用
跨平台本地 AI 网关,让 Claude Code、Codex 等客户端无需改配置即可切换上游,隐藏真实 API Key,拦截恶意工具调用并追踪每次请求。
核心能力
- 客户端一次性接入,改上游只动网关配置
- 请求发出前把 API key、私钥、JWT 等换成占位符
- 检测到下载执行代码等危险工具调用时提前切断回答
- 按模型、工具、图片等规则路由,失败自动切换上游
- 记录每个请求的规则、上游、格式转换与费用,可回放对比
容易踩的坑
- v2026.11.7ThinkWatch Lite 2026.11.7最新正式版2026-11-09 · 2026-11-09 15:01 UTC
Codex can now discover gateway models through a remote native catalog. Connect or reconnect Codex through Clients after upgrading, then restart Codex once to load the new connection settings. Subsequent model, alias and permission changes use the gateway's existing hot reload path and appear on the next catalog refresh without rewriting client configuration.
Discovery uses gateway authentication and model permissions. Native upstream instructions and tools are preserved when available; ordinary upstreams use a conservative coding profile. The standard OpenAI models endpoint keeps its existing response shape. Codex can cache its picker list, so an already open client may need to refresh its catalog or restart before showing changes.
Codex adoption configures discovery while preserving inactive profiles and restoring overridden fields when disconnected. Existing credentials are not copied into sidecar metadata. Manual setup instructions correctly show fields that need removing.
This release bundles Core 0.90.0, including the native catalog and an update to patched bundled SQLite for RUSTSEC-2026-0459. The control-plane protocol remains 58 and the request-store schema remains 28. Existing settings, upstreams, request history and usage history are preserved.
Downloads
Platform File macOS, Apple silicon ThinkWatch-Lite-2026.11.7-darwin-arm64.dmgWindows, x64, installer ThinkWatch-Lite-2026.11.7-windows-x64-setup.exeWindows, x64, portable ThinkWatch-Lite-2026.11.7-windows-x64-portable.zipWindows, ARM64, installer ThinkWatch-Lite-2026.11.7-windows-arm64-setup.exeWindows, ARM64, portable ThinkWatch-Lite-2026.11.7-windows-arm64-portable.zipLinux, x86_64 ThinkWatch-Lite-2026.11.7-linux-x86_64.AppImageLinux, aarch64 ThinkWatch-Lite-2026.11.7-linux-aarch64.AppImageEach file is published with a
.sha256file beside it.latest.jsonis the manifest for in-app updates, andinstall.shis the Linux install script.On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start
ThinkWatch Lite.exe. Its settings stay in thedatafolder beside it, separate from an installed copy, and it updates itself in place.On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as
~/Applications/ThinkWatch-Lite.AppImage:curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the README.
The ThinkWatch Lite page describes each feature, and the [documentation](https://thinkwat.ch/docs/
- v2026.11.6ThinkWatch Lite 2026.11.62026-11-09 · 2026-11-09 09:00 UTC
查看更新说明
Traffic tables now keep token usage and cost visible in narrow windows. Model, key and upstream names shrink before the table scrolls horizontally, while numeric columns retain enough space for their values. Hovering a shortened name reveals the full text. Safety and format-conversion badges remain readable.
The existing column settings now support pinning columns to the left or right. Pinned columns work consistently in request rows and session summaries, with matching hover and selection colors. When the window is too narrow for all selected pinned columns, the table temporarily reduces the fixed area and restores it when space is available. Clicking a request continues to open the existing detail drawer.
Saved column visibility and relative order are preserved. Existing layouts automatically gain right-pinned token and cost columns when both are already the last visible columns; custom layouts and explicit unpinning are respected. Column preferences remain local to each installation.
This release continues to bundle Core 0.89.2. The control-plane protocol remains 58 and the request-store schema remains 28. Existing settings, upstreams, request history and usage history are kept.
Release packaging now retries transient downloads and uses authenticated GitHub asset requests in CI. Linux packaging tools are prepared before compilation.
Downloads
Platform File macOS, Apple silicon ThinkWatch-Lite-2026.11.6-darwin-arm64.dmgWindows, x64, installer ThinkWatch-Lite-2026.11.6-windows-x64-setup.exeWindows, x64, portable ThinkWatch-Lite-2026.11.6-windows-x64-portable.zipWindows, ARM64, installer ThinkWatch-Lite-2026.11.6-windows-arm64-setup.exeWindows, ARM64, portable ThinkWatch-Lite-2026.11.6-windows-arm64-portable.zipLinux, x86_64 ThinkWatch-Lite-2026.11.6-linux-x86_64.AppImageLinux, aarch64 ThinkWatch-Lite-2026.11.6-linux-aarch64.AppImageEach file is published with a
.sha256file beside it.latest.jsonis the manifest for in-app updates, andinstall.shis the Linux install script.On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start
ThinkWatch Lite.exe. Its settings stay in thedatafolder beside it, separate from an installed copy, and it updates itself in place.On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as
~/Applications/ThinkWatch-Lite.AppImage:curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the README.
The [ThinkWatch Lite page](https://thinkwat
- v2026.11.4ThinkWatch Lite 2026.11.42026-11-08 · 2026-11-08 16:25 UTC
查看更新说明
Traffic columns can now be hidden and reordered, with a compact preset that keeps model, token and cost information visible in smaller windows. Preferences are saved locally and apply to request rows and session rows. Older records display their date and time on separate lines.
Request rows show the model name sent to the upstream, with the original requested name underneath when routing changes it. Both lines share the existing width limit, and hovering reveals the complete names. Credential names align with the column heading, with recognized application icons placed after the name.
HTTP record details now explain when stored headers and bodies are redacted. The decoded view and raw view use consistent labels so a redacted archive is not mistaken for an exact wire capture.
This release bundles Core 0.89.2, which reduces credential false positives in code and pool logs, enables native system proxies for upstreams configured to use them, and preserves Mistral array response fragments and split placeholders during format conversion. Applying or reloading configuration refreshes system proxy settings. The Mistral fixes cover reproduced compatibility defects; the original report of delayed or truncated output still needs confirmation with complete traffic.
The control-plane protocol remains 58 and the request-store schema remains 28. Existing settings, upstreams, request history and usage history are kept.
Downloads
Platform File macOS, Apple silicon ThinkWatch-Lite-2026.11.4-darwin-arm64.dmgWindows, x64, installer ThinkWatch-Lite-2026.11.4-windows-x64-setup.exeWindows, x64, portable ThinkWatch-Lite-2026.11.4-windows-x64-portable.zipWindows, ARM64, installer ThinkWatch-Lite-2026.11.4-windows-arm64-setup.exeWindows, ARM64, portable ThinkWatch-Lite-2026.11.4-windows-arm64-portable.zipLinux, x86_64 ThinkWatch-Lite-2026.11.4-linux-x86_64.AppImageLinux, aarch64 ThinkWatch-Lite-2026.11.4-linux-aarch64.AppImageEach file is published with a
.sha256file beside it.latest.jsonis the manifest for in-app updates, andinstall.shis the Linux install script.On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start
ThinkWatch Lite.exe. Its settings stay in thedatafolder beside it, separate from an installed copy, and it updates itself in place.On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as
~/Applications/ThinkWatch-Lite.AppImage:curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the [README](https://github.com/ThinkWatchProject/T
- v2026.11.3ThinkWatch Lite 2026.11.32026-11-06 · 2026-11-06 11:21 UTC
查看更新说明
ThinkWatch Lite restores existing windows more reliably from the tray, including minimized windows on KDE Wayland. Opening the main window or navigating from the tray keeps the existing webview and unsaved form contents. Update notices restore the update window, and background tray actions leave the current window focused.
- Linux uses the desktop's StatusNotifierItem and DBusMenu protocols directly, passing each activation token to the window requested by that action. The tray remains available after a panel restart, and menu changes invalidate old actions so stale clicks cannot target a different item.
- Wayland activation depends on the desktop supplying a token. The Plasma 6.6 branch supports tokens for menu items; older desktops may supply them only when clicking the tray icon. Click the tray icon to open the main window on those desktops.
- Window restoration on Windows preserves maximized windows. Shortcuts and update notices use the same restoration path as the tray.
This release continues to bundle Core 0.89.1. The control-plane protocol remains 58 and the request-store schema remains 28. Existing settings, upstreams, request history and usage history are kept.
Downloads
Platform File macOS, Apple silicon ThinkWatch-Lite-2026.11.3-darwin-arm64.dmgWindows, x64, installer ThinkWatch-Lite-2026.11.3-windows-x64-setup.exeWindows, x64, portable ThinkWatch-Lite-2026.11.3-windows-x64-portable.zipWindows, ARM64, installer ThinkWatch-Lite-2026.11.3-windows-arm64-setup.exeWindows, ARM64, portable ThinkWatch-Lite-2026.11.3-windows-arm64-portable.zipLinux, x86_64 ThinkWatch-Lite-2026.11.3-linux-x86_64.AppImageLinux, aarch64 ThinkWatch-Lite-2026.11.3-linux-aarch64.AppImageEach file is published with a
.sha256file beside it.latest.jsonis the manifest for in-app updates, andinstall.shis the Linux install script.On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start
ThinkWatch Lite.exe. Its settings stay in thedatafolder beside it, separate from an installed copy, and it updates itself in place.On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as
~/Applications/ThinkWatch-Lite.AppImage:curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the README.
The ThinkWatch Lite page describes each feature, and the documentation covers installing, connecting clients and routing.
Verifying a download
A `
- v2026.11.2ThinkWatch Lite 2026.11.22026-11-05 · 2026-11-05 10:07 UTC
查看更新说明
ThinkWatch Lite now bundles Core 0.89.1. ChatGPT account quotas populate automatically after startup and update in Overview and the menu dropdown without opening the Upstreams page.
- Core refreshes quotas when an account is first discovered, after 15 minutes without a fresh quota update, or after a reported quota window resets. Quota headers from real traffic postpone background queries. Concurrent reads share work, automatic queries are limited to four accounts at a time, and failures back off while retaining the last known quota. No configuration changes are required.
- Overview listens for quota updates and refreshes automatically when background queries finish. Manual usage refresh remains available.
- Pi and omp takeovers preserve
xhighandmaxreasoning effort instead of reducing them before requests reach the gateway. OpenCode exposes all six gateway effort levels through explicit variants in both configuration formats, including early v2 releases. Existing takeovers with incomplete effort declarations are flagged for update; updating retains the original restore backup.
The control-plane protocol remains 58 and the request-store schema remains 28. Existing settings, upstreams, request history and usage history are kept. Remote connections continue to work with protocol-58 servers; upgrade a remote Core to 0.89.1 to enable automatic quota refresh there.
Downloads
Platform File macOS, Apple silicon ThinkWatch-Lite-2026.11.2-darwin-arm64.dmgWindows, x64, installer ThinkWatch-Lite-2026.11.2-windows-x64-setup.exeWindows, x64, portable ThinkWatch-Lite-2026.11.2-windows-x64-portable.zipWindows, ARM64, installer ThinkWatch-Lite-2026.11.2-windows-arm64-setup.exeWindows, ARM64, portable ThinkWatch-Lite-2026.11.2-windows-arm64-portable.zipLinux, x86_64 ThinkWatch-Lite-2026.11.2-linux-x86_64.AppImageLinux, aarch64 ThinkWatch-Lite-2026.11.2-linux-aarch64.AppImageEach file is published with a
.sha256file beside it.latest.jsonis the manifest for in-app updates, andinstall.shis the Linux install script.On Windows, the portable ZIP runs without installation or administrator rights: extract it to any writable folder and start
ThinkWatch Lite.exe. Its settings stay in thedatafolder beside it, separate from an installed copy, and it updates itself in place.On macOS, Homebrew installs the same disk image:
brew install --cask thinkwatchproject/tap/thinkwatch-liteOn Linux, the install script downloads the AppImage for the machine's architecture, checks its SHA-256 and installs it as
~/Applications/ThinkWatch-Lite.AppImage:curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | shBoth commands install the latest release. First-launch steps for each platform, such as removing the quarantine attribute from a copy downloaded on macOS, are described in the README.
The [ThinkWatch
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
ThinkWatch Lite
A local gateway for Claude Code, Codex and other AI clients, on macOS, Windows and Linux. Each client is connected once; after that, upstreams and models change without touching its configuration. Every request is recorded with its cost and route; the API keys in it can be replaced before it leaves the machine, and dangerous tool calls a relay slips into an answer can be cut off before the client runs them.
Sponsors
Sponsors are independent third parties, not endorsed by ThinkWatch. Disclaimer
Highlights
- Connect once, switch freely. Claude Code, Claude Desktop, Codex, opencode, Pi, oh-my-pi, Grok Build, Qwen Code, Hermes Agent, Zed, Aider and DeepSeek Harness are pointed at the gateway in one step, with the change previewed, the original file backed up and a restore always available; Cursor, Continue and Antigravity CLI come with instructions. Switching upstreams then happens in the gateway alone.
- Protection against relays. A relay sees every request in full and can rewrite every answer. Secrets & privacy swaps API keys, private keys, JWTs, connection-string passwords, Chinese resident ID numbers and bank card numbers for placeholders before a request leaves, so the relay never holds the real values. When an answer carries a tool call that downloads and runs code, sends out environment variables or credential files, reads private keys or installs a startup item or scheduled job, Dangerous commands cuts the answer off before the client can run it. The content filter deletes instructions hidden in invisible characters before a request leaves, can refuse prompt injection, and can delete or replace chosen words in requests and in the model's answers. Each protection starts in Monitor, which records and notifies, and is switched on one at a time; every rule has its own action.
- Upstreams, cross-checked. Each upstream is compared with the others serving the same model: answers naming a different model, reported input well above or below theirs and low prompt-cache reads are marked on its row in the upstream list, with the evidence and sample sizes on hover.
- MCP servers, skills and hooks, scanned. The MCP servers of thirteen clients side by side, with third-party servers marked, and a scan of client configuration, skills, hooks and project instructions for hidden characters, prompt injection, dangerous commands and overly broad permissions.
- Every request traceable. The rule a request matched, each upstream it tried, any conversion between API formats and how its cost was calculated; a finished request can be replayed against another upstream and compared side by side. The whole history can be searched, including the text of requests and answers.
- Routing and failover. Rules by model, tools, images, extended thinking and more. When an upstream fails before the answer begins the next one takes over, and each session stays on one upstream so its prompt cache keeps hitting. Auxiliary requests such as title generation can be answered locally.
- Any upstream, any API format. API keys, Amazon Bedrock, ChatGPT and Z.ai accounts, relays such as OpenRouter and local models, with conversion between the Anthropic, OpenAI and Gemini APIs.
- Costs stated as they are. Estimated amounts are marked and requests without a price are counted separately instead of as zero.
- Remote core. The gateway can also run on a Linux server; the app connects to it over an encrypted control channel.
Install
| Platform | Architecture | Install |
|---|---|---|
| macOS 12 or later | ARM64 (Apple silicon) | brew install --cask thinkwatchproject/tap/thinkwatch-lite, or ThinkWatch-Lite-<version>-darwin-arm64.dmg |
| Windows 10 21H2 or later | x64 | Installer ThinkWatch-Lite-<version>-windows-x64-setup.exe, or portable ThinkWatch-Lite-<version>-windows-x64-portable.zip |
| Windows 10 21H2 or later | ARM64 | Installer ThinkWatch-Lite-<version>-windows-arm64-setup.exe, or portable ThinkWatch-Lite-<version>-windows-arm64-portable.zip |
| Linux | x86_64 / aarch64 | curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | sh, or ThinkWatch-Lite-<version>-linux-<arch>.AppImage |
The gateway, ThinkWatch Core, ships inside the app. The app is not signed by Apple or Microsoft, so the first launch needs one extra step; Install and update covers it, along with how updates arrive. The interface is in English and Simplified Chinese, and the app updates itself (a Homebrew installation updates through Homebrew).
Windows portable
Unzip and run ThinkWatch Lite.exe: no installation and no administrator
rights. Configuration, keys and request history stay in the data\ folder next
to the program, apart from the installed copy's data, so the two keep separate
settings. The folder has to be writable.
Only one of the installed and portable copies runs at a time; opening the other
one offers to stop the running one and start it instead. thinkwatch:// links
and launch at login always point to the copy that is running.
The portable copy has no system uninstaller. Uninstall it in Settings › Full uninstall first, which restores connected clients and removes its launch at login and other registry entries, then delete the whole folder.
Uninstall
Uninstalling in Settings › Full uninstall restores connected clients, turns off launch at login and can delete the data directory as well. Afterwards, move the app to the Trash on macOS, or delete the AppImage file on Linux.
The installed copy on Windows can also be uninstalled through the system: the
uninstaller closes ThinkWatch Lite and does the same restoring and cleanup
first. With "Also delete data (configuration, API keys, request history)"
ticked it deletes %APPDATA%\ThinkWatch too, except when a client could not be
restored, in which case the data directory, with that client's backup, is kept.
The uninstaller runs as an administrator: when a standard account uninstalls
with an administrator's password, it restores the administrator's clients and
deletes the administrator's data instead, so uninstall in the app first in that
case.
Privacy
ThinkWatch Lite sends no telemetry. AI requests go to the upstream services you configure; Secrets & privacy can redact matching sensitive content locally before it is sent, when enabled. The app and its bundled gateway are fully open source under MIT. See the Privacy Policy for data storage, network connections, redaction defaults, and deletion controls.
Documentation
- Features: every page, in detail
- Install and update
- Connecting to a remote core and server deployment
- Import links, for relays and vendors
- Architecture
Build from source
pnpm install
bash src-tauri/scripts/fetch-core.sh
pnpm tauri dev
fetch-core.sh downloads the twcore release that Cargo.lock pins into
src-tauri/resources/. See CONTRIBUTING.md for the layout
of the repository and the checks to run before opening a pull request.
Community and project links
- AtomGit — A code hosting and collaboration platform for developers and open-source communities.
- LINUX DO — A technology community for sharing development experience, open-source tools, and AI ideas and practices.
License
MIT. See LICENSE.