Phoeky/dsh-scnet-connect ↗★ 3

dsh-scnet-connect

把 SCNet 模型接入 DeepSeek Harness,可免客户端登录,使用免费模型(SCNet-Max,基座基本可确定为 DeepSeek Flash)

套件
dsh-scnet-connect
相容性
待驗證
Harness 依賴範圍
>=0.2.0-rc.1 <0.3.0-0 || >=0.2.1-rc.1 <0.2.2-0 || >=0.2.2-rc.1 <0.2.3-0 || >=0.2.3-rc.1 <0.3.0-0
版本
1.1.0
授權
MIT
最近更新
2026年11月9日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Phoeky/dsh-scnet-connect

使用

在 DSH 的模型选择器里选 SCNet Connect → SCNet-Max。

设置页可以:

功能说明
查看账号用户名、ID、脱敏手机号、登录态剩余天数
登录 / 退出短信登录;退出后插件停止供 Key,可随时「恢复使用」
只显示免费模型默认开启。关闭后会把目录里所有模型都注册出来(可能产生费用)
刷新模型重新读模型目录并用网关校验可用性

模型开关


配置

全部有默认值,一般不用改。需要时在 profile 的 cordis.patch.yml 里给 entry 加 config:

- id: scnet-connect
  name: dsh-scnet-connect
  config:
    freeOnly: true           # 只注册免费模型(默认开)
    credentialSource: auto   # auto | client | login
    modelIds: ''             # 逗号分隔;留空 = 自动发现
    contextWindow: 0         # 0 = 跟随目录/默认
    maxTokens: 0             # 0 = 跟随目录/默认

全部字段

字段默认说明
credentialSourceautoauto 先客户端再登录;client 只用客户端;login 只用设置页登录
freeOnlytrue只注册 priceLabel=free 的模型
credentialDir空默认 ~/.sclaw/agent/scnet-credentials
apiKey空直接指定 Key(会明文存在配置文件里)
baseUrlhttps://api.scnet.cn/api/llm/v1网关地址
modelIds空指定模型 id,逗号分隔
modelName空自定义显示名(仅单模型时生效)
contextWindow / maxTokens0覆盖上下文/输出上限
inputImagestrue是否声明接受图片
reasoningtrue是否声明支持思考等级
verifyWithGatewaytrue刷新时用 GET /models 校验
retryOnTransientErrorstrue把 SCNet「5xx 却标成 invalid_request_error」的瞬时抖动改写成可重试的服务端错误(见下)

关于 retryOnTransientErrors

SCNet 在推理实例切换/回收时会返回这种响应:

HTTP 503
{"error":{"message":"The model's routing or availability changed while processing the request. Please try again.","type":"invalid_request_error","code":"10008"}}

状态码是 5xx,但响应体 type 写的是 invalid_request_error。DSH 的错误归类按正则顺序扫描文本,invalid.?request 排在 5xx → SERVER 前面,于是把它判成 INVALID_REQUEST(不可重试),一次退避都不做,本轮直接失败。

插件默认把这层归一化打开:只针对「状态码 ≥ 500 且 type 是 invalid_request_error」的响应,把 type 改写为 api_error(状态码与 message 原样保留),让归类落到 SERVER,交给 DSH 的 5 次指数退避重试。

刻意不碰的:真正的 400(如参数错误 10013)、401/403/402/429、以及 2xx 流式响应。

实测(本地假网关,前 2 次返回上述 503):

配置chat 请求数结果
retryOnTransientErrors: false2(无重试)失败,code: INVALID_REQUEST
retryOnTransientErrors: true(默认)4(2 次 503 后成功)正常完成