🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

本地模型子代理 SnowRikka/dsh-llama-responses

DeepSeek Harness
SnowRikka71 天前有提交已提供中文文档扫描:未发现敏感能力

把子代理请求路由到本地 llama.cpp 模型,省下 API 成本

28.3/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/9/18 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add SnowRikka/dsh-llama-responses
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
数据截至 2026/10/07·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/03·判据 →
还在维护吗[仓库]—
更新放缓:最近一次提交在 71 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

发起外部网络请求
查看扫描证据(共 1 处,展示前 1 条)
  • 发起网络请求
    adapter.js:167
    resp = await fetch(url, {
扫描于 2026/11/3(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-llm@deepseek-ai/cordis@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 路由子代理请求至本地模型
  • 降低API调用成本

DeepSeek Harness 插件:通过 OpenAI Responses(/v1/responses)协议在本地 llama.cpp 模型上跑子代理——LLM 适配器 + 委派技能

README

由 DeepSeek 最新模型翻译生成
dsh-llama-responses DeepSeek Harness(dsh)的本地大模型适配器插件:OpenAI Responses 协议(/v1/responses),对接本地 llama.cpp llama-server。 用途:dsh 主代理继续用 DeepSeek 官方 API,子代理(spawn/fork)路由到本地模型,省 API 成本。 隔离设计(重要):所有子代理不继承父对话——subagent_fork 已通过 patch 重定向到 spawn 提供方 (provider: spawn),两个委派工具的子代理都只看到父代理下发的指令文本,父会话任何内容 (含已完成轮次)都不会进入子代理上下文,避免上下文膨胀与信息泄漏。父代理要传递背景, 必须显式写进委派指令。(已实测:父对话中的信息子代理明确回答"看不到"。) 重要提示(子代理走本地模型的前置操作) 已知坑:每次启动必须先在 DeepSeek Harness 中手动选择一次本地的 qwen3.8-27b 并提问一次,然后把主代理换回 DeepSeek V4 模型——之后子代理才会正常走本地的 qwen3.8-27b。不做这一次"本地提问再切回", 子代理不会正常路由到本地模型。
展开完整文档(README 剩余 1 节)
dsh-llama-responses

DeepSeek Harness(dsh)的本地大模型适配器插件:OpenAI Responses 协议(/v1/responses),对接本地 llama.cpp llama-server。

用途:dsh 主代理继续用 DeepSeek 官方 API,子代理(spawn/fork)路由到本地模型,省 API 成本。

隔离设计(重要):所有子代理不继承父对话——subagent_fork 已通过 patch 重定向到 spawn 提供方
(provider: spawn),两个委派工具的子代理都只看到父代理下发的指令文本,父会话任何内容 (含已完成轮次)都不会进入子代理上下文,避免上下文膨胀与信息泄漏。父代理要传递背景,
必须显式写进委派指令。(已实测:父对话中的信息子代理明确回答"看不到"。)

重要提示(子代理走本地模型的前置操作)

已知坑:每次启动必须先在 DeepSeek Harness 中手动选择一次本地的 qwen3.8-27b 并提问一次,然后把主代理换回 DeepSeek V4 模型——之后子代理才会正常走本地的 qwen3.8-27b。不做这一次"本地提问再切回", 子代理不会正常路由到本地模型。

安装(生态方式)

方式一:dsh 官方插件命令(推荐)
dsh plugin --profile web add git+https://github.com/SnowRikka/dsh-llama-responses.git

方式二:手动软链(便于改源码)
git clone https://github.com/SnowRikka/dsh-llama-responses.git ~/dsh-llama-responses
ln -sfn ~/dsh-llama-responses ~/.dsh/profiles/web/node_modules/dsh-llama-responses

包内自带 cordis.patch.yml(bundle 层,注册默认适配器)与 skill/(委派规范 skill, package.json 的 dsh.skills 声明)。装好后按下文 patch 把子代理路由到 provider: llama-responses 即可。npm 未发布前,以上两种方式等效。

文件

| 文件 | 说明 |
| index.js | 插件入口:Config schema + ctx.llm.registerAdapter(['llama-responses'], ...) |
| adapter.js | 适配器本体:GenerateOptions → Responses 请求、Responses SSE → dsh StreamChunk(文本/工具调用流式/用量/finish) |
| test_adapter.mjs | 单元测试(不经 dsh 直连 llama-server:多轮、工具调用、工具结果回传) |
| node_modules/ | 指向 dsh 自带依赖的符号链接(dsh-llm、schemastery) |

已验证(2026-08-23,Qwen3.8-27B)

- 单元测试:多轮记忆、function_call 流式、function_call_output 回传,全部通过
- 端到端(DeepSeek 主代理 + 本地子代理):
- subagent(spawn/可继续后台)✅
- subagent_fork(one-shot 前台,已重定向 spawn=完全不继承父对话)✅ 隔离已实测
- send_message(追问排队下一回合)✅
- list_agents(显示 running/ready 状态)✅
- interrupt_agent(中断成功,子代理转 ready)✅
- report/结算通知(运行时通知链路)✅

如何启用 DeepSeek Harness 自带的子代理功能(前置条件)

本插件挂载在 dsh 的子代理体系上,先把 dsh 自带的子代理功能启用(这是必要前置):

现状:哪些默认开、哪些默认关

| Profile | 子代理引擎(spawn/fork 提供方、继续执行管理器) | 模型侧工具(subagent 等) |
| headless | 默认启用 | 默认启用 |
| web | 默认启用 | 默认禁用(web-app 组合包有意禁用,需 patch 开启) |

确认方法:

dsh --profile web --dump-config | grep -B1 -A4 "id: tool-subagent" # 看 disabled 字段

web profile 启用 patch

在 ~/.dsh/profiles/web/cordis.patch.yml 加入(不带 config 的覆盖型条目):

- id: tool-subagent-control # send_message / interrupt_agent
disabled: false

- id: tool-subagent-list-agents # list_agents
disabled: false

- id: tool-subagent # 委派工具(可继续后台子代理) disabled: false

- id: tool-subagent-fork # 委派工具(one-shot,已重定向 spawn=无父对话) disabled: false

启用后模型会看到 5 个工具:subagent、subagent_fork、send_message、interrupt_agent、list_agents (子代理内部另有 report 回报通道,自动生效)。

验证子代理功能本身(未挂本插件也能测,子代理会走默认 DeepSeek 模型)

dsh --profile headless "用 subagent 工具委派一个子代理回答:1+1等于几?转述它的答案"

如何启用本插件(本地模型路由)

前置:本地模型服务已运行(例:~/qwen/start_server.sh,监听 127.0.0.1:8080),
且建议加 --reasoning off 避免思考占用子代理输出预算。

1. 放置插件(软链到 profile)

对每个要用它的 profile 执行(web / headless) ln -sfn /home/lmj/zi-dai-deep ~/.dsh/profiles/web/node_modules/dsh-llama-responses ln -sfn /home/lmj/zi-dai-deep ~/.dsh/profiles/headless/node_modules/dsh-llama-responses

(依赖符号链接 node_modules/@deepseek-ai/{dsh-llm,schemastery} 已就位,一般无需动)

2. 配置 patch(~/.dsh/profiles//cordis.patch.yml)

注册适配器
- insert:
- id: llm-responses-local
name: dsh-llama-responses
config:
baseURL: http://127.0.0.1:8080/v1
providerName: llama-responses
apiKeyEnv: DSH_LOCAL_LLM_KEY
models:
- id: qwen3.8-27b # 与 llama-server 加载的模型对应 name: Qwen3.8-27B IQ4_XS (local) contextWindow: 163840 defaultContextWindow: 163840 defaultMaxTokens: 8192

子代理固定本地模型(已含完整示例见两个 profile 里的现成 patch)
- id: tool-subagent
config:
provider: spawn
toolName: subagent
backgroundMode: continuable
agentOptions:
provider: llama-responses # 关键:路由到本地 model: qwen3.8-27b maxTokens: 8192

web profile 还需要 - id: tool-subagent(-control/-list-agents/-fork) disabled: false(web-app 默认禁用这些工具,headless 默认启用)。

3. 环境变量

~/.bashrc 已有;本地服务不校验鉴权,占位即可
export DSH_LOCAL_LLM_KEY=local-no-auth

4. 验证

dsh --profile web --dump-config | grep -A3 llm-responses-local # 应看到插件条目
dsh --profile headless "用 subagent 工具委派子代理回答:1+1等于几?" # 子代理答案应回传

协议细节(踩过的坑)

- 历史消息条目必须带顶层 type:'message',assistant 内容用 output_text (裸 role 条目会报 "Cannot determine type of 'item'")
- 工具:{type:'function', name, description, parameters} 扁平格式;
结果回传用 {type:'function_call_output', call_id, output}
- SSE 事件:response.output_text.delta / response.function_call_arguments.delta / response.output_item.done / response.completed(usage 在 completed 里)
- Node fetch 不走系统代理,本地 127.0.0.1 直连无碍

配置项参考

| 字段 | 默认 | 说明 |
| baseURL | http://127.0.0.1:8080/v1 | 适配器自动拼接 /responses |
| providerName | llama-responses | 注册到 ctx.llm 的路由名 |
| apiKeyEnv | DSH_LOCAL_LLM_KEY | 读该环境变量作 Bearer |
| models | qwen3.8-27b/160K | 模型目录(id 须与服务端一致) |
| defaultContextWindow | 163840 | 上下文窗口(与服务端 llama-server 的 --ctx-size 一致) |
| defaultMaxTokens | 8192 | 单请求输出上限 |

附带 SKILL:local-subagent-delegation

skill/local-subagent-delegation/SKILL.md — 面向主代理的子代理委派规范:

- 子代理 = 160K 上下文本地代码模型(身份自称不可信,忽略之)
- 指令必须自包含且详尽(六要素自查:目标/输入/约束/输出格式/验收标准/输出规模(由主代理判断,无固定上限))
- 硬性红线:同一时刻最多 1 个子代理(委派前 list_agents 检查)
- 默认一次性使用;仅同任务紧邻小追问且上下文 /.dsh/skills//SKILL.md |
| 200 | 项目级 | /.agents/skills/ |
| 300 | 自定义 | Config.customSkillDirs |
| 400 | 用户级 | ~/.dsh/skills//SKILL.md(本 skill 装在这里) |
| 500 | 用户级 | ~/.agents/skills/ |

同名 skill 低 rank 值优先;仅目录包 /SKILL.md 与扁平 .md 两种形式, 不支持嵌套递归发现。
预览分享卡片长什么样 ↓SnowRikka/dsh-llama-responses
分享 · DeepSeek Harness Hub
SnowRikka/dsh-llama-responses

把子代理请求路由到本地 llama.cpp 模型,省下 API 成本

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部