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.

v2026.11.7发布于 2026-11-09 15:01 UTC936star +203 / 7 天8fork同步于 2026-11-10 05:58 UTC

怎么上手

由 README 提炼,执行前请确认
brew install --cask thinkwatchproject/tap/thinkwatch-lite
curl -fsSL https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/latest/download/install.sh | sh
硬件要求按 README 说明

README 未说明显存或 GPU 要求;应用支持 macOS 12+(ARM64)、Windows 10 21H2+(x64/ARM64)、Linux(x86_64/aarch64),网关可另跑在 Linux 服务器上。

支持 Apple Silicon
下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

本地 AI 网关,客户端只连一次,之后在网关里换上游、换模型,还能拦截恶意工具调用

跨平台本地 AI 网关,让 Claude Code、Codex 等客户端无需改配置即可切换上游,隐藏真实 API Key,拦截恶意工具调用并追踪每次请求。

核心能力

  • 客户端一次性接入,改上游只动网关配置
  • 请求发出前把 API key、私钥、JWT 等换成占位符
  • 检测到下载执行代码等危险工具调用时提前切断回答
  • 按模型、工具、图片等规则路由,失败自动切换上游
  • 记录每个请求的规则、上游、格式转换与费用,可回放对比

容易踩的坑

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

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README

最近发版

5 个版本v2026.11.7
  1. 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

    PlatformFile
    macOS, Apple siliconThinkWatch-Lite-2026.11.7-darwin-arm64.dmg
    Windows, x64, installerThinkWatch-Lite-2026.11.7-windows-x64-setup.exe
    Windows, x64, portableThinkWatch-Lite-2026.11.7-windows-x64-portable.zip
    Windows, ARM64, installerThinkWatch-Lite-2026.11.7-windows-arm64-setup.exe
    Windows, ARM64, portableThinkWatch-Lite-2026.11.7-windows-arm64-portable.zip
    Linux, x86_64ThinkWatch-Lite-2026.11.7-linux-x86_64.AppImage
    Linux, aarch64ThinkWatch-Lite-2026.11.7-linux-aarch64.AppImage

    Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is 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 the data folder 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-lite
    

    On 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 | sh
    

    Both 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/

  2. 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

    PlatformFile
    macOS, Apple siliconThinkWatch-Lite-2026.11.6-darwin-arm64.dmg
    Windows, x64, installerThinkWatch-Lite-2026.11.6-windows-x64-setup.exe
    Windows, x64, portableThinkWatch-Lite-2026.11.6-windows-x64-portable.zip
    Windows, ARM64, installerThinkWatch-Lite-2026.11.6-windows-arm64-setup.exe
    Windows, ARM64, portableThinkWatch-Lite-2026.11.6-windows-arm64-portable.zip
    Linux, x86_64ThinkWatch-Lite-2026.11.6-linux-x86_64.AppImage
    Linux, aarch64ThinkWatch-Lite-2026.11.6-linux-aarch64.AppImage

    Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is 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 the data folder 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-lite
    

    On 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 | sh
    

    Both 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

  3. 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

    PlatformFile
    macOS, Apple siliconThinkWatch-Lite-2026.11.4-darwin-arm64.dmg
    Windows, x64, installerThinkWatch-Lite-2026.11.4-windows-x64-setup.exe
    Windows, x64, portableThinkWatch-Lite-2026.11.4-windows-x64-portable.zip
    Windows, ARM64, installerThinkWatch-Lite-2026.11.4-windows-arm64-setup.exe
    Windows, ARM64, portableThinkWatch-Lite-2026.11.4-windows-arm64-portable.zip
    Linux, x86_64ThinkWatch-Lite-2026.11.4-linux-x86_64.AppImage
    Linux, aarch64ThinkWatch-Lite-2026.11.4-linux-aarch64.AppImage

    Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is 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 the data folder 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-lite
    

    On 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 | sh
    

    Both 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

  4. 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

    PlatformFile
    macOS, Apple siliconThinkWatch-Lite-2026.11.3-darwin-arm64.dmg
    Windows, x64, installerThinkWatch-Lite-2026.11.3-windows-x64-setup.exe
    Windows, x64, portableThinkWatch-Lite-2026.11.3-windows-x64-portable.zip
    Windows, ARM64, installerThinkWatch-Lite-2026.11.3-windows-arm64-setup.exe
    Windows, ARM64, portableThinkWatch-Lite-2026.11.3-windows-arm64-portable.zip
    Linux, x86_64ThinkWatch-Lite-2026.11.3-linux-x86_64.AppImage
    Linux, aarch64ThinkWatch-Lite-2026.11.3-linux-aarch64.AppImage

    Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is 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 the data folder 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-lite
    

    On 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 | sh
    

    Both 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 `

  5. 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 xhigh and max reasoning 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

    PlatformFile
    macOS, Apple siliconThinkWatch-Lite-2026.11.2-darwin-arm64.dmg
    Windows, x64, installerThinkWatch-Lite-2026.11.2-windows-x64-setup.exe
    Windows, x64, portableThinkWatch-Lite-2026.11.2-windows-x64-portable.zip
    Windows, ARM64, installerThinkWatch-Lite-2026.11.2-windows-arm64-setup.exe
    Windows, ARM64, portableThinkWatch-Lite-2026.11.2-windows-arm64-portable.zip
    Linux, x86_64ThinkWatch-Lite-2026.11.2-linux-x86_64.AppImage
    Linux, aarch64ThinkWatch-Lite-2026.11.2-linux-aarch64.AppImage

    Each file is published with a .sha256 file beside it. latest.json is the manifest for in-app updates, and install.sh is 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 the data folder 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-lite
    

    On 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 | sh
    

    Both 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

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    README 原文

    未翻译

    ThinkWatch Lite

    English | 中文

    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

    PlatformArchitectureInstall
    macOS 12 or laterARM64 (Apple silicon)brew install --cask thinkwatchproject/tap/thinkwatch-lite, or ThinkWatch-Lite-<version>-darwin-arm64.dmg
    Windows 10 21H2 or laterx64Installer ThinkWatch-Lite-<version>-windows-x64-setup.exe, or portable ThinkWatch-Lite-<version>-windows-x64-portable.zip
    Windows 10 21H2 or laterARM64Installer ThinkWatch-Lite-<version>-windows-arm64-setup.exe, or portable ThinkWatch-Lite-<version>-windows-arm64-portable.zip
    Linuxx86_64 / aarch64curl -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

    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.