前言¶
DeepSeek Harness (DSH) 的核心设计理念是「一切皆插件」。在构建长上下文智能体或需要深度推理的任务时,通常需要对接支持 1M 上下文和结构化思考能力的模型。dsh-llm-longcat 是一款为此设计的适配器插件,它将 LongCat-2.0 接入 DSH 的 LLM seam,提供长上下文处理、思考模式回溯以及原生工具调用能力。
是什么¶
dsh-llm-longcat 是由维护者 ffyuuu 开发的 DeepSeek Harness 插件。它作为一个模型提供商,连接了 LongCat-2.0 模型。该插件解决了在 Harness 生态中直接使用 1M 上下文模型、解析模型思考链以及处理工具调用参数的需求。
核心功能¶
插件实现了以下核心能力:
- 思考模式:识别 LongCat 的
reasoning_content字段,并将其转换为 Harness 的ReasoningBlock结构,以便在界面或日志中展示模型的思考过程。 - 工具调用:提供完整的函数调用支持,且在端到端的传输中保持
arguments为原始 JSON 字符串。 - 多轮对话:在包含工具调用的轮次中回放
reasoning_content,确保思考链在复杂交互中不丢失。 - 流式传输:使用 SSE 协议传输,并严格遵循 Harness 要求的
usage优先于finish的顺序。 - 凭据 seam:密钥不写入配置文件,而是通过
ctx.credentials或环境变量按请求解析。
安装与启用¶
安装插件需要使用 DSH 的插件管理命令。安装脚本会在本地机器上运行,而非在 DSH 进程的沙箱环境中。
dsh plugin --profile default add github:ffyuuu/dsh-llm-longcat
安装完成后,需要配置 API 密钥。建议通过环境变量设置,避免密钥泄露:
export LONGCAT_API_KEY=...
如果需要锁定特定版本以防止未来的代码变更影响执行,可以使用 commit hash:
dsh plugin --profile default add github:ffyuuu/dsh-llm-longcat#3dcb3b1b5870ba52baab053453bdbb28826e5f13
典型用法¶
在 DSH 的配置文件(如 $DSH_HOME/settings.yaml)中添加插件定义。默认的 apiKeyEnv 为 LONGCAT_API_KEY,baseURL 可选。
- id: llm-longcat
name: dsh-llm-longcat
config:
apiKeyEnv: LONGCAT_API_KEY
baseURL: https://api.longcat.chat/openai/v1
thinking: enabled
reasoningEffort: high
maxTokens: 131072
defaultContextWindow: 1048576
streamIdleTimeoutMs: 300000
retryPolicy:
mode: normal
maxRetries: 3
models:
- id: LongCat-2.0
contextWindow: 1048576
配置中的 thinking 字段控制推理模式的启用状态,reasoningEffort 目前仅支持 high 和 off 两个二进制级别。
适用场景与注意¶
- 适用场景:需要处理百万级 Token 上下文的任务,或者需要 Harness 能够展示模型内部推理链(Chain of Thought)的场景,以及涉及复杂工具调用的对话。
- 限制说明:
- 无图像输入:LongCat-2.0 仅支持 text->text 模态,插件会拒绝图片内容。
- 无停止序列:
stop参数不在supported_parameters中,传入该参数会报错。 - 推理二进制:不支持低/中/高推理强度的梯度,仅支持开启或关闭。
- 安装注意事项:
- 插件安装脚本在沙箱外运行,需确保对源码和许可证(MIT)的信任。
- 在某些环境下,安装 Harness 本身可能遇到上游依赖问题,例如
dsh-typert-protocol版本不匹配或 npm 堆内存耗尽。这通常是因为@deepseek-ai/dsh发布了0.1.0-rc.8而依赖包停留在0.1.0-rc.7。可以通过 npm overrides 锁定版本解决,但这不影响插件本身的兼容性。
总结¶
dsh-llm-longcat 为 DeepSeek Harness 提供了长上下文模型(1M 上下文)和思考模式的对接能力。它通过处理 reasoning_content 和原生工具调用支持,完善了 Harness 在复杂推理任务中的生态链。更多细节可参考 GitHub 仓库 或 社区目录。