deepseek-chat
One-shot chat completion against DeepSeek's `deepseek-chat` model via the OpenAI-compatible /v1/chat/completions endpoint. Reads DEEPSEEK_API_KEY from the environment; degrades gracefully (exit 0 with a JSON status:degraded envelope) when the key is missing or the API is unreachable. Use for non-reasoning tasks — summarization, extraction, quick classification — where deepseek-reasoner would be overkill.
Wraps DeepSeek's chat/completions endpoint in the same subprocess-invocation
shape as the other ruflo-*-harness skills (see ruflo-metaharness's
harness-score for the reference). No library import on ruflo's boot path.
When to use
- You want a cheap, fast completion from a non-reasoning model.
- The task fits in a single request/response — no multi-turn context.
- You want the raw content back as JSON so downstream tooling can consume it.
- For reasoning-heavy tasks (proofs, multi-step planning, hard debugging),
use
deepseek-reasoninstead — same plugin, different model.
Algorithm
Implementation: scripts/chat.mjs.
- Read
DEEPSEEK_API_KEYfrom env. If missing, emit{ status: 'degraded', reason: 'DEEPSEEK_API_KEY is not set', ... }and exit 0 (ADR-150-style graceful degradation). - POST to
https://api.deepseek.com/v1/chat/completionswith{ model, messages, temperature?, max_tokens? }. 60s hard timeout. - Extract
choices[0].message.contentand usage counters. --format tableprints only the content (for piping);--format json(default) returns the full envelope.--alert-on-errorexits 1 on any degraded/error status (CI-friendly).
Example
node plugins/ruflo-deepseek-harness/scripts/chat.mjs \
--prompt "In one sentence: what is HNSW?" \
--temperature 0.2
Sample output:
{
"status": "ok",
"model": "deepseek-chat",
"content": "HNSW is a graph-based approximate nearest neighbor …",
"finishReason": "stop",
"usage": { "promptTokens": 12, "completionTokens": 34, "totalTokens": 46 }
}
Loading supporting files
ruvnet/claude-flow · MIT · Revision 005a0ed25e64
Be the first to comment
Share what worked or leave a question for the creator.