配置 Jz Desk
Jz Desk 本身不附带模型账号,用的是你的账号,并直接与 OpenAI 通信。最快的方式是用 ChatGPT 登录——三步完成,不需要密钥,也不用改任何文件。
- 第 1 步
下载并安装
在下载页获取适合你电脑的版本。所需的一切都在应用里,无需另外安装。
macOS — 打开 .dmg,把 Jz Desk 拖进「应用程序」,再从「应用程序」中打开它。
Windows — 运行安装程序。安装程序暂未签名,Windows 可能提示「Windows 已保护你的电脑」:点击「更多信息」,再点「仍要运行」。装好后从开始菜单打开 Jz Desk。
- 第 2 步
用 ChatGPT 登录
首次启动时,Jz Desk 会让你连接账户。点击「使用 ChatGPT 账户登录」:浏览器会打开 OpenAI 的登录页,在那里登录后,Jz Desk 会自动完成登录。用量计入你的 ChatGPT 套餐,无需创建 API 密钥。
- 第 3 步
选个文件夹,提个问题
选择一个让 Jz Desk 工作的文件夹,交给它一件事——问问里面有什么就行。收到回复,就说明配置好了。
改用 API 密钥
应用的登录界面只提供 ChatGPT 登录。想改用 OpenAI API 密钥,把它保存到一个文件里即可,之后 Jz Desk 会跳过登录界面。以下情况适合这样做:
- 你通过中转或代理服务访问,它提供自己的密钥和地址,而不是直连 OpenAI;
- 你的网络打不开 OpenAI 的登录页;
- 比起 ChatGPT 套餐,你更想在 API 账户上按 token 付费。
- 第 1 步
先打开一次 Jz Desk,然后退出
按上面的方法安装并打开。出现登录界面时退出:macOS 按 ⌘Q;Windows 在任务栏通知区域右键 Jz Desk 图标,选择 Quit——直接关窗口只会把它藏起来。第一次启动会创建后续步骤要写入的配置文件夹。
- 第 2 步
保存密钥
把命令里的 sk-your-key 换成你自己的密钥后运行。它会整个替换登录文件,包括已有的 ChatGPT 登录——请用这条命令,不要手动把密钥加进文件,否则 Jz Desk 仍会沿用原来的 ChatGPT 登录。如果提示找不到文件夹,说明你的设置来自文件夹改名之前:把命令里的 .jz-desk 换成 .jz-code,下一步也一样。
macOS — 在「终端」中运行:
echo '{"auth_mode": "apikey", "OPENAI_API_KEY": "sk-your-key"}' > ~/.jz-desk/auth.json && chmod 600 ~/.jz-desk/auth.jsonWindows — 在 PowerShell 中运行:
Set-Content -Encoding ascii "$HOME\.jz-desk\auth.json" '{"auth_mode": "apikey", "OPENAI_API_KEY": "sk-your-key"}' - 第 3 步
用中转或代理?把 Jz Desk 指向它
如果你的密钥是直连 OpenAI 的,跳过这一步。否则打开配置文件:把开头的 model_provider 这一行改成下面第一段的样子,再把第二段加到文件最末尾,base_url 填中转服务的地址。如果文件里有 openai_base_url 这一行,删掉它。
macOS — 用「文本编辑」打开:
open -e ~/.jz-desk/config.tomlWindows — 用记事本打开:
notepad "$HOME\.jz-desk\config.toml"model_provider = "relay"
[model_providers.relay] name = "Relay" base_url = "https://your-relay.example.com/v1" wire_api = "responses" requires_openai_auth = true
- 第 4 步
再次打开 Jz Desk
它会读到密钥,直接进入。选个文件夹问个问题,确认能用。
中转地址通常以 /v1 结尾,且必须支持 OpenAI Responses API——只提供 chat completions 的中转用不了。请用上面这段配置,而不是 openai_base_url:用 openai_base_url 时,Jz Desk 会通过 WebSocket 连接中转,很多中转接受了连接却从不回应,于是每条消息都会一直等下去。
在 ChatGPT 和密钥之间切换
- 从 ChatGPT 换成密钥:按上面第 2 到第 4 步操作即可,不用重装。
- 从密钥换回 ChatGPT:退出 Jz Desk,删掉 auth.json;如果加过中转,把 model_provider 改回 "openai"。文件里如果有 model 这一行,也一并删掉——提供给 API 密钥的最新模型在 ChatGPT 登录下会被拒绝。再打开 Jz Desk,它会重新让你登录。
- 卸载 Jz Desk 不会删除配置文件夹,重装后会沿用之前的登录和设置。
所有内容都在一个文件夹里:macOS 是 ~/.jz-desk,Windows 是 %USERPROFILE%\.jz-desk。auth.json 存登录信息,config.toml 存设置。在文件夹改名之前就装过 Jz Desk 的电脑会保留原来的 .jz-code,Jz Desk 也继续用它。
选择模型
在应用的模型选择器里选择模型;两种登录方式各有自己的默认模型。用 ChatGPT 登录时,你能用的是 OpenAI 在 Jz Desk 中为你的账号提供的模型,具体取决于你的 ChatGPT 套餐,可能只包含 GPT-6 系列中的一部分。用密钥时,你能用 GPT-6 系列,默认是 GPT-6.1-Sol;你的密钥或中转服务提供的其他模型也都能按名称使用。较小或较旧的模型在较长的多步骤任务上会比较吃力。
设置模型选择器里列出哪些模型
用 ChatGPT 登录时,选择器列出的是 OpenAI 为你的账号提供的模型;用密钥时,列出的是 Jz Desk 自带的 GPT 模型。想列出自己的——比如正好是中转服务提供的那些——把下面这样的模型列表存成一个 JSON 文件。它会替换整个列表,两种登录方式下都是,所以要把想用的模型都写进去:slug 是你的账号或中转服务提供的模型 id,visibility 设为 "list" 才会出现在选择器里,base_instructions 是模型工作时遵循的基本指令。
{
"models": [
{
"slug": "gpt-6.1-sol",
"display_name": "GPT-6.1-Sol",
"description": "Through our relay",
"base_instructions": "You are Jz Desk, an AI assistant working on the user's computer. Be precise and concise.",
"visibility": "list",
"priority": 1,
"supported_in_api": true,
"shell_type": "unified_exec",
"default_reasoning_level": "medium",
"supported_reasoning_levels": [
{ "effort": "low", "description": "Faster" },
{ "effort": "medium", "description": "Balanced" },
{ "effort": "high", "description": "Deeper" }
],
"support_verbosity": true,
"truncation_policy": { "mode": "tokens", "limit": 10000 },
"context_window": 272000,
"experimental_supported_tools": []
}
]
} 然后在 config.toml 里把 model_catalog_json 指向这个文件的完整路径——必须是你电脑上的文件,不能是网址——再重新打开 Jz Desk。这一行要放在文件开头部分,任何 [段落] 之前。Windows 上请保留单引号,这样反斜杠会按原样读取:
model_catalog_json = "/Users/you/.jz-desk/models.json" model_catalog_json = 'C:\Users\you\.jz-desk\models.json'
如果不工作
- 浏览器登录一直完成不了
- 在 Jz Desk 显示已登录之前,不要关闭浏览器标签页——最后一步要把登录结果交回你电脑上的应用。如果 OpenAI 的页面根本打不开,说明你的网络访问不到它,请改用 API 密钥并通过中转服务访问(见上文)。
- 一直等待,没有回复
- 用中转时,最常见的原因是设置了 openai_base_url:这时 Jz Desk 会尝试 WebSocket,很多中转接受了连接却从不回应。请改用第 3 步里的那段配置。否则就是地址不可达——检查地址,或检查网络能否访问 OpenAI。注意:旧版本留下的 config.toml 不会被覆盖,里面可能还留着旧设置。
- 模型不受支持
- 该模型不在你账号可用的范围内。用 ChatGPT 登录时,请从选择器里选一个模型,或删掉 config.toml 里的 model 这一行;用密钥时,请用你的密钥或中转服务提供的模型 id。改完后新建一个会话——已有会话会沿用创建时的模型。
- 401 或 403
- 用密钥时:密钥输错、已过期,或账户没有开通计费——用第 2 步的命令重新保存。如果密钥没错却仍提示无效,说明 auth.json 还处在 ChatGPT 模式,通常是手动把密钥加进文件造成的;运行第 2 步的命令即可。用 ChatGPT 时:登录已失效,删掉 auth.json 再打开 Jz Desk 重新登录。
- Windows 上保存密钥的命令出错
- 请在 PowerShell 而不是命令提示符中运行,并且要在打开过一次 Jz Desk 之后——在那之前,它要写入的文件夹还不存在。