DeepSeek Harness Hub
← 返回列表

patrickluvsoj/dsh-llm-nous

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

dsh-llm-nous 🚀

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/28 · 已提供中文文档

DeepSeek Harness 的 Nous Portal LLM 插件包

综合分
28.6
GitHub 分
28.6
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add patrickluvsoj/dsh-llm-nous
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-llm-nous 🚀

为 DeepSeek Harness 提供一条直通 Nous Portal 模型自助餐的线路——无需 fork Harness,也无需改动其核心。

dsh-llm-nous 是一个独立的 Harness 插件包。它注册了一条 nous 提供商路由,使用 Nous 的 OpenAI 兼容 API,并将提供商特有的怪异之处留在它该在的地方:插件内部。

你将获得

- 提供商路由: nous
- Nous API: https://inference-api.nousresearch.com/v1
- 凭据: NOUS_API_KEY
- 流式传输: OpenAI 兼容的 SSE,包括 Nous 不带 [DONE] 的干净 EOF
- 推理: OpenAI 兼容的 delta.reasoning
- 模型: 对选择器友好的默认值,以及通过配置指定任意 Nous 模型 ID
- 默认输出上限: 8,192 个生成 token——当所选模型有空间时可以提高
- Harness 核心改动: 无

安装

npm 是可选的。选择你喜欢的口味:

GitHub — 最便于分享
dsh plugin --profile web add github:patrickluvsoj/dsh-llm-nous

本地检出
dsh plugin --profile web add /absolute/path/to/dsh-llm-nous

Tarball
dsh plugin --profile web add ./dsh-llm-nous-0.1.0.tgz

npm,如果以后发布到那里的话
dsh plugin --profile web add dsh-llm-nous

对于 Harness 源码检出,请在前两条命令前加上 pnpm,并在安装命令中添加 --ignore-workspace-root-check:

pnpm dsh plugin --profile web add --ignore-workspace-root-check github:patrickluvsoj/dsh-llm-nous

添加你的 Nous 密钥

export NOUS_API_KEY='your-nous-portal-key'

对于源码检出,使用被 gitignore 的 .env 也可以:

NOUS_API_KEY=your-nous-portal-key

密钥应放在环境变量或 Harness 的凭据存储中——而不是放在 Cordis YAML、Git、截图或包文件中。小小的安全常识;文明又能多存活一天。

启动 Harness

dsh --profile web

或者从 Harness 源码检出启动:

pnpm dsh --profile web

该插件包将新会话默认设为:

deepseek/deepseek-v4-flash-0731

该模型是付费的,需要 Nous Portal 有可用额度。该插件包还会从按使用量排名的目录中推荐这个免费模型:

poolside/laguna-s-2.1:free

选择模型

Web 仪表盘:指指点点,选模型

Harness 在 Settings → Models 中展示已配置的提供商。加载 dsh-llm-nous 后,Nous 提供商及其推荐的模型可以出现在模型选择器中。

这是上游 Harness 的模型设置 UI;安装 Nous 插件包后,Nous 卡片/模型条目才会出现。

在选择器中选择一个模型,它就会成为新会话的默认模型。已经发送过请求的会话会保留记录在其自身日志中的提供商/模型。模型更改会在下一次请求时生效;普通的选项更改无需重启服务器。

搜索完整的 Nous 目录并固定收藏
使用当前的 Harness composer 选择器,实时的 Nous 目录不再被塞进一个笨重的下拉菜单中。选择器会将每个提供商的前 12 个模型保持紧凑显示,然后让你可以:

- 搜索 Nous Portal 返回的每一个兼容模型,覆盖提供商名称、模型名称、精确模型 ID 和描述;
- 展开某个提供商,无需搜索即可浏览其完整目录;
- 通过模型旁的星标操作,固定或取消固定某个确切的 Nous 模型;
- 在配置文件范围内保留收藏,因此固定的模型会在各会话之间以及重启 Harness 后始终保持在顶部;
- 即使 Nous 之后从公布的目录中移除当前模型,也仍然保持其可见。

搜索所有 Nous Portal 模型并固定收藏

实时发现是默认方式(catalogMode: live)。该插件会向配置的 Nous 端点发起经过身份验证的 GET /models 请求,并将兼容的实时路由合并到选择器中。以下十二条精选路由会始终固定在最前面,并保留其在 OpenRouter 过去一周使用量中的排名:

deepseek/deepseek-v4-flash-0731
xiaomi/mimo-v2.5
tencent/hy3
deepseek/deepseek-v4-flash
openai/gpt-5.6-luna
z-ai/glm-5.2
google/gemini-3.7-flash
deepseek/deepseek-v4-pro
minimax/minimax-m3
poolside/laguna-s-2.1:free
anthropic/claude-opus-5
openai/gpt-5.6-sol

该排名衡量的是按提示加补全 token 量计算的使用情况,而不是模型质量。仅 OpenRouter 提供的路由以及 Nous 中不存在的变体会被跳过。来源与署名:OpenRouter rankings,截至 2026-08-25。运行时不会查询 OpenRouter;运行时发现只会调用配置的 Nous /models 端点。该请求会携带解析后的 Nous bearer 凭据以及 Harness 标准的、非机密的 User-Agent 署名标头。

合并过程是确定性的:

- 配置/精选的 models 保持在前,按配置顺序排列,并且它们的名称、描述、上下文窗口和输出上限优先于冲突的实时元数据;
- 兼容的实时剩余项按显示名称排序,然后按精确模型 ID 排序;
- 空 ID 和重复 ID、:batch 路由、诸如 ~latest 的波浪号别名、已过期路由、非文本输出路由、没有文本输入的路由,以及显式 supported_parameters 数组缺少 tools 的条目都会被省略;
- 当多模态路由能够接收并生成文本时会被接受,但此适配器仅声明文本输入,因为其序列化器不接受图像内容。
listModels() 和精确模型解析在成功获取实时快照后,会共享同一份快照,有效期为 1 小时。每次刷新限制为 5 秒,响应字节数上限为 4 MiB。在首次成功刷新之前——或凭据缺失时——配置/精选列表仍然可用。成功之后,过期的快照会立即返回,同时后台运行一次刷新。如果刷新失败,最后一次成功的快照仍然可用,并且凭据/目录重试默认暂停 1 分钟。API 密钥和原始目录响应永远不会被缓存或写入磁盘。

Nous 目录要大得多。可以通过显式设置来传入发现结果中省略的模型 ID,该 ID 会原样传递;随后它会使用插件范围的上下文和输出默认值。

终端/无头模式:直接配置

该插件不会添加单独的终端选择器命令。对于终端或无头运行,请使用普通的 Harness 补丁选择模型:

- id: agent-default-model
config:
provider: nous
model: stepfun/step-3.7-flash:free

运行它:

dsh --profile headless --patch ./nous-model.cordis.yml \
'Reply with exactly: NOUS_OK'

使用任意精确的 Nous 模型 ID

创建 nous-model.cordis.yml:

- id: agent-default-model
config:
provider: nous
model: openai/gpt-oss-120b

然后启动:

dsh --profile web --patch ./nous-model.cordis.yml

适配器会将模型 ID 原样传递给 Nous。该模型不必出现在公布的目录中。

配置模型发现

默认值为实时发现、成功响应缓存 1 小时、请求超时 5 秒、失败刷新冷却 1 分钟:

- id: llm-nous
config:
apiKeyEnv: NOUS_API_KEY
baseURL: https://inference-api.nousresearch.com/v1
catalogMode: live
catalogCacheTtlMs: 3600000
catalogTimeoutMs: 5000
catalogRetryCooldownMs: 60000
models:
- id: deepseek/deepseek-v4-flash-0731
name: DeepSeek V4 Flash 0731
contextWindow: 1310720

models 是有序的精选列表,也是在实时发现尚未成功时使用的回退列表。它与用户在选取器中固定的收藏项是分开的。提供 models 会替换内置的十二项列表。设置 catalogMode: curated 可完全禁用 /models 请求,并仅公开此配置的列表。catalogCacheTtlMs、catalogTimeoutMs 和 catalogRetryCooldownMs 必须是正整数毫秒值,且不得大于平台计时器限制。冷却时间在初始刷新或后台刷新失败后生效,防止在冷却到期前重复进行凭据查找和 /models 请求。

补丁会替换整个目标配置,因此在覆盖发现设置时请保留 apiKeyEnv 和 baseURL。

调整输出预算
maxTokens 限制单次响应生成的 token 数量。这包括可见文本、推理内容以及模型生成的工具调用。它不是对话记忆的限制;对话记忆的限制是模型的上下文窗口。

为具有足够上下文的模型提高该值:

- id: llm-nous
config:
apiKeyEnv: NOUS_API_KEY
baseURL: https://inference-api.nousresearch.com/v1
maxTokens: 32768

补丁会替换整个目标配置,因此在覆盖 llm-nous 时请保留 apiKeyEnv 和 baseURL。

也支持按模型设置上限:

- id: llm-nous
config:
apiKeyEnv: NOUS_API_KEY
baseURL: https://inference-api.nousresearch.com/v1
maxTokens: 32768
models:
- id: stepfun/step-3.7-flash:free
contextWindow: 256000
maxTokens: 8192
- id: deepseek/deepseek-v4-pro-0813
contextWindow: 1048576
maxTokens: 32768

生效优先级:

显式请求的 maxTokens
→ 模型特定的 maxTokens
→ 插件范围的 maxTokens
→ 8,192 默认值

验证配置

检查组合后的 profile:

dsh --profile web --dump-config

查找 dsh-llm-nous 层和 provider: nous。

运行一个简单的冒烟测试:

dsh --profile headless \
--patch ./nous-model.cordis.yml \
'Reply with exactly: NOUS_OK'

故障排除

HTTP 404 并提及 credits

请求已到达 Nous,但所选模型是付费的,且 Portal 账户没有可用 credits。请选择免费模型或添加 credits。

HTTP 400 并提及 context length

请求的输出上限加上提示词、对话和工具定义超过了模型的总上下文窗口。请降低 maxTokens 或选择具有更大上下文的模型。

MISSING_CREDENTIAL

Harness 找不到 NOUS_API_KEY。请在启动环境中导出它,或通过 Harness 凭据 UI 存储它。

DUPLICATE_ADAPTER

有两个插件正在注册 nous 路由。请确保 profile 中只有一个 dsh-llm-nous 包处于活动状态。

开发

pnpm install
pnpm run build
pnpm test

运行时产物是 lib/index.mjs。它打包了其运行时依赖,因此已安装的包不需要同级的 Harness 检出。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群