前言¶
智能体在回答里常会给出带有不确定性的论断。若要在本地做「主张校验」、留存收据(receipt),并复用 OpenAI 兼容的 chat-completions 端点作评判,通常需要自行拼装 MCP 服务、配置与提示词。DeepSeek Harness(DSH)采用「一切皆插件」的扩展方式;社区目录站点独立于 DeepSeek / 幻方,用于发现和分发插件,并非官方应用商店。
下面介绍维护者 phillui-37 发布的 dsh-ldf:将上游 Local Decision Framework(LDF)以 DSH 宿主插件形式接入,在启用后注册指引与宿主工具,并通过 DSH 原生 MCP 客户端维持 Python 服务端可用。
这是什么¶
dsh-ldf(GitHub:phillui-37/dsh-ldf)是 Local Decision Framework (LDF) 的 DSH 宿主插件。上游实现以 Git submodule 固定在仓库 upstream/;所有 DSH 适配代码在 src/,不复制或改写上游源文件。
运行要求(见仓库 README 与 package.json):
- DSH:
>=0.2 <0.3(MVP 在本地 DSH SDK0.2.2-alpha.2上验证) - Node.js:
>=22 - Python:
>=3.10,且已安装上游mcp依赖
插件版本当前为 0.1.0,许可证 MIT。
核心功能¶
工作方式概览¶
插件启用后:
- 注册 guidance(模型指引)与 宿主工具。
- DSH 原生 MCP 客户端保持 Python MCP 服务(stdio)可用。
- 主张校验、模型发现、本地模型配置 仅在对应工具被调用时执行;模型配置须在用户明确批准 provider、model、format 之后才会继续。
- 插件 不会 在后台自动轮询校验主张。
评判流量路径简述:DSH 宿主 → dsh-ldf(提示与宿主工具)→ 原生 MCP 客户端 → 固定的 Python MCP 服务 → 配置的 chat-completions 端点;本地收据写入本机存储。另有 Node 侧的本地模型工具可对接本机 Ollama 或 LM Studio,经批准后可更新 DSH 设置并替换 MCP 子进程连接。
MCP 工具(上游)¶
默认 MCP 命名空间为 ldf(可由 serverName 修改),工具对外前缀一般为 mcp__ldf__,包括:
| 工具 | 作用(摘要) |
|---|---|
ldf_check_claim |
校验单个主张 |
ldf_check_claims |
批量校验 |
ldf_summarize_output |
归纳输出 |
ldf_fetch_evidence |
获取证据 |
证据语义、裁决类型等细节以上游 upstream/README.md 为准。
宿主侧扩展工具¶
除上游 MCP 工具外,插件在启用时还提供:
ldf_discover_models:按需盘点本机运行时/模型与相关 CLI(含对127.0.0.1:11434的 Ollama、127.0.0.1:1234的 LM Studio 等检查,README 中另有截断说明)。ldf_setup_local_model:在用户确认(confirmed: true)后配置本机运行时、下载或加载模型;通过/v1/models可见性验证后更新baseUrl与model,并重启 MCP 连接。
设置与持久化¶
各字段可在 DSH Settings 中编辑,保存后会序列化子 fiber 更新、释放旧 MCP 连接与 prompt 区段并启动替换;禁用插件会移除工具与指引。正在进行的调用可能被设置变更打断。
常用字段(默认值见 README 表格):
python:解释器路径,建议使用虚拟环境的绝对路径。baseUrl/model:评判 API;默认指向本机 Ollamahttp://127.0.0.1:11434/v1与qwen3:8b(需自行准备模型或使用下方 setup 工具)。apiKeyFile:托管服务商可选,指向 UTF-8 密钥文件路径,密钥不写入设置表单。outputMode:json_schema、json_object或plain。prefix/suffix:可编辑的多行模型指引,默认 prefix 建议代理对重大不确定主张使用稳定 evidence ID 做校验(不强制自动调工具)。followUpstreamSkill:为true时尝试在~/.agents/skills等路径加载匹配的ldf-check-claimskill 以替换插件内全部 LDF 提示文本。
LDF 上游行为仍会写入收据;capture / captureResponse 可保留证据或原始响应,需结合 dataDir 与保留策略使用。
设置界面¶
src/client.js 在 DSH 插件设置槽位提供 Local Decision Framework (ldf) 配置表单,不依赖可选的宿主 UI primitives 包。
安装与启用¶
官方 README 给出的准备步骤(含 submodule 与 Python 虚拟环境)如下。安装方式为 通过 DSH 插件管理器将该本地目录作为 bundle 安装,而非本文臆造的一条式远程 add 命令。
git clone --recurse-submodules https://github.com/phillui-37/dsh-ldf.git dsh-ldf
cd dsh-ldf
# For an existing checkout:
git submodule update --init --recursive
python3 -m venv .venv
.venv/bin/python -m pip install ./upstream
npm install
随后:
- 在 DSH 中用插件管理器安装该目录 bundle;宿主须满足
package.json中的 peer 依赖(如@deepseek-ai/dsh-mcp-client、@deepseek-ai/dsh-tools等)。 - 打开 DSH Settings 中生成的 Local Decision Framework 表单,将
python设为.venv/bin/python的绝对路径。插件以PYTHONPATH指向上游 submodule 的src,始终运行固定 checkout,而非任意全局 LDF 版本。 - 配置
baseUrl与model。LDF 会在 base URL 后追加/chat/completions;配置路径建议使用绝对路径。
典型用法¶
主张校验流程(概念)¶
当代理或用户触发 claim 相关 MCP 工具时:
- 若未提供证据,上游逻辑 本地弃权(abstain),不调用提供商。
- 若提供证据,则请求已配置的
/chat/completions,校验裁决与引用后 写入本地 receipt,再返回工具结果。
这与「后台持续自动校验」不同:无工具请求时服务处于等待,不做 claim 检查。
本地评判端点¶
默认以本机 Ollama 为评判端点。若尚未部署 qwen3:8b,可先调用 ldf_discover_models 了解本机现状,再在用户明确批准后使用 ldf_setup_local_model 完成拉取与验证。
可选上游 Skill 指引¶
若已在常用 skills 目录安装与 ldf-check-claim 匹配的 SKILL.md,可将 followUpstreamSkill 设为 true,由 skill 替换插件内置的 prefix/suffix 等指引文本;找不到可用文件时保留当前指引并记录警告。
适用场景与注意¶
适合:
- 已在或计划使用 DSH 0.2.x,并希望在同一宿主内集成 LDF 的 MCP 工具与收据能力。
- 需要用 OpenAI 兼容 API(本机 Ollama/LM Studio 或带
apiKeyFile的托管端点)作为「评判模型」的团队或个人开发者。
务必注意:
- 插件以 当前 DSH 进程权限 运行;安装前请阅读源码与 MIT 许可证,并理解 MCP 子进程、本机 loopback 与密钥文件路径的权限含义。
- README 明确:不要 将缺少解释器或启动失败伪装为成功的 judge 调用;启动失败由 DSH 记录并可重连。
- 社区目录页(SkillHub)与 GitHub 仓库由维护者 phillui-37 发布;星标与简介以各站点当时展示为准,本文不罗列未在抓取资料中出现的运营数据。
结尾¶
dsh-ldf 把 Local Decision Framework 的 Python MCP 服务与 DSH 的设置、工具、指引槽位绑在一起,并补充本机模型发现与配置工具,便于在可控环境下对主张做证据驱动的校验与留痕。