OrcaTerm Model Proxy:把 OrcaTerm 网页版的免费模型接入 DSH

前言

用 DSH 做智能体开发时,模型通常要自己找 API key、自己管额度和续费。如果你有腾讯云账号,OrcaTerm 网页版提供了一组免费模型,可以直接用,但网页端没法接入 DSH 的工具调用流程。下面介绍的插件 lyp0709/orcaterm-model-proxy 做的就是这件事:把 OrcaTerm 网页版的免费模型接入 DeepSeek Harness(DSH),支持一键登录、工具调用与图片识别。它由 lyp0709 维护,分类属于「模型推理」,零运行时依赖,安装时不需要构建步骤。

插件是第三方集成,与腾讯云 / OrcaTerm 官方无关。使用前请自行确认符合 OrcaTerm 的服务条款。

核心功能

插件实现的是 DSH 的模型接入层,能力如下,全部来自项目 README 的说明。

  • 接入 8 个免费模型:DeepSeek V4.1 Flash / V4 Flash / V4 Pro、Kimi K3、GLM 5.3 Flash / 5.3 / 5.2、Hunyuan 3。
  • 凭证自动续期:只需配置一次,之后长期自动续期,不需要反复更新。
  • 工具调用:DSH 注册的工具由本机执行,模型可以读取文件、执行命令等。
  • 图片识别:可以把图片发给模型;DeepSeek V4.1 Flash、Kimi K3 支持,GLM 5.3 不接受图片。
  • 可视化设置面板:模型选择、推理强度、账号状态、额度查询、调用统计。

安装与启用

从 GitHub 安装(推荐)

在 DSH 终端执行:

dsh plugin --profile desktop add github:lyp0709/orcaterm-model-proxy

也可以从本地目录安装,把路径换成你本地的仓库目录:

dsh plugin --profile desktop add "D:\path\to\orcaterm-model-proxy"

或者在 DSH 里直接对 AI 助手说:帮我安装这个插件:github.com/lyp0709/orcaterm-model-proxy。安装完成后重启 DSH 才能生效。

配置凭证(一键登录)

插件需要 OrcaTerm 的登录凭证,只需登录一次,之后自动续期。

  1. 打开 DSH 设置,找到 OrcaTerm 面板,登录区块在最上面。
  2. 点「一键登录」。
  3. 插件自动弹出一个独立的浏览器窗口,与你日常使用的浏览器完全隔离。
  4. 在这个窗口里用腾讯云账号登录,支持微信扫码、QQ、GitHub、账号密码等方式。
  5. 登录成功后无需操作,插件会自动检测并读取凭证,然后关闭窗口。
  6. 面板显示「登录成功,凭证已生效」即完成。

一键登录的原理是:插件用独立 profile 启动 Edge/Chrome 并开启 --remote-debugging-port,导航到 orcaterm.ai/terminal 让用户完成登录,再通过 CDP 的 Network.getCookies 读取 __Secure-ot_session,拿到后立即关闭浏览器并保存凭证。浏览器把 Cookie 加密存储,第三方进程无法解密,但浏览器自己可以,所以这条路是通的。这个过程只读取 orcaterm.ai 一个域名的 Cookie,不触碰日常浏览器数据。

如果自动登录不可用,可以走手动方式:

  1. 点「手动输入」展开,点「打开登录页」,用浏览器登录。
  2. 按 F12 → Application 标签 → Cookies → 选中 https://orcaterm.ai。
  3. 找到 __Secure-ot_session,双击 Value 列全选复制,约 80 个字符。
  4. 粘贴到输入框,点「保存并校验」。也可以直接复制整条 Cookie 请求头,插件会自动提取需要的部分。

需要一个腾讯云账号。首次使用腾讯云可能需要完成实名认证等前置步骤;OrcaTerm 目前提供免费额度,AI 功能为单一额度池,不按模型区分。

使用

配置完成后,在 DSH 的模型选择器里就能看到 OrcaTerm 提供的模型。设置面板里还可以调整这些选项:

选项 说明
默认模型 未指定时使用的模型
推理强度 low / medium / high
显示思考过程 是否显示模型的推理过程
工具调用 是否允许模型使用 DSH 的工具
图片识别 是否把图片发给模型
失败重试 网络错误、限流时的重试次数
备用模型 主模型失败时自动切换
超长会话裁剪 历史超过阈值时自动丢弃最老对话;可关闭

在「可用模型」里,每个模型都有「启用 / 停用」按钮。停用后该模型不再出现在 DSH 的模型选择器里,也无法被设为默认模型或备用模型;如果停用的正是当前默认模型,会自动切换到第一个可用模型;如果停用的正是备用模型,备用设置会被清空。停用状态写入 ~/.dsh/orcaterm-config.json,下次启动仍然生效。

至少要保留一个启用的模型,否则插件没有可用模型,选择器会空掉,所以最后一个模型的「停用」按钮是禁用的。适用场景是:某个模型经常超时或答非所问时,把它停用,避免在选择器里误选。

上下文长度与裁剪

服务端容量很大,真正的瓶颈是模型注意力。以下数据全部来自项目 README 的实测。

容量:至少 120 万字符

档位(目标 token) 实际字符数 请求体 耗时 结果
256k 300,331 0.86 MB 13–19s HTTP 200
500k 600,331 1.72 MB 19–23s HTTP 200
1M 1,200,331 3.43 MB 15–16s HTTP 200

三档全部正常返回,既不报超限,也不静默截断。验证方式是在文档首部和尾部各埋一个标记,两处都能被模型读到。

可靠性:约 20 万字符是上限

在 600,000 字符的文档里把标记放在不同位置,看模型能否找到:

位置 1% 2% 5% 10% 20% 30% 50% 70% 90% 95% 99% 100%
能否读到 是 是 是 否 否 否 否 否 否 是 是 是

首尾能读到,中间全部丢失。长度递增测试进一步确认边界:

文档长度 首部 1% 中部 50% 尾部 99%
20,000 是 是 是
50,000 是 是 是
100,000 是 是 是
200,000 是 是 是
400,000 是 否 否
600,000 是 否 是

这是大模型的 lost-in-the-middle 现象,与 OrcaTerm 无关。上游完整地把内容传给了模型,但模型注意力只覆盖首尾。对照实验确认模型没有编造:不放标记时它如实回答「未找到」。

其他硬限制与插件的处理

项目 限制
单次输出 max_tokens 硬上限 8,096,超出被服务端拒绝
超限表现 服务端报错,特征为 context_length_exceeded / too many tokens / prompt is too long

插件的处理有三步:

  1. max_tokens 夹紧,传入值超过 8,096 时自动下调,避免请求被拒。
  2. 主动历史裁剪,默认阈值 200,000 字符。超出时丢弃最老对话,保留 system 消息(永不丢弃)、最近 8 条对话,以及成对的工具调用与结果(不会从中间切断)。
  3. 超限提示,万一服务端仍报超限,翻译成「输入超出上下文上限,建议新建会话或精简需求」。

裁剪阈值可在设置面板调整,范围 40,000 ~ 1,000,000,或关闭。调高阈值能容纳更多历史,但模型可能漏读中间部分:超出 20 万字符后,多保留的内容不一定被模型真正用到。关闭裁剪(始终全量发送)同理。

工作原理

插件实现了 DSH 的 LlmAdapter 接口,把 DSH 的请求翻译成 OrcaTerm 的 ACP 协议:

  1. 认证:用 __Secure-ot_session 换取 JWT access token,有效期 2 小时,自动续期。
  2. 对话:调用 OrcaTerm 的 SSE 流式接口,把事件映射成 DSH 的 chunk。
  3. 工具调用:把 DSH 的工具清单写进系统提示位,模型返回工具请求后由 DSH 在本机执行,结果回传。
  4. 图片:把 DSH 的图片附件转成 base64 放进 input.files。
  5. 长度管理:max_tokens 夹紧 + 历史裁剪。

工具始终在本机运行,OrcaTerm 服务器只负责转发调用描述与执行结果。

隐私说明

插件会做什么:

  • 一键登录时启动一个独立的浏览器窗口,用户数据目录为 ~/.dsh/orcaterm-login-profile,与日常使用的浏览器完全隔离。
  • 通过 Chrome DevTools Protocol 读取 orcaterm.ai 这一个域名的 __Secure-ot_session Cookie。
  • 读到凭证后立即关闭该浏览器窗口。

插件不会做什么:

  • 不读取日常浏览器的任何数据。
  • 不读取其他网站的任何 Cookie。
  • 不把凭证发送到除 OrcaTerm 官方接口以外的任何地方。
  • 不在后台常驻浏览器进程。

本地存储的文件如下:

文件 内容
~/.dsh/orcaterm-cookie.txt 仅 __Secure-ot_session 一个值
~/.dsh/orcaterm-token.json 短期 JWT 缓存(2 小时)
~/.dsh/orcaterm-usage.json 本地调用统计
~/.dsh/orcaterm-login-profile/ 登录专用浏览器数据,可在面板「清除登录缓存」删除

已知限制

  • 仅支持腾讯云账号登录,不支持 OrcaTerm 独立账号。
  • OrcaTerm 不提供 token 用量数据,因此 DSH 的 token 统计面板不会显示本插件的用量。插件自带的调用统计(次数、耗时、首字延迟)是准确的。
  • 图片识别的模型支持不一致:GLM 5.3 收到图片会报错(插件会自动跳过),Hunyuan 3 识图不准确。
  • 模型列表是内置的,OrcaTerm 调整模型时需要更新插件版本。
  • 单次输出上限固定为 8,096 token,这是上游限制,插件无法提高。
  • 超过约 20 万字符后模型会漏读中间内容(lost-in-the-middle),这是大模型的通病,不是本插件或 OrcaTerm 的问题。
  • 裁剪会丢失早期对话细节。如果任务依赖很早期的上下文,建议关闭裁剪或新建会话。

故障排查

设置面板的「诊断」可查看最近一次调用的详情,也可以直接访问:

http://127.0.0.1:<DSH端口>/api/orcaterm/diag

常见问题及处理:

现象 原因与处理
一键登录没弹出浏览器 确认安装了 Edge 或 Chrome;关闭同名浏览器窗口后重试
一键登录提示端口占用 可能有残留浏览器进程,重启或改用手动输入
登录后未检测到凭证 登录完成后让窗口保持打开几秒;仍失败则用手动输入
提示凭证无效 登录状态过期,点「重新登录」
模型不返回内容 检查是否触发限流(上游限制约 2 秒 1 次)
图片识别失效 确认用的是 DeepSeek 或 Kimi 模型,且设置里「图片识别」已开启
工具调用失败 确认「工具调用」已开启;GLM 5.3 对图片会 400

诊断接口的关键字段:imageCount / imageSkipped(图片是否送达)、toolReported(工具结果是否回传)、roleBreakdown(消息结构)、isToolFollowUp(是否工具回灌轮)。

适用场景与注意事项

适合的场景:已有腾讯云账号、希望用免费额度跑 DSH 智能体,并且需要工具调用或图片识别的开发者。插件零运行时依赖、不需要构建步骤,接入成本低;凭证只登录一次就会自动续期,长期使用不需要反复维护 key。

几个需要注意的点:

  1. 插件以当前 DSH 进程权限运行,一键登录会拉起浏览器并用本机回环端口收诊断信息。安装前应先读一遍源码,确认与自己的安全要求相符,再决定是否启用。许可证是 MIT,仓库地址见文末。
  2. 它是第三方集成,与腾讯云 / OrcaTerm 官方无关。模型可用性、免费额度和账号登录方式由 OrcaTerm 决定,插件作者不控制上游。
  3. 图片识别、工具调用都依赖设置面板里对应的开关,出问题时先查开关再看诊断接口。

结尾

这个插件的价值在于把一个网页端免费模型入口接到了 DSH 的插件体系里,登录一次即可在模型选择器里切换 8 个模型,工具执行留在本机,上下文长度和裁剪行为也有明确边界和实测数据支撑。如果你需要在 DSH 里使用免费模型,可以先按上面的步骤装起来试一轮。

目录页:https://www.skillhub.cn/plugins/lyp0709/orcaterm-model-proxy
GitHub:https://github.com/lyp0709/orcaterm-model-proxy

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜