用途:供 ruflo 调用者以推理模式调用 DeepSeek 的 deepseek-reasoner(R1)模型,在拿到最终答案的同时显式获得模型的思维链,无需再从消息内容中解析。它与同系列的 deepseek-chat 技能采用相同的子进程调用形式。
主要能力:实现文件为 scripts/reason.mjs。从环境变量读取 DEEPSEEK_API_KEY,缺失时优雅降级。向 /v1/chat/completions 发送 POST 请求,参数为 { model: 'deepseek-reasoner', messages, max_tokens? }。按 DeepSeek 文档,reasoner 模型忽略 temperature/top_p,脚本不会转发这两个参数。提取 choices[0].message.content 与 choices[0].message.reasoning_content。JSON 输出始终包含 reasoning;table 模式默认省略,除非传入 --show-reasoning。usage.completion_tokens_details.reasoning_tokens 会单独以 reasoningTokens 形式暴露,便于调用方归因成本。
使用方式示例:node plugins/ruflo-deepseek-harness/scripts/reason.mjs --prompt "Prove that sqrt(2) is irrational." --format table --show-reasoning。table 输出先显示 reasoning 块再显示答案;JSON 模式返回 status、model、content、reasoning、finishReason 与包含 promptTokens、completionTokens、reasoningTokens、totalTokens 的 usage。
适用场景:多步推理任务,如证明、规划、根因分析、疑难缺陷排查;需要查看模型思考过程用于审计、构造训练数据或核验最终答案;能接受相比 deepseek-chat 更高的延迟与 token 成本。
限制:需要 DEEPSEEK_API_KEY,缺失时降级;reasoner 模型不支持 temperature/top_p,脚本不转发;资料未提供其它平台、收费或性能细节。