Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions src/content/docs-lite/en/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ A dry run takes a key, a model, a client format and the properties of a request,

## Upstreams

API-key upstreams such as Anthropic, OpenAI, Gemini, DeepSeek or any compatible endpoint; ChatGPT and Z.ai accounts signed in from the app, with the ChatGPT usage limits and their reset times; relays such as OpenRouter; and local models served by Ollama or another OpenAI-compatible server.
API-key upstreams such as Anthropic, OpenAI, Gemini, DeepSeek or any compatible endpoint; ChatGPT and Z.ai accounts signed in from the app; relays such as OpenRouter; and local models served by Ollama or another OpenAI-compatible server. The usage limits of ChatGPT accounts and of GLM Coding Plan keys on Z.ai and BigModel are shown with their reset times.

Upstreams can connect through an outbound HTTP or SOCKS proxy, whose connection and authentication can be checked from the Upstreams page. Each upstream is billed per token or free. Prices come from the default price sheet, LiteLLM's public price data refreshed daily, or from a custom price sheet that applies a multiplier and prices for individual models on top of it.

Expand All @@ -64,13 +64,17 @@ Each protection is Off, Observe or Enforce. Observe detects and records matches

## MCP servers, skills and hooks

The MCP page lists the MCP servers configured in Claude Code, Claude Desktop, Cursor, Codex, opencode and Zed side by side. Remote and third-party servers are marked, and a server configured differently in two clients can be compared field by field. A server can be copied to another client or removed; the change is shown before it is written, and the original file is backed up.
The MCP page lists the MCP servers configured in Claude Code, Claude Desktop, Cursor, Codex, opencode, Zed, Antigravity CLI and DeepSeek Harness side by side. Remote and third-party servers are marked, and a server configured differently in two clients can be compared field by field. A server can be copied to another client or removed; the change is shown before it is written, and the original file is backed up.

The page also lists hooks and skills, and scans client configuration, skills, hooks, slash commands, subagents and project instructions for hidden characters, prompt injection, dangerous commands and overly broad permissions. The scan reports what it finds and changes no file. The files are scanned again when they change, and a new finding raises a notification.

## Client setup

Claude Code, Codex, opencode, Zed and Aider can be pointed at the gateway from the app. The change is shown as a diff before anything is written, the original file is backed up, only the endpoint and key fields change, and the change can be restored at any time. Cursor, Continue and Gemini CLI come with step-by-step instructions.
Claude Code, Codex, opencode, Zed, Aider, Claude Desktop and DeepSeek Harness can be pointed at the gateway from the app. The change is shown as a diff before anything is written, the original file is backed up, only the settings that point the client at the gateway change, and the change can be restored at any time. Cursor, Continue and Antigravity CLI come with step-by-step instructions.

Claude Desktop is pointed at the gateway through its third-party inference mode. It has to be quit completely and reopened afterwards, and conversations in that mode are kept apart from the others; a Claude Desktop managed by an organization is not changed. For opencode, the models the client's key can use are written into its configuration, and the Clients page says when that list needs updating after upstreams or routes change. After Codex is restored, the sessions started while it pointed at the gateway can still be opened.

On Windows, the Clients page also lists each WSL distribution. Claude Code and Codex inside WSL can be pointed at the gateway under WSL 1, or under WSL 2 with mirrored networking; they reach it at 127.0.0.1, and the gateway keeps listening on this computer only. When WSL 2 uses NAT networking, the page can switch it to mirrored networking, which needs Windows 11 22H2 or later, and restart WSL.

## Keys

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs-lite/en/remote-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ The app connects to one core at a time. The connection is switched from the menu

While the app is connected to a server, the core on this computer stops once its requests in progress have finished. Its configuration, keys and request history are kept, and switching back to this computer starts it again.

Clients on this computer that point to the local gateway would fail while it is stopped. When there are such clients, the switch offers to point them at the server's gateway instead; the Clients page offers the same afterwards.
Clients on this computer, including those inside WSL on Windows, that point to the local gateway would fail while it is stopped. When there are such clients, the switch offers to point them at the server's gateway instead; the Clients page offers the same afterwards.

**Connect at startup** chooses between the last used connection and this computer. Holding Option on macOS or Alt on Windows while the app opens shows the choice of connection first; on every platform, the choice also appears when the two previous startups did not finish. When the server cannot be reached, the app keeps retrying and shows the connection's state, with the option to switch to this computer; it does not switch back on its own.

Expand Down
10 changes: 7 additions & 3 deletions src/content/docs-lite/zh-CN/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ ThinkWatch Lite 是一款在本机运行 AI API 网关的桌面应用,支持 m

## 上游

支持 Anthropic、OpenAI、Gemini、DeepSeek 等 API 密钥上游与任意兼容端点,在应用内登录的 ChatGPT 与 Z.ai 账号(ChatGPT 显示订阅额度及重置时间),OpenRouter 等中转服务,以及 Ollama 或其他兼容 OpenAI 接口的本机模型服务。
支持 Anthropic、OpenAI、Gemini、DeepSeek 等 API 密钥上游与任意兼容端点,在应用内登录的 ChatGPT 与 Z.ai 账号,OpenRouter 等中转服务,以及 Ollama 或其他兼容 OpenAI 接口的本机模型服务。ChatGPT 账号与 Z.ai、BigModel 的 GLM Coding Plan 显示额度及重置时间。

上游可以经 HTTP 或 SOCKS 出站代理连接,代理的连通性与认证可以在上游页检查。每个上游按 token 计费或不计费。价格来自默认价目表(每日更新的 LiteLLM 公开价格数据),也可以使用在其基础上设置倍率与单个模型价格的自定义价目表。

Expand All @@ -64,13 +64,17 @@ ThinkWatch Lite 是一款在本机运行 AI API 网关的桌面应用,支持 m

## MCP 服务器、技能与钩子

MCP 页并列显示 Claude Code、Claude Desktop、Cursor、Codex、opencode 与 Zed 中配置的 MCP 服务器,标出远程与第三方服务器;同名服务器在两个客户端中配置不同时,可以逐字段对比。服务器可以复制到其他客户端或移除,写入前显示改动,并完整备份原文件。
MCP 页并列显示 Claude Code、Claude Desktop、Cursor、Codex、opencode、Zed、Antigravity CLI 与 DeepSeek Harness 中配置的 MCP 服务器,标出远程与第三方服务器;同名服务器在两个客户端中配置不同时,可以逐字段对比。服务器可以复制到其他客户端或移除,写入前显示改动,并完整备份原文件。

该页还列出钩子与技能,并扫描客户端配置、技能、钩子、斜杠命令、subagent 与项目指令,检查隐藏字符、提示注入、危险命令与过宽权限四类问题。扫描只报告,不修改任何文件。这些文件发生变化时会重新扫描,出现新发现时发送提醒。

## 客户端接管

Claude Code、Codex、opencode、Zed 与 Aider 可以在应用内一键指向网关。写入前先显示改动差异并完整备份原文件,只修改端点与密钥两个字段,随时可以还原。Cursor、Continue 与 Gemini CLI 提供逐步的手动配置说明。
Claude Code、Codex、opencode、Zed、Aider、Claude Desktop 与 DeepSeek Harness 可以在应用内一键指向网关。写入前先显示改动差异并完整备份原文件,只修改指向网关所需的设置,随时可以还原。Cursor、Continue 与 Antigravity CLI 提供逐步的手动配置说明。

Claude Desktop 通过其第三方推理模式指向网关,完成后需完全退出再重新打开,此模式下的对话与原有对话分开保存;由组织统一管理的 Claude Desktop 不做修改。opencode 接管时写入该密钥可用的模型,上游或路由变化后,客户端页提示更新模型列表。Codex 还原后,接管期间开启的会话仍可打开。

在 Windows 上,客户端页还列出各个 WSL 发行版。WSL 1 与使用 mirrored 网络模式的 WSL 2 中的 Claude Code 和 Codex 可以指向网关,经 127.0.0.1 访问,网关仍只监听本机。WSL 2 使用 NAT 网络时,客户端页可将其改为 mirrored 网络模式并重启 WSL;mirrored 网络模式需要 Windows 11 22H2 及以上。

## 密钥

Expand Down
2 changes: 1 addition & 1 deletion src/content/docs-lite/zh-CN/remote-core.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ sudo -u thinkwatch THINKWATCH_HOME=/var/lib/thinkwatch twcore control-key

连接服务器期间,本机的 core 在在途请求结束后停止运行。本机的配置、密钥与请求历史都会保留,切换回本机时 core 重新启动。

本机上指向本地网关的客户端在本地网关停止期间无法使用。存在这类客户端时,切换时可以选择同时把它们改为指向服务器的网关;之后也可以在客户端页完成同样的修改。
本机上(包括 Windows 上 WSL 中)指向本地网关的客户端在本地网关停止期间无法使用。存在这类客户端时,切换时可以选择同时把它们改为指向服务器的网关;之后也可以在客户端页完成同样的修改。

**启动时连接**可以选择上次使用的连接或本机。在 macOS 上按住 Option 键、在 Windows 上按住 Alt 键打开应用时,会先显示连接选择;在各个平台上,连续两次启动未能完成时也会先显示连接选择。服务器无法访问时,应用持续重试并显示连接状态,可以手动切换到本机;应用不会自行退回本机。

Expand Down
2 changes: 1 addition & 1 deletion src/data/core-docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ clients send requests to, and the control channel the desktop app and

| Field | Type | Default | Description |
|---|---|---|---|
| `bind` | `loopback` \| `all` \| interface name \| IP address | `loopback` | `loopback` is this machine only; `all` is every interface; an interface name (`en0`, `eth0`) is looked up at start and follows address changes; a fixed IP address stops working when the address changes. Binding one interface also listens on 127.0.0.1. |
| `bind` | `loopback` \| `all` \| interface name \| IP address | `loopback` | `loopback` is this machine only; `all` is every interface; an interface name (`en0`, `eth0`) is looked up again every few seconds and follows address changes, and while the interface is not there the gateway listens on 127.0.0.1 only and adds it once it appears; a fixed IP address stops working when the address changes. Binding one interface also listens on 127.0.0.1. |
| `port` | integer | `8788` | TCP port of the gateway. |
| `allow_from` | list of strings | `[10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7]` | Sources other than this machine that may connect, as CIDR ranges or single addresses. This machine is always allowed. `[]` means this machine only; `0.0.0.0/0` allows everyone and has to be written out. |
<!-- /generated -->
Expand Down
2 changes: 1 addition & 1 deletion src/data/core-docs/config.zh-CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ core 在哪里接受连接。连接分两种:客户端发送请求的 AI 网

| 字段 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| `bind` | `loopback` \| `all` \| 网卡名 \| IP 地址 | `loopback` | `loopback` 只有本机;`all` 所有网卡;网卡名(`en0`、`eth0`)在启动时解析,地址变了也能跟上;写死的 IP 地址在地址变化后失效。绑定单张网卡时同时监听 127.0.0.1。 |
| `bind` | `loopback` \| `all` \| 网卡名 \| IP 地址 | `loopback` | `loopback` 只有本机;`all` 所有网卡;网卡名(`en0`、`eth0`)每隔几秒重新解析,地址变了也能跟上,网卡暂时不在时先只监听 127.0.0.1,出现后再补上;写死的 IP 地址在地址变化后失效。绑定单张网卡时同时监听 127.0.0.1。 |
| `port` | 整数 | `8788` | 网关的 TCP 端口。 |
| `allow_from` | 字符串列表 | `[10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, fc00::/7]` | 本机以外允许连接的来源,写 CIDR 网段或单个地址。本机始终放行。`[]` 表示只有本机;放行所有来源要明确写 `0.0.0.0/0`。 |
<!-- /generated -->
Expand Down
6 changes: 3 additions & 3 deletions src/data/core-docs/manifest.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"repository": "ThinkWatchProject/ThinkWatch-Core",
"ref": "v0.49.1",
"ref": "v0.51.0",
"files": {
"docs/config.md": "0cc9efd9cbb11ea69b3cf17e2d980376580afe6e3b38d628fe2f4be883ad18fb",
"docs/config.zh-CN.md": "54a095a491f8f2ce711f6f58166e2fc95d130a2c6bd53b9236af93147a598368",
"docs/config.md": "d0d67b157fe8705195e962e0276deced47e052b788f63dec1055e9972cbdb0e3",
"docs/config.zh-CN.md": "c12c4d487462a10eed0b3da6c9e0d7ed5127e4637d373d3be66e1ae2b3d435f2",
"docs/server.md": "5e1e9b901bef2b46d417aea057a1db24c78457d3c1938b8540ecb4766515b68f",
"docs/server.zh-CN.md": "1f508e7c39b8ded28653773ca4d8701e6bdc2247bcd359c3a8fd00fd1401a6ff"
}
Expand Down
42 changes: 42 additions & 0 deletions src/data/releases.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,46 @@
[
{
"product": "lite",
"tag": "v2026.9.18",
"date": "2026-09-26T11:03:40Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/tag/v2026.9.18"
},
{
"product": "core",
"tag": "v0.51.0",
"date": "2026-09-26T07:33:32Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Core/releases/tag/v0.51.0"
},
{
"product": "core",
"tag": "v0.50.0",
"date": "2026-09-26T03:16:28Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Core/releases/tag/v0.50.0"
},
{
"product": "core",
"tag": "v0.49.1",
"date": "2026-09-25T12:02:23Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Core/releases/tag/v0.49.1"
},
{
"product": "lite",
"tag": "v2026.9.17",
"date": "2026-09-25T11:22:52Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Lite/releases/tag/v2026.9.17"
},
{
"product": "core",
"tag": "v0.49.0",
"date": "2026-09-25T08:05:06Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Core/releases/tag/v0.49.0"
},
{
"product": "core",
"tag": "v0.48.0",
"date": "2026-09-25T04:41:10Z",
"url": "https://github.com/ThinkWatchProject/ThinkWatch-Core/releases/tag/v0.48.0"
},
{
"product": "lite",
"tag": "v2026.9.16",
Expand Down
Loading
Loading