← 返回列表
未验证
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
扫码进群