跳转到正文
ThinkWatch
开始输入以搜索文档。
ThinkWatch Lite · 导入链接

导入链接#

ThinkWatch Lite 支持通过链接打开预填好设置的「新建上游」对话框。中转站、模型服务商或 ThinkWatch 企业版控制台可以把这样的链接放在控制台或开通通知中;用户打开链接后,在手动添加上游时所用的同一个对话框中核对设置,点几下即可创建上游。

本页面向中转站与服务商的运营人员,说明链接的两种形式、按对话框分组的参数、各服务类型接受哪些参数、编码方式,以及链接刻意不能设置的内容。页面末尾附有链接生成器。ThinkWatch Lite 自身也能为已有的上游生成这样的链接,见由 Lite 生成。

name、url、protocol、key、models 以外的参数需要 ThinkWatch Lite 2026.10.16 或更高版本,limits 需要 2026.10.26 或更高版本。只用这五个参数的链接在更早的版本中同样可以打开,为更早版本编写的链接全部继续有效。

链接形式#

两种形式携带相同的参数。

形式说明
thinkwatch://import?…直接打开应用。浏览器在把链接交给应用之前会先请求许可。也接受 thinkwatch://import/?…。
https://thinkwat.ch/import#…一个网页:显示接收请求的主机与将要导入的设置,通过按钮打开应用,未安装应用时提供下载。参数位于 # 之后的片段中,浏览器不会把片段发送给任何服务器。该页面不加载统计或第三方脚本,读取参数后会从地址栏中移除片段。

网页形式适合用于邮件和控制台,因为收件人可能尚未安装应用。网页按与应用相同的规则校验参数,校验不通过的链接不显示任何内容。

参数#

只有在「新建上游」对话框针对所选服务类型与认证方式显示相应栏位时,链接才能设置该参数。对话框自行填写的值,例如官方服务的地址或服务唯一使用的协议,链接可以重复写出,但不能改为其他值。各服务类型接受哪些参数见按服务类型。

服务类型#

参数取值
serviceanthropic、openai、gemini、deepseek、zai、bedrock、openrouter、thinkwatch(ThinkWatch 企业网关)、sub2api、newapi(New API / One API)、ollama 或 custom。省略时由应用按 url 识别,与编辑对话框的识别方式相同:官方地址按主机识别,标准 Bedrock 地址识别为 Bedrock,端口 11434 识别为 Ollama,其余地址一律为 custom。链接中有参数不适用于识别出的服务类型时,按 custom 处理,自定义上游接受全部参数。明确写出的 service 不会被改变。
authkey(默认)、oauth、account 或 aws-keys,须为该服务类型提供的认证方式。openai 的 account 是 ChatGPT 账号,zai 的 account 是账号登录。
sitebigmodel(中国大陆)或 zai(国际),仅用于 zai。省略时按 url 确定,没有 url 时为 bigmodel。

连接#

参数取值
name上游在应用中的名称。省略时由应用按服务类型或地址生成。
url服务的 Base URL,不含 /chat/completions、/messages 等接口路径。须为 https://,本机与内网地址也可以使用 http://(见下文)。不得包含用户名或密码、查询串或片段。custom、thinkwatch、sub2api、newapi 必须提供;Bedrock 可选(VPC 端点等),Ollama 可选(其他机器);自带地址的服务只接受该地址。auth=account 时不接受。
protocolanthropic、openai-chat、openai-responses 或 gemini,仅用于对话框提供选择的服务类型。省略时由应用按地址识别。
regionAWS 区域,例如 eu-west-1,仅用于 Bedrock。没有 url 时,按该区域生成标准地址;url 为标准地址时,须与其中的区域一致;url 为其他地址时,它是签名所用的区域,须配合 auth=aws-keys。
keyAPI 密钥,按原样保存(Bedrock 为 Bedrock API 密钥)。配合 auth=key。Ollama 没有密钥栏位。
oauth_endpointToken 端点,规则与 url 相同,通常带路径。auth=oauth 时必须提供。主机与接口地址不同时,应用会同时列出两个主机。
oauth_refreshRefresh Token。auth=oauth 时必须提供。
oauth_client_idClient ID,配合 auth=oauth,可选。
oauth_client_secretClient Secret,配合 auth=oauth,可选。
aws_access_key_id访问密钥 ID,配合 service=bedrock 与 auth=aws-keys,此时必须提供。
aws_secret_access_key私有访问密钥。auth=aws-keys 时必须提供。
aws_session_token临时凭证的会话令牌,配合 auth=aws-keys,可选。

url 与 oauth_endpoint 指向本机或内网时也接受 http://,例如部署在公司内网的企业网关。主机须为 localhost、127.0.0.1 或 [::1];10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、100.64.0.0/10、169.254.0.0/16 内的 IPv4 地址;fc00::/7、fe80::/10 内的 IPv6 地址;不含点的主机名;或以 .local、.lan、.internal、.intranet、.corp、.home.arpa、.localhost 结尾的主机名。其他 http:// 地址一律拒绝。本机以外的 http:// 地址,对话框与网页会在主机下方写明密钥和请求内容以明文传输。

高级设置#

参数取值
headers额外的请求头,每行一个 名称: 值,编码方式见编码。auth=account 时不接受。
client_identityon 表示开启「转发客户端身份」,用于只接受特定客户端的中转站。仅用于 Sub2API、New API 与自定义上游。
concurrency并发上限:1 到 1000 之间的整数,不带正负号,不以 0 开头。auth=account 时不接受。
limits用量上限,各项以 ; 分隔,每项为 per|measure|max|every|cache_reads,例如每 5 分钟 10,000,000 token、每天 20 美元,编码方式见编码。auth=account 时不接受。
balance余额的读取来源:off、openrouter、deepseek、moonshot、sub2api、newapi 或 thinkwatch。省略时自动识别。仅用于自定义上游,其他服务类型自行决定来源。

模型#

参数取值
models以逗号分隔的模型 ID,作为手动添加的模型写入上游。应用把它们与服务自己列出的模型一起使用,只列出部分模型的服务可以在这里写上其余的模型;服务不提供模型列表时,它们就是全部模型。重复的 ID 只保留一个。
models_only以逗号分隔的模型 ID 或含 *、? 的通配规则。启用范围设为「指定模型」,只包含这些模型。
specs模型规格,各项以 ; 分隔,每项为 model|context|max_output|reasoning|image。上游创建之后,为最终模型列表中的模型保存。既不在 models 中、也不在上游模型列表中的模型,其规格不会保存,「模型」一步会写明。

计费#

参数取值
billingper-token(按量计费)或 free(不计费)。省略时使用服务类型的默认值:Ollama 不计费,其他按量计费。
price_multiplier新价目表的倍率,大于 0、不超过 100,例如 0.8。不计费时不接受。
prices新价目表中的模型价格覆盖,各项以 ; 分隔,每项为 model|input|output|cache_read|cache_write_5m|cache_write_1h。不计费时不接受。

链接含有 price_multiplier 或 prices 时,「计费」一步预先选中一张与上游同名的新价目表,倍率取自链接(省略时为 1),模型覆盖取自 prices。这张价目表可以像其他新建的价目表一样修改,在选择「创建」时与上游一同创建。同名的价目表已存在时,对话框会要求改用其他名称,与上游名称被占用时的处理相同。

按服务类型#

服务类型serviceauth地址接口协议
Anthropicanthropickeyhttps://api.anthropic.comanthropic
OpenAIopenaikey、account(ChatGPT 账号)https://api.openai.comopenai-chat(默认)或 openai-responses
Google Geminigeminikeyhttps://generativelanguage.googleapis.comgemini
DeepSeekdeepseekkeyhttps://api.deepseek.com/anthropicanthropic
Z.ai / BigModelzaikey、account按 site 为 https://open.bigmodel.cn/api/anthropic 或 https://api.z.ai/api/anthropicanthropic
Amazon Bedrockbedrockkey(Bedrock API 密钥)、aws-keysregion 的标准地址,或 url 中的端点链接不能设置
OpenRouteropenrouterkeyhttps://openrouter.ai/apiopenai-chat
ThinkWatch 企业版thinkwatchkeyurl,必须提供链接不能设置;企业网关接受各客户端自己的格式
Sub2APIsub2apikeyurl,必须提供任一协议,或自动识别
New API / One APInewapikeyurl,必须提供任一协议,或自动识别
Ollamaollamakey,没有密钥栏位http://127.0.0.1:11434,或 url 中的其他地址openai-chat
自定义customkey、oauthurl,必须提供任一协议,或自动识别

headers、concurrency 与 limits 适用于账号登录以外的所有服务类型;client_identity 适用于 Sub2API、New API 与自定义上游;balance 只适用于自定义上游。「模型」与「计费」两组参数适用于所有服务类型,包括账号登录。

auth=account 的链接不含任何凭据,登录在应用中进行。这样的链接只接受 service、auth、site、name 以及「模型」与「计费」两组参数。

编码#

  • 每个值都要经过百分号编码,例如使用 encodeURIComponent,应用只解码一次。未编码的 + 表示空格,因此含 + 的密钥应写作 %2B。
  • 每个参数最多出现一次,值为空的参数一律拒绝。
  • 任何值都不得包含 $、{、}、控制字符或不可见字符。应用会从用户的环境变量中读取 ${NAME},这些字符可能让应用把本机的机密发往链接所指的主机。
  • 任一值不符合规则时,整条链接作废。应用只记录原因,不记录内容。

列表与条目:

参数编码示例值(百分号编码之前)
models以 , 分隔的模型 ID;只含字母、数字与 - _ . : / @ +glm-5,glm-5-air
models_only同 models,通配规则另可使用 * 与 ?claude-*,gpt-5
headers以换行符(%0A)分隔的多行,每行为 名称: 值X-Relay-Group: pro、换行、X-Relay-Region: hk
specs以 ; 分隔的多项,每项为 model|context|max_output|reasoning|imageglm-5-air|128000|96000|y|n
prices以 ; 分隔的多项,每项为 model|input|output|cache_read|cache_write_5m|cache_write_1hglm-5|1|3.2|0.2
limits以 ; 分隔的多项,每项为 per|measure|max|every|cache_readsminute|tokens|10000000|5;day|cost|20

headers 中,名称只能使用 HTTP 的 token 字符(字母、数字与 ! # % & ' * + - . ^ _ ` | ~),值为可打印 ASCII 字符,首尾空白会被去除。名称不得重复(不区分大小写)。携带凭据或由网关自行写入的请求头一律拒绝:Authorization、Proxy-Authorization、X-Api-Key、X-Goog-Api-Key、Api-Key、Cookie、Host、Content-Length、Content-Type、Content-Encoding、Transfer-Encoding、Connection、Keep-Alive、Upgrade、TE、Trailer、User-Agent,以及以 Proxy- 或 Sec- 开头的名称。

specs 中,context 与 max_output 为 1 到 10,000,000 之间的 token 数,reasoning 与 image 为 y 或 n。四项都可以留空,但不能全部留空。

prices 中,各单价以美元 / 百万 tokens 计,整数部分与小数部分各最多 6 位。input 与 output 必须填写;缓存单价留空或省略时,等于输入单价。

limits 中,per 为 minute、hour、day、week 或 month,measure 为 requests、tokens 或 cost。请求次数与 token 数的 max 为 1 到 999,999,999,999,999 之间的整数,不以 0 开头;费用的 max 为美元金额,至少 0.01,整数部分最多 9 位、小数部分最多 6 位,不以多余的 0 开头,例如 5 或 0.5。every 为窗口跨越的分钟数(1 到 60)或小时数(1 到 24),只用于 minute 与 hour,留空时为 1。cache_reads 写 y 表示计入缓存读取,只用于 tokens,留空时不计入。末尾留空的几项可以省略,因此 day|cost|5 是完整的一项。per、every、measure 与 cache_reads 都相同的两项不能同时出现。

长度与字符限制:

项目限制
整条链接8192 个字符
name64 个字符;首尾无空白;不含 /、\、$、{、}、<、>、" 与反引号;不能是 . 或 ..;不以 __ 开头
url、oauth_endpoint2048 个字符
key、oauth_client_id、oauth_client_secret、aws_secret_access_key512 个字符;只含字母、数字与 - _ . ~ + / = :
oauth_refresh、aws_session_token4096 个字符;字符范围与 key 相同
aws_access_key_id16 到 128 个大写字母与数字
region32 个字符;只含小写字母、数字与 -
headers最多 16 行;名称最长 64 个字符,值最长 1024 个字符
models、models_only、specs、prices各最多 64 项;模型 ID 最长 128 个字符;specs 与 prices 中同一模型只能出现一次
limits最多 16 项

应用如何处理链接#

  1. **校验链接。**本页的规则全部在应用中执行,与生成链接的页面做过哪些校验无关。
  2. **打开预填好的「新建上游」对话框。**对话框直接停在第二步「连接」,账号登录时为「账号」。步骤条下方的一行说明写明接收请求与密钥的主机,Token 端点的主机不同时一并写明。主机以 ASCII 显示:国际化域名显示为 punycode(xn--…),外形相近的域名无法冒充熟悉的域名。所有值都可以修改;退回第一步改选其他服务类型时,新服务类型不接受的值会被舍弃。
  3. **用户操作之前不写入、不发送。**在第二步选择「下一步」(此时检测连接)或开始登录之前,应用不写入配置,也不向外发出任何请求。
  4. **只创建一个新的上游。**导入不会修改、替换或删除已有的上游,不会把新上游设为默认,也不会把它加入任何路由。名称已被使用时,对话框会要求改用其他名称。同一地址上使用不同密钥的多个上游属于正常用法。
  5. **一次只处理一条链接。**对话框打开期间到达的链接会被忽略。已有「新建上游」或「编辑上游」对话框打开时,到达的链接会被舍弃,正在填写的表单不会被替换。

较新版本的链接#

已安装的应用不认识某个参数时,不再静默忽略:应用显示「无法导入这条链接」,写明该参数;有可用更新时,提供安装更新的按钮。网页形式的处理相同:列出能识别的设置,说明需要更新版本的 ThinkWatch Lite,并仍然提供打开链接的按钮。参数名只在由最多 32 个小写字母、数字与下划线组成时才会显示。

链接不能设置的内容#

任何网页都能打开链接,因此链接只包含用户在对话框中能够判断的内容。链接试图设置以下任一项时,整条链接作废。

不接受原因
出站代理,以及代理不可用时的处理方式链接的提供方不了解用户的网络环境,这两项由用户在对话框中选择。
AWS profile 与环境变量引用(${NAME})它们会让应用读取本机的凭据或环境变量,再发往链接所指的主机。一条 key=${OPENAI_API_KEY} 的链接会把用户自己的密钥发送给中转站。
模型别名、路由、默认上游与路由权重它们会改变已配置客户端的流量去向。
停用开关,以及仅用于检测的 Access Token新上游创建后即为启用状态,Access Token 由 Refresh Token 换取。
账号登录的凭据登录在应用中与服务直接进行。
鉴权、Cookie 与连接相关的请求头请求头不得取代密钥,也不得改变网关发出的身份。
指向公网主机的 http://密钥将以明文经过互联网传输。本机与内网地址接受 http://,并标明不加密。
MCP 服务与客户端配置它们会执行命令或修改其他应用的设置。
图标等展示内容连接不需要它们,且可被用于仿冒熟悉的服务。

这些设置可以在上游创建之后在应用中修改。

示例#

需要两个请求头、并发上限为 4、每 5 分钟最多 10,000,000 token 且每天最多 20 美元、只列出部分模型、按公开价格的 0.8 倍计费并覆盖一个模型价格的中转站(省略 service:该地址识别为自定义上游):

thinkwatch://import?name=example-relay&url=https%3A%2F%2Fapi.relay.example%2Fv1&protocol=openai-chat&key=sk-relay-EXAMPLE&headers=X-Relay-Group%3A%20pro%0AX-Relay-Region%3A%20hk&concurrency=4&limits=minute%7Ctokens%7C10000000%7C5%3Bday%7Ccost%7C20&models=glm-5%2Cglm-5-air&specs=glm-5-air%7C128000%7C96000%7Cy%7Cn&price_multiplier=0.8&prices=glm-5%7C1%7C3.2%7C0.2

同一条链接的网页形式:

https://thinkwat.ch/import#name=example-relay&url=https%3A%2F%2Fapi.relay.example%2Fv1&protocol=openai-chat&key=sk-relay-EXAMPLE&headers=X-Relay-Group%3A%20pro%0AX-Relay-Region%3A%20hk&concurrency=4&limits=minute%7Ctokens%7C10000000%7C5%3Bday%7Ccost%7C20&models=glm-5%2Cglm-5-air&specs=glm-5-air%7C128000%7C96000%7Cy%7Cn&price_multiplier=0.8&prices=glm-5%7C1%7C3.2%7C0.2

使用访问密钥的 Amazon Bedrock,区域为 eu-west-1:

thinkwatch://import?service=bedrock&auth=aws-keys&region=eu-west-1&aws_access_key_id=AKIAIOSFODNN7EXAMPLE&aws_secret_access_key=wJalrXUtnFEMI%2FK7MDENG%2FbPxRfiCYEXAMPLEKEY

ThinkWatch 企业网关。ThinkWatch 企业版控制台中的「添加到 ThinkWatch Lite」按钮会用网关地址与新密钥写出这样的链接:

thinkwatch://import?service=thinkwatch&name=thinkwatch&url=https%3A%2F%2Fai.example.com&key=tw-EXAMPLE

ChatGPT 账号。链接打开登录界面,不含任何凭据:

thinkwatch://import?service=openai&auth=account&name=chatgpt

为更早版本编写、仍然有效的链接:

thinkwatch://import?name=example-relay&url=https%3A%2F%2Fapi.relay.example&protocol=anthropic&key=sk-relay-EXAMPLE

即使识别出的服务类型不接受,为更早版本编写的链接仍然有效:例如官方地址带有其他路径(https://api.openai.com/v1)、Ollama 地址带有 key,或 https://api.deepseek.com 配合 protocol=openai-chat。这样的链接与以前一样创建为自定义上游。

在 New API 站点上#

New API 或 One API 站点不用改代码,就能为每一把密钥提供 ThinkWatch Lite。在站点的系统设置中添加一个聊天预设,名称为 ThinkWatch Lite,地址为:

thinkwatch://import?service=newapi&url={address}&key={key}

站点会填入自己的服务器地址和这一行的密钥,每把密钥的聊天菜单中随之出现这一项。打开它需要 ThinkWatch Lite 2026.10.16 或更新版本;版本更早或没有安装应用时,点击没有反应。

由 Lite 生成#

ThinkWatch Lite 2026.10.25 起也能为已有的上游生成导入链接,把一个上游交给另一台设备或另一位用户。上游行的 ⋯ 菜单中,「查看流量」之后是「分享…」,它打开「分享上游」对话框:

  • 对话框显示网页形式的链接,「复制网页链接」与「复制 thinkwatch:// 链接」分别复制两种形式。网页链接在未安装 Lite 的设备上显示安装说明,# 之后的内容不发送至网站服务器。
  • 「包含密钥」缺省开启,此时对话框提示「链接包含密钥。持有链接即可使用该密钥,请仅通过可信渠道发送。」关闭后链接不含密钥,接收方在对话框中自行填写。
  • 对话框底部列出链接包含与不包含的内容,例如「包含:地址、协议、密钥、2 个模型、余额来源。不包含:出站代理、路由。」

链接写入的内容如下:

内容是否写入说明
服务类型、认证方式、站点、名称、地址、协议(service、auth、site、name、url、protocol)写入—
并发上限、用量上限、转发客户端身份、余额来源、模型列表、只用这些模型、手动规格、计费方式、价格倍率、价目(concurrency、limits、client_identity、balance、models、models_only、specs、billing、price_multiplier、prices)写入与缺省值相同的不写
密钥、请求头、AWS 访问密钥、OAuth 凭据由「包含密钥」决定,缺省写入值写成 ${变量名} 时不能写入,因为链接不接受这种写法;该项省略,并注明原因
出站代理、别名、路由、权重、停用状态、AWS profile不写入导入链接不接受这些参数,见链接不能设置的内容
ChatGPT、Z.ai / BigModel 的账号登录凭据不写入链接只写登录方式,接收方停在登录一步,自行登录
200K 以上的分档价格;含有链接不接受的字符的值不写入对话框底部的「不包含」中注明

链接超过 8192 个字符时(通常因为价目或规格较多),链接形式不可用,对话框写明链接的长度,提示改用配置包;上游无法写成导入链接时同样如此。「导出为配置包…」打开导出对话框,并预先勾选这个上游;口令加密可选,缺省不加密。接收方通过「导入配置…」导入,配置包也能带上上游所用的出站代理等链接不能设置的内容,见同步与备份。

链接的生成与解析遵循本页的同一套规则:生成的链接在同一版本的应用中打开时,「新建上游」对话框中的设置与原上游一致,上表中不写入的内容除外。

链接中的密钥#

含有密钥、Refresh Token 或私有访问密钥的链接本身就是凭据。应为每位客户单独生成链接,并通过私密渠道提供,例如客户自己的控制台。不含密钥的链接会让密钥栏位留空,由用户在对话框中填写。

链接生成器

在浏览器中生成,不发送任何内容。

服务类型
连接
高级设置
模型
计费

选择服务类型并填写设置后生成链接。

最后更新于 2026-10-20 在 GitHub 上编辑