{"id":"47bfaab5-8f45-4d40-bc78-62ff293d8d87","entityType":"agent","slug":"clawhub-runapi-ai-runapi-deepseek","name":"deepseek","canonicalUrl":"https://www.xpersona.co/agent/clawhub-runapi-ai-runapi-deepseek","canonicalPath":"/agent/clawhub-runapi-ai-runapi-deepseek","generatedAt":"2026-10-11T07:39:18.547Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":null},"description":"Call the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use deepseek-flash for the current V4.1 Flash model; the v4 names remain compatibility aliases.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.2K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-deepseek","sourceUrl":"https://clawhub.ai/runapi-ai/runapi-deepseek","homepage":"https://clawhub.ai/runapi-ai/skills/runapi-deepseek","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/runapi-ai/runapi-deepseek","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/runapi-ai/skills/runapi-deepseek","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"deepseek technical dossier on Xpersona with agent coverage, OPENCLEW support, and live trust metadata."},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[],"verifiedCount":0,"selfDeclaredCount":1,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile"}},"adoption":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":null},"stars":null,"forks":null,"downloads":1161,"packageName":null,"latestVersion":"0.1.6","tractionLabel":"1.2K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:20:51.689Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T04:20:51.703Z","lastCrawledAt":"2026-10-11T04:20:51.689Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T04:20:51.689Z","lastVerifiedAt":null,"highlights":[{"version":"0.1.6","createdAt":"2026-09-16T10:10:45.856Z","changelog":"## Added - Document deepseek-flash as the current DeepSeek V4.1 Flash model and synchronize generated contract metadata.","fileCount":4,"zipByteSize":3738},{"version":"0.1.5","createdAt":"2026-09-04T11:20:36.309Z","changelog":"## Added - Document deepseek-v4-flash-vision-exp image input and supported image URL formats.","fileCount":4,"zipByteSize":3582},{"version":"0.1.4","createdAt":"2026-08-25T03:52:53.892Z","changelog":"## Added - Document deepseek-v4-flash-vision-exp image input and supported image URL formats.","fileCount":4,"zipByteSize":3514},{"version":"0.1.3","createdAt":"2026-08-12T07:30:37.363Z","changelog":"## Changed - Document DeepSeek authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.","fileCount":4,"zipByteSize":3292},{"version":"0.1.2","createdAt":"2026-08-10T14:14:16.964Z","changelog":"## Changed - Complete marketplace distribution for the RunAPI DeepSeek skill.","fileCount":3,"zipByteSize":4341},{"version":"0.1.1","createdAt":"2026-07-23T08:58:57.744Z","changelog":"## Added - Add the DeepSeek Flash single-function lifecycle for Chat Completions, Responses, and Messages. ## Changed - Document fail-closed advanced fields, terminal streaming Usage, public error envelopes, and cache-evidence limits.","fileCount":3,"zipByteSize":4622},{"version":"0.1.0","createdAt":"2026-06-24T09:36:13.866Z","changelog":"## Changed - Initial RunAPI skill for DeepSeek chat across OpenAI-compatible and Anthropic-compatible clients.","fileCount":3,"zipByteSize":3475}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-deepseek","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-deepseek` in an isolated environment before connecting it to live workloads.","No published capability contract is available yet, so validate auth and request/response behavior manually.","Review the upstream CLAWHUB listing at https://clawhub.ai/runapi-ai/runapi-deepseek before using production credentials."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"CLAWHUB","generatedAt":"2026-10-11T07:39:18.546Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-deepseek/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":null},"readme":"Skill: deepseek\n\nOwner: runapi-ai\n\nSummary: Call the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use deepseek-flash for the current V4.1 Flash model; the v4 names remain compatibility aliases.\n\nTags: latest:0.1.6\n\nVersion history:\n\nv0.1.6 | 2026-09-16T10:10:45.856Z | user\n\n## Added\n- Document deepseek-flash as the current DeepSeek V4.1 Flash model and synchronize generated contract metadata.\n\nv0.1.5 | 2026-09-04T11:20:36.309Z | user\n\n## Added\n- Document deepseek-v4-flash-vision-exp image input and supported image URL formats.\n\nv0.1.4 | 2026-08-25T03:52:53.892Z | user\n\n## Added\n- Document deepseek-v4-flash-vision-exp image input and supported image URL formats.\n\nv0.1.3 | 2026-08-12T07:30:37.363Z | user\n\n## Changed\n- Document DeepSeek authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.\n\nv0.1.2 | 2026-08-10T14:14:16.964Z | user\n\n## Changed\n- Complete marketplace distribution for the RunAPI DeepSeek skill.\n\nv0.1.1 | 2026-07-23T08:58:57.744Z | user\n\n## Added\n- Add the DeepSeek Flash single-function lifecycle for Chat Completions, Responses, and Messages.\n\n## Changed\n- Document fail-closed advanced fields, terminal streaming Usage, public error envelopes, and cache-evidence limits.\n\nv0.1.0 | 2026-06-24T09:36:13.866Z | user\n\n## Changed\n- Initial RunAPI skill for DeepSeek chat across OpenAI-compatible and Anthropic-compatible clients.\n\nArchive index:\n\nArchive v0.1.6: 4 files, 3738 bytes\n\nFiles: references/compatibility-protocols.md (860b), skill-card.md (2567b), SKILL.md (3132b), _meta.json (134b)\n\nFile v0.1.6:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use deepseek-flash for the current V4.1 Flash model; the v4 names remain compatibility aliases.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible DeepSeek clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.}\n---\n\n# DeepSeek on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\nFor long output, set `stream=True` and\n`stream_options={\"include_usage\": True}`; consume through `[DONE]`.\n`deepseek-v4-flash` additionally supports one custom function on Responses;\nkeep automatic tool selection and one serial call/result lifecycle.\n\nFor image input, use `deepseek-v4-flash-vision-exp` with a Chat Completions\nmessage content array containing a text part and an `image_url` part. The image\nURL must be publicly reachable and use JPEG, PNG, GIF, or WebP.\n\n### Verify result\n\nFor Chat, require final assistant content, `finish_reason`, and `usage`. For\nResponses, require final output, one usage-bearing `response.completed`, and\n`[DONE]` when streaming.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Add tools, reasoning,\nstorage, cache controls, documents, or multimodal input only when the current\nRunAPI contract verifies the exact model/protocol shape.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-flash` | Current V4.1 Flash model for fast text and reasoning |\n| `deepseek-v4-flash-vision-exp` | Image input and vision tasks |\n| `deepseek-v4-pro` | Higher-quality verified text workloads |\n| `deepseek-v4-flash` | Compatibility alias for Flash |\n\n## References\n\n- <https://runapi.ai/models/deepseek.md>\n- <https://runapi.ai/providers/deepseek.md>\n- <https://runapi.ai/models.md>\n\nFile v0.1.6:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.6\",\n  \"publishedAt\": 1789553445856\n}\n\nFile v0.1.6:references/compatibility-protocols.md\n\n# DeepSeek compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and text messages. `deepseek-v4-flash-vision-exp` is the\nimage-input variant; for vision requests use its Chat Completions shape with an\n`image_url` content part. Verify final content, `stop_reason`, and `usage`;\nstreaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.1.6:skill-card.md\n\n## Description:\n\nCall the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure and call DeepSeek models through RunAPI with OpenAI-compatible Chat Completions and Responses. It also provides compatibility guidance for existing Anthropic Messages or Gemini contents clients.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RunAPI API keys are required and could be exposed through insecure configuration or logging.\n\nMitigation: Store keys in environment variables or a secret manager, avoid hardcoding them in prompts or files, and prevent key values from appearing in logs.\n\nRisk: Prompts, data, and image URLs are routed to a third-party service for processing.\n\nMitigation: Use the skill only when RunAPI processing is acceptable for the data classification, and avoid private prompts, sensitive data, or sensitive image URLs unless approved.\n\nRisk: Unsupported model or protocol assumptions can produce rejected requests or misleading integration guidance.\n\nMitigation: Use exact supported model IDs, verify final content and usage fields, apply at most one evidence-backed shape correction, and avoid automatic model or protocol hopping.\n\n## Reference(s):\n\n- [DeepSeek model documentation](https://runapi.ai/models/deepseek.md)\n- [DeepSeek provider documentation](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [DeepSeek on RunAPI homepage](https://runapi.ai/models/deepseek)\n- [DeepSeek compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown with inline code blocks and environment variable settings]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes model selection, request validation, streaming, retry, and protocol compatibility guidance.]\n\n## Skill Version(s):\n\n0.1.6 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.5: 4 files, 3582 bytes\n\nFiles: references/compatibility-protocols.md (860b), skill-card.md (2179b), SKILL.md (3122b), _meta.json (134b)\n\nFile v0.1.5:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use for DeepSeek text, image input, streaming, the verified Flash function path, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible DeepSeek clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.}\n---\n\n# DeepSeek on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\nFor long output, set `stream=True` and\n`stream_options={\"include_usage\": True}`; consume through `[DONE]`.\n`deepseek-v4-flash` additionally supports one custom function on Responses;\nkeep automatic tool selection and one serial call/result lifecycle.\n\nFor image input, use `deepseek-v4-flash-vision-exp` with a Chat Completions\nmessage content array containing a text part and an `image_url` part. The image\nURL must be publicly reachable and use JPEG, PNG, GIF, or WebP.\n\n### Verify result\n\nFor Chat, require final assistant content, `finish_reason`, and `usage`. For\nResponses, require final output, one usage-bearing `response.completed`, and\n`[DONE]` when streaming.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Add tools, reasoning,\nstorage, cache controls, documents, or multimodal input only when the current\nRunAPI contract verifies the exact model/protocol shape.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-flash-vision-exp` | Image input and vision tasks |\n| `deepseek-v4-pro` | Higher-quality verified text workloads |\n| `deepseek-v4-flash` | Fast text and one verified custom-function lifecycle |\n\n## References\n\n- <https://runapi.ai/models/deepseek.md>\n- <https://runapi.ai/providers/deepseek.md>\n- <https://runapi.ai/models.md>\n\nFile v0.1.5:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.5\",\n  \"publishedAt\": 1788520836309\n}\n\nFile v0.1.5:references/compatibility-protocols.md\n\n# DeepSeek compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and text messages. `deepseek-v4-flash-vision-exp` is the\nimage-input variant; for vision requests use its Chat Completions shape with an\n`image_url` content part. Verify final content, `stop_reason`, and `usage`;\nstreaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.1.5:skill-card.md\n\n## Description:\n\nCall the DeepSeek API through RunAPI using OpenAI-compatible Chat Completions and Responses for text, image input, streaming, and supported compatibility-client paths.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external agents use this skill to configure RunAPI access for DeepSeek models, select the appropriate model path, and verify text, streaming, function, image-input, Anthropic Messages, or Gemini-compatible responses.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill requires a RunAPI API key and sends DeepSeek requests to RunAPI.\n\nMitigation: Store the API key as a secret, confirm OPENAI_BASE_URL is https://runapi.ai/v1 for the primary path, and send only data approved for that provider.\n\nRisk: Vision requests use publicly reachable image URLs.\n\nMitigation: Use only approved image URLs and avoid submitting private images unless provider handling is acceptable.\n\n## Reference(s):\n\n- [RunAPI DeepSeek documentation](https://runapi.ai/models/deepseek.md)\n- [RunAPI DeepSeek provider page](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI DeepSeek homepage](https://runapi.ai/models/deepseek)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-deepseek)\n- [DeepSeek compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Code, Configuration]\n\n**Output Format:** [Markdown with Python examples and API request guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Requires OPENAI_API_KEY and OPENAI_BASE_URL; may include streaming, vision, and compatibility protocol guidance.]\n\n## Skill Version(s):\n\n0.1.5 (source: server release metadata)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.4: 4 files, 3514 bytes\n\nFiles: references/compatibility-protocols.md (860b), skill-card.md (2068b), SKILL.md (3122b), _meta.json (134b)\n\nFile v0.1.4:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use for DeepSeek text, image input, streaming, the verified Flash function path, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible DeepSeek clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.}\n---\n\n# DeepSeek on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\nFor long output, set `stream=True` and\n`stream_options={\"include_usage\": True}`; consume through `[DONE]`.\n`deepseek-v4-flash` additionally supports one custom function on Responses;\nkeep automatic tool selection and one serial call/result lifecycle.\n\nFor image input, use `deepseek-v4-flash-vision-exp` with a Chat Completions\nmessage content array containing a text part and an `image_url` part. The image\nURL must be publicly reachable and use JPEG, PNG, GIF, or WebP.\n\n### Verify result\n\nFor Chat, require final assistant content, `finish_reason`, and `usage`. For\nResponses, require final output, one usage-bearing `response.completed`, and\n`[DONE]` when streaming.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Add tools, reasoning,\nstorage, cache controls, documents, or multimodal input only when the current\nRunAPI contract verifies the exact model/protocol shape.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-flash-vision-exp` | Image input and vision tasks |\n| `deepseek-v4-pro` | Higher-quality verified text workloads |\n| `deepseek-v4-flash` | Fast text and one verified custom-function lifecycle |\n\n## References\n\n- <https://runapi.ai/models/deepseek.md>\n- <https://runapi.ai/providers/deepseek.md>\n- <https://runapi.ai/models.md>\n\nFile v0.1.4:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.4\",\n  \"publishedAt\": 1787629973892\n}\n\nFile v0.1.4:references/compatibility-protocols.md\n\n# DeepSeek compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and text messages. `deepseek-v4-flash-vision-exp` is the\nimage-input variant; for vision requests use its Chat Completions shape with an\n`image_url` content part. Verify final content, `stop_reason`, and `usage`;\nstreaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.1.4:skill-card.md\n\n## Description:\n\nCall DeepSeek models through RunAPI with OpenAI-compatible Chat Completions and Responses for text, image input, streaming, and a verified Flash function path.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and external users use this skill to route DeepSeek text, vision, streaming, and limited function-calling workflows through RunAPI using OpenAI-compatible clients.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: OpenAI-compatible clients may send requests to the wrong provider if shared environment variables are reused across projects.\n\nMitigation: Scope OPENAI_API_KEY and OPENAI_BASE_URL to the RunAPI workflow and confirm OPENAI_BASE_URL is https://runapi.ai/v1 before sending requests.\n\nRisk: Requests are routed through RunAPI for DeepSeek model access.\n\nMitigation: Install and use the skill only when routing DeepSeek requests through RunAPI is intended.\n\n## Reference(s):\n\n- [RunAPI DeepSeek model documentation](https://runapi.ai/models/deepseek.md)\n- [RunAPI DeepSeek provider page](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI DeepSeek homepage](https://runapi.ai/models/deepseek)\n- [DeepSeek compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, code, configuration, shell commands]\n\n**Output Format:** [Markdown with Python examples and configuration guidance]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Guides OpenAI-compatible API usage with required RunAPI environment variables.]\n\n## Skill Version(s):\n\n0.1.4 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.3: 4 files, 3292 bytes\n\nFiles: references/compatibility-protocols.md (716b), skill-card.md (1998b), SKILL.md (2791b), _meta.json (134b)\n\nFile v0.1.3:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro and deepseek-v4-flash) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use for DeepSeek text, streaming, the verified Flash function path, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible DeepSeek clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.}\n---\n\n# DeepSeek on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\nFor long output, set `stream=True` and\n`stream_options={\"include_usage\": True}`; consume through `[DONE]`.\n`deepseek-v4-flash` additionally supports one custom function on Responses;\nkeep automatic tool selection and one serial call/result lifecycle.\n\n### Verify result\n\nFor Chat, require final assistant content, `finish_reason`, and `usage`. For\nResponses, require final output, one usage-bearing `response.completed`, and\n`[DONE]` when streaming.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Add tools, reasoning,\nstorage, cache controls, documents, or multimodal input only when the current\nRunAPI contract verifies the exact model/protocol shape.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-pro` | Higher-quality verified text workloads |\n| `deepseek-v4-flash` | Fast text and one verified custom-function lifecycle |\n\n## References\n\n- <https://runapi.ai/models/deepseek.md>\n- <https://runapi.ai/providers/deepseek.md>\n- <https://runapi.ai/models.md>\n\nFile v0.1.3:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.3\",\n  \"publishedAt\": 1786519837363\n}\n\nFile v0.1.3:references/compatibility-protocols.md\n\n# DeepSeek compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and text messages. Verify final content, `stop_reason`,\nand `usage`; streaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping.\n\nFile v0.1.3:skill-card.md\n\n## Description:\n\nCall the DeepSeek API through RunAPI using OpenAI-compatible Chat Completions and Responses for text, streaming, the verified Flash function path, and conditional compatibility clients.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure authenticated DeepSeek requests through RunAPI, verify responses and usage, handle streaming, and apply compatibility protocols only when an existing client requires them.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Setting OPENAI_API_KEY and OPENAI_BASE_URL for this workflow can affect OpenAI-compatible clients that read those variables.\n\nMitigation: Confirm the intent to route DeepSeek requests through RunAPI and scope these variables to clients that should use RunAPI.\n\n## Reference(s):\n\n- [RunAPI DeepSeek model documentation](https://runapi.ai/models/deepseek.md)\n- [RunAPI DeepSeek provider documentation](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [RunAPI DeepSeek homepage](https://runapi.ai/models/deepseek)\n- [DeepSeek compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown with Python code blocks and environment variable configuration]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes response verification, streaming, retry, and stop-boundary guidance for RunAPI DeepSeek calls.]\n\n## Skill Version(s):\n\n0.1.3 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.2: 3 files, 4341 bytes\n\nFiles: skill-card.md (2167b), SKILL.md (7785b), _meta.json (134b)\n\nFile v0.1.2:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash) through RunAPI using the official OpenAI SDK, Anthropic SDK, or compatible clients. Use when the user asks for DeepSeek chat, Responses, streaming completions, a single custom function on Flash, Anthropic Messages compatibility, Gemini contents compatibility, or when they want to point an existing LLM SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible DeepSeek clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.\n    - name: ANTHROPIC_API_KEY\n      required: false\n      description: Optional RunAPI API key alias when using Anthropic Messages examples.\n    - name: ANTHROPIC_BASE_URL\n      required: false\n      description: Optional base URL for Anthropic-compatible DeepSeek requests.\n---\n\n# DeepSeek on RunAPI\n\nDeepSeek on RunAPI exposes **OpenAI-compatible Chat Completions and Responses**\nplus **Anthropic-compatible Messages**. Use the OpenAI SDK for most\nintegrations, or point Anthropic-compatible clients at `https://runapi.ai` when\nthe existing application already speaks `/v1/messages`.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## OpenAI-compatible setup\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n```\n\n## Core recipe - Chat Completions\n\n```python\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain vector databases simply.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nconst response = await client.chat.completions.create({\n  model: \"deepseek-v4-pro\",\n  messages: [{ role: \"user\", content: \"Explain vector databases simply.\" }],\n});\n```\n\n## Responses API - one Flash function\n\n`deepseek-v4-flash` supports one custom function with automatic selection. Do\nnot send `tool_choice`.\n\n```python\ntool = {\n    \"type\": \"function\",\n    \"name\": \"get_weather\",\n    \"description\": \"Get weather for a city\",\n    \"parameters\": {\n        \"type\": \"object\",\n        \"properties\": {\n            \"city\": {\n                \"type\": \"string\",\n            },\n        },\n        \"required\": [\"city\"],\n    },\n}\n\nresponse = client.responses.create(\n    model=\"deepseek-v4-flash\",\n    input=\"What is the weather in Shanghai?\",\n    tools=[tool],\n)\n\ncall = next(item for item in response.output if item.type == \"function_call\")\nfollowup = client.responses.create(\n    model=\"deepseek-v4-flash\",\n    input=[\n        {\n            \"type\": \"function_call\",\n            \"call_id\": call.call_id,\n            \"name\": call.name,\n            \"arguments\": call.arguments,\n        },\n        {\n            \"type\": \"function_call_output\",\n            \"call_id\": call.call_id,\n            \"output\": {\"temperature_c\": 28, \"conditions\": [\"sunny\"]},\n        },\n    ],\n    tools=[tool],\n)\nprint(followup.output_text)\n```\n\nThe same lifecycle is available as one OpenAI `tool_calls` / tool result pair\nor one Anthropic `tool_use` / `tool_result` pair.\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/chat/completions\" \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-pro\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello, DeepSeek!\"}]\n  }'\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"deepseek-v4-flash\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a concise release note.\"}],\n    stream=True,\n)\nfor chunk in stream:\n    delta = chunk.choices[0].delta.content\n    if delta:\n        print(delta, end=\"\", flush=True)\n```\n\nStreaming returns incremental output without holding an application request\nopen for the full generation. Long generations should always stream.\n\n## Anthropic Messages compatibility\n\n```python\nimport anthropic\n\nclient = anthropic.Anthropic(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai\",\n)\n\nmessage = client.messages.create(\n    model=\"deepseek-v4-pro\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Draft a migration checklist.\"}],\n)\nprint(message.content[0].text)\n```\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/messages\" \\\n  -H \"x-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-flash\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Summarize this incident.\"}]\n  }'\n```\n\n`max_tokens` is required for Anthropic-compatible requests.\n\n## Gemini contents compatibility\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/deepseek-v4-flash:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"contents\": [\n      { \"role\": \"user\", \"parts\": [{ \"text\": \"Write a short product FAQ.\" }] }\n    ]\n  }'\n```\n\nUse this path only when the caller already expects Gemini `contents` streaming.\nRunAPI accepts this client shape for DeepSeek streaming.\nFor new app code, prefer the OpenAI-compatible setup.\n\n## List models\n\n```bash\ncurl https://runapi.ai/v1/models \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\"\n```\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-pro` | Higher-quality DeepSeek text and reasoning tasks |\n| `deepseek-v4-flash` | Fast text and one custom-function lifecycle |\n\n## Consistent cross-protocol subset\n\n- Both models support text input, sync responses, SSE terminal events,\n  canonical token Usage, and protocol-specific public errors on Chat,\n  Responses, and Messages.\n- Flash supports one custom function and one serial call/result lifecycle.\n  Omit `tool_choice`; automatic selection is supported.\n- Do not send tools to Pro when consistent behavior is required. Multiple or\n  parallel calls, explicit tool selection, hosted/MCP/non-function tools,\n  Responses state or storage, reasoning references or controls, prompt-cache\n  controls, signed thinking, citations, documents, and multimodal content are\n  outside this subset.\n- Requests outside the subset may return a 4xx response before Usage reservation.\n  RunAPI does not silently drop these fields.\n- A Responses stream is complete after one usage-bearing\n  `response.completed` and `[DONE]`; a Messages stream ends with terminal\n  `message_delta` Usage and `message_stop`.\n- Terminal Usage is preserved as returned; RunAPI does not synthesize cache\n  fields.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/deepseek.md\n- Provider comparison: https://runapi.ai/providers/deepseek.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `RUNAPI_TOKEN`, or a\n  secret manager; never inline them in commits or shell history.\n- Default new integrations to the OpenAI-compatible client at\n  `https://runapi.ai/v1`.\n- Use streaming for responses longer than a few hundred tokens.\n- For pricing, rate-limit, and commercial-usage answers, link to\n  https://runapi.ai/models/deepseek.md rather than copying values.\n\nFile v0.1.2:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.2\",\n  \"publishedAt\": 1786371256964\n}\n\nFile v0.1.2:skill-card.md\n\n## Description:\n\nCall the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash) through RunAPI using the official OpenAI SDK, Anthropic SDK, or compatible clients.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure DeepSeek requests through RunAPI, including OpenAI-compatible chat and Responses calls, Anthropic Messages compatibility, Gemini contents streaming, and function-call examples.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: The skill sends prompts and API requests to RunAPI using a RunAPI token.\n\nMitigation: Keep tokens in environment variables or a secret manager, and only configure the RunAPI base URL when requests are intended to go through RunAPI.\n\nRisk: Compatible SDK configuration can route existing OpenAI, Anthropic, or Gemini-style clients to RunAPI.\n\nMitigation: Review OPENAI_BASE_URL, ANTHROPIC_BASE_URL, and related environment variables before running commands in shared or production environments.\n\n## Reference(s):\n\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-deepseek)\n- [RunAPI DeepSeek homepage](https://runapi.ai/models/deepseek)\n- [RunAPI DeepSeek model overview](https://runapi.ai/models/deepseek.md)\n- [RunAPI DeepSeek provider comparison](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n\n## Skill Output:\n\n**Output Type(s):** [guidance, markdown, code, shell commands, configuration]\n\n**Output Format:** [Markdown guidance with dotenv, Python, TypeScript, and curl examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes environment variable requirements and cross-protocol client setup guidance.]\n\n## Skill Version(s):\n\n0.1.2 (source: release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment.\n\nArchive v0.1.1: 3 files, 4622 bytes\n\nFiles: skill-card.md (2955b), SKILL.md (7785b), _meta.json (134b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash) through RunAPI using the official OpenAI SDK, Anthropic SDK, or compatible clients. Use when the user asks for DeepSeek chat, Responses, streaming completions, a single custom function on Flash, Anthropic Messages compatibility, Gemini contents compatibility, or when they want to point an existing LLM SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible DeepSeek clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.\n    - name: ANTHROPIC_API_KEY\n      required: false\n      description: Optional RunAPI API key alias when using Anthropic Messages examples.\n    - name: ANTHROPIC_BASE_URL\n      required: false\n      description: Optional base URL for Anthropic-compatible DeepSeek requests.\n---\n\n# DeepSeek on RunAPI\n\nDeepSeek on RunAPI exposes **OpenAI-compatible Chat Completions and Responses**\nplus **Anthropic-compatible Messages**. Use the OpenAI SDK for most\nintegrations, or point Anthropic-compatible clients at `https://runapi.ai` when\nthe existing application already speaks `/v1/messages`.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## OpenAI-compatible setup\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n```\n\n## Core recipe - Chat Completions\n\n```python\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain vector databases simply.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nconst response = await client.chat.completions.create({\n  model: \"deepseek-v4-pro\",\n  messages: [{ role: \"user\", content: \"Explain vector databases simply.\" }],\n});\n```\n\n## Responses API - one Flash function\n\n`deepseek-v4-flash` supports one custom function with automatic selection. Do\nnot send `tool_choice`.\n\n```python\ntool = {\n    \"type\": \"function\",\n    \"name\": \"get_weather\",\n    \"description\": \"Get weather for a city\",\n    \"parameters\": {\n        \"type\": \"object\",\n        \"properties\": {\n            \"city\": {\n                \"type\": \"string\",\n            },\n        },\n        \"required\": [\"city\"],\n    },\n}\n\nresponse = client.responses.create(\n    model=\"deepseek-v4-flash\",\n    input=\"What is the weather in Shanghai?\",\n    tools=[tool],\n)\n\ncall = next(item for item in response.output if item.type == \"function_call\")\nfollowup = client.responses.create(\n    model=\"deepseek-v4-flash\",\n    input=[\n        {\n            \"type\": \"function_call\",\n            \"call_id\": call.call_id,\n            \"name\": call.name,\n            \"arguments\": call.arguments,\n        },\n        {\n            \"type\": \"function_call_output\",\n            \"call_id\": call.call_id,\n            \"output\": {\"temperature_c\": 28, \"conditions\": [\"sunny\"]},\n        },\n    ],\n    tools=[tool],\n)\nprint(followup.output_text)\n```\n\nThe same lifecycle is available as one OpenAI `tool_calls` / tool result pair\nor one Anthropic `tool_use` / `tool_result` pair.\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/chat/completions\" \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-pro\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello, DeepSeek!\"}]\n  }'\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"deepseek-v4-flash\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a concise release note.\"}],\n    stream=True,\n)\nfor chunk in stream:\n    delta = chunk.choices[0].delta.content\n    if delta:\n        print(delta, end=\"\", flush=True)\n```\n\nStreaming returns incremental output without holding an application request\nopen for the full generation. Long generations should always stream.\n\n## Anthropic Messages compatibility\n\n```python\nimport anthropic\n\nclient = anthropic.Anthropic(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai\",\n)\n\nmessage = client.messages.create(\n    model=\"deepseek-v4-pro\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Draft a migration checklist.\"}],\n)\nprint(message.content[0].text)\n```\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/messages\" \\\n  -H \"x-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-flash\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Summarize this incident.\"}]\n  }'\n```\n\n`max_tokens` is required for Anthropic-compatible requests.\n\n## Gemini contents compatibility\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/deepseek-v4-flash:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"contents\": [\n      { \"role\": \"user\", \"parts\": [{ \"text\": \"Write a short product FAQ.\" }] }\n    ]\n  }'\n```\n\nUse this path only when the caller already expects Gemini `contents` streaming.\nRunAPI accepts this client shape for DeepSeek streaming.\nFor new app code, prefer the OpenAI-compatible setup.\n\n## List models\n\n```bash\ncurl https://runapi.ai/v1/models \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\"\n```\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-pro` | Higher-quality DeepSeek text and reasoning tasks |\n| `deepseek-v4-flash` | Fast text and one custom-function lifecycle |\n\n## Consistent cross-protocol subset\n\n- Both models support text input, sync responses, SSE terminal events,\n  canonical token Usage, and protocol-specific public errors on Chat,\n  Responses, and Messages.\n- Flash supports one custom function and one serial call/result lifecycle.\n  Omit `tool_choice`; automatic selection is supported.\n- Do not send tools to Pro when consistent behavior is required. Multiple or\n  parallel calls, explicit tool selection, hosted/MCP/non-function tools,\n  Responses state or storage, reasoning references or controls, prompt-cache\n  controls, signed thinking, citations, documents, and multimodal content are\n  outside this subset.\n- Requests outside the subset may return a 4xx response before Usage reservation.\n  RunAPI does not silently drop these fields.\n- A Responses stream is complete after one usage-bearing\n  `response.completed` and `[DONE]`; a Messages stream ends with terminal\n  `message_delta` Usage and `message_stop`.\n- Terminal Usage is preserved as returned; RunAPI does not synthesize cache\n  fields.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/deepseek.md\n- Provider comparison: https://runapi.ai/providers/deepseek.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `RUNAPI_TOKEN`, or a\n  secret manager; never inline them in commits or shell history.\n- Default new integrations to the OpenAI-compatible client at\n  `https://runapi.ai/v1`.\n- Use streaming for responses longer than a few hundred tokens.\n- For pricing, rate-limit, and commercial-usage answers, link to\n  https://runapi.ai/models/deepseek.md rather than copying values.\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1784797137744\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nCall the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash) through RunAPI using the official OpenAI SDK, Anthropic SDK, or compatible clients. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and engineers use this skill to configure agents and existing LLM SDK integrations for DeepSeek models through RunAPI. It provides setup guidance, code examples, streaming patterns, protocol compatibility notes, and constraints for the supported DeepSeek model subset. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Prompts and generated content are routed through RunAPI for DeepSeek requests, which can expose sensitive data to that service path. <br>\nMitigation: Use the skill only when routing through RunAPI is intended, and review RunAPI data-handling expectations before sending sensitive prompts. <br>\nRisk: RunAPI tokens can be exposed if copied into source files, commits, or shell history. <br>\nMitigation: Keep tokens in environment variables or a secret manager, and avoid inline credentials in committed code or long-lived command history. <br>\nRisk: Pricing, rate limits, and commercial usage terms may affect deployment decisions. <br>\nMitigation: Review the linked RunAPI DeepSeek model overview for current pricing, rate limits, and usage expectations before production use. <br>\nRisk: Requests outside the documented cross-protocol subset may fail or behave differently than examples. <br>\nMitigation: Stay within the documented model, streaming, and single-function constraints, and treat unsupported advanced fields as integration risks. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-deepseek) <br>\n- [RunAPI DeepSeek model overview](https://runapi.ai/models/deepseek.md) <br>\n- [RunAPI DeepSeek provider comparison](https://runapi.ai/providers/deepseek.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [RunAPI DeepSeek homepage](https://runapi.ai/models/deepseek) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [text, markdown, code, shell commands, configuration, guidance] <br>\n**Output Format:** [Markdown guidance with Python, TypeScript, dotenv, and curl examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Includes environment-variable requirements, compatible API base URLs, model IDs, streaming guidance, and protocol constraints.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (source: ClawHub release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>\n\nArchive v0.1.0: 3 files, 3475 bytes\n\nFiles: skill-card.md (2356b), SKILL.md (5394b), _meta.json (134b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-v4-pro, deepseek-v4-flash) through RunAPI using the official OpenAI SDK, Anthropic SDK, or compatible clients. Use when the user asks for DeepSeek chat, streaming completions, Anthropic Messages compatibility, Gemini contents compatibility, or when they want to point an existing LLM SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env:\n      - OPENAI_API_KEY\n      - OPENAI_BASE_URL\n    envVars:\n    - name: OPENAI_API_KEY\n      required: true\n      description: RunAPI API key used by OpenAI-compatible DeepSeek clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.\n    - name: ANTHROPIC_API_KEY\n      required: false\n      description: Optional RunAPI API key alias when using Anthropic Messages examples.\n    - name: ANTHROPIC_BASE_URL\n      required: false\n      description: Optional base URL for Anthropic-compatible DeepSeek requests.\n---\n\n# DeepSeek on RunAPI\n\nDeepSeek on RunAPI exposes **OpenAI-compatible Chat Completions** and\n**Anthropic-compatible Messages**. Use the OpenAI SDK for most integrations,\nor point Anthropic-compatible clients at `https://runapi.ai` when the existing\napplication already speaks `/v1/messages`.\n\n## Setup\n\n```dotenv\nOPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1\n```\n\nGet a RunAPI API Key at <https://runapi.ai/api_keys>.\n\n## OpenAI-compatible setup\n\n```python\nfrom openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)\n```\n\n```typescript\nimport OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n```\n\n## Core recipe - Chat Completions\n\n```python\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain vector databases simply.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\n```typescript\nconst response = await client.chat.completions.create({\n  model: \"deepseek-v4-pro\",\n  messages: [{ role: \"user\", content: \"Explain vector databases simply.\" }],\n});\n```\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/chat/completions\" \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-pro\",\n    \"messages\": [{\"role\": \"user\", \"content\": \"Hello, DeepSeek!\"}]\n  }'\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"deepseek-v4-flash\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a concise release note.\"}],\n    stream=True,\n)\nfor chunk in stream:\n    delta = chunk.choices[0].delta.content\n    if delta:\n        print(delta, end=\"\", flush=True)\n```\n\nStreaming runs through a regional edge proxy so the request does not hold a\nRails/Puma thread. Long generations should always stream.\n\n## Anthropic Messages compatibility\n\n```python\nimport anthropic\n\nclient = anthropic.Anthropic(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai\",\n)\n\nmessage = client.messages.create(\n    model=\"deepseek-v4-pro\",\n    max_tokens=1024,\n    messages=[{\"role\": \"user\", \"content\": \"Draft a migration checklist.\"}],\n)\nprint(message.content[0].text)\n```\n\n```bash\ncurl -X POST \"https://runapi.ai/v1/messages\" \\\n  -H \"x-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"model\": \"deepseek-v4-flash\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Summarize this incident.\"}]\n  }'\n```\n\n`max_tokens` is required for Anthropic-compatible requests.\n\n## Gemini contents compatibility\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/deepseek-v4-flash:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"contents\": [\n      { \"role\": \"user\", \"parts\": [{ \"text\": \"Write a short product FAQ.\" }] }\n    ]\n  }'\n```\n\nUse this path only when the caller already expects Gemini `contents` streaming.\nRunAPI bridges this client shape to DeepSeek's OpenAI-compatible chat request\nformat.\nFor new app code, prefer the OpenAI-compatible setup.\n\n## List models\n\n```bash\ncurl https://runapi.ai/v1/models \\\n  -H \"Authorization: Bearer YOUR_RUNAPI_TOKEN\"\n```\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-v4-pro` | Higher quality DeepSeek chat and reasoning tasks |\n| `deepseek-v4-flash` | Fast DeepSeek chat |\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/deepseek.md\n- Provider comparison: https://runapi.ai/providers/deepseek.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`, `RUNAPI_TOKEN`, or a\n  secret manager; never inline them in commits or shell history.\n- Default new integrations to the OpenAI-compatible client at\n  `https://runapi.ai/v1`.\n- Use streaming for responses longer than a few hundred tokens.\n- For pricing, rate-limit, and commercial-usage answers, link to\n  https://runapi.ai/models/deepseek.md rather than copying values.\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1782293773866\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nCall DeepSeek API models through RunAPI using OpenAI-compatible, Anthropic-compatible, or Gemini-compatible clients. <br>\n\nThis skill is ready for commercial/non-commercial use. <br>\n\n## Publisher: <br>\n[runapi-ai](https://clawhub.ai/user/runapi-ai) <br>\n\n### License/Terms of Use: <br>\nMIT-0 <br>\n\n\n## Use Case: <br>\nDevelopers and agents use this skill to configure DeepSeek chat, streaming completions, model listing, and SDK-compatible requests through RunAPI. It is useful when adapting existing OpenAI-compatible or Anthropic-compatible client code to RunAPI endpoints. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Requests are routed through an external API provider and may include sensitive prompts or outputs. <br>\nMitigation: Avoid sending secrets, private data, or regulated content unless authorized, and confirm the external API is approved for the use case. <br>\nRisk: API tokens or base URLs can be misconfigured or exposed in code, commits, or shell history. <br>\nMitigation: Keep tokens in environment variables or a secret manager, verify the RunAPI base URL before use, and avoid inlining credentials. <br>\n\n\n## Reference(s): <br>\n- [RunAPI DeepSeek model documentation](https://runapi.ai/models/deepseek.md) <br>\n- [RunAPI DeepSeek model page](https://runapi.ai/models/deepseek) <br>\n- [RunAPI DeepSeek provider page](https://runapi.ai/providers/deepseek.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-deepseek) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Code, Shell commands, Configuration] <br>\n**Output Format:** [Markdown with dotenv, Python, TypeScript, and bash examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires OPENAI_API_KEY and OPENAI_BASE_URL for OpenAI-compatible use; includes optional Anthropic-compatible settings and streaming guidance.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server release evidence) <br>\n\n## Ethical Considerations: <br>\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment. <br>","readmeExcerpt":"Skill: deepseek Owner: runapi-ai Summary: Call the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use deepseek-flash for the current V4.1 Flash model; the v4 names remain compatibility aliases. Tags: latest:0.1.6 Version history: v0.1.6 | 2026-09-16T10:10:45.856Z | user Added - Document deepseek","codeSnippets":[],"executableExamples":[{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)"},{"language":"python","snippet":"from openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)"},{"language":"dotenv","snippet":"OPENAI_API_KEY=YOUR_RUNAPI_TOKEN\nOPENAI_BASE_URL=https://runapi.ai/v1"},{"language":"python","snippet":"from openai import OpenAI\n\nclient = OpenAI(\n    api_key=\"YOUR_RUNAPI_TOKEN\",\n    base_url=\"https://runapi.ai/v1\",\n)"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: deepseek\ndescription: Call the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses. Use deepseek-flash for the current V4.1 Flash model; the v4 names remain compatibility aliases.\ndocumentation: https://runapi.ai/models/deepseek.md\nprovider_page: https://runapi.ai/providers/deepseek.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/deepseek\n    primaryEnv: OPENAI_API_KEY\n    requires:\n      env: [OPENAI_API_KEY, OPENAI_BASE_URL]\n    envVars:\n    - {name: OPENAI_API_KEY, required: true, description: RunAPI API key used by OpenAI-compatible DeepSeek clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for DeepSeek on RunAPI.}\n---\n\n# DeepSeek on RunAPI\n\nUse OpenAI-compatible endpoints at `https://runapi.ai/v1` as the primary protocol.\n\n## Primary protocol recipe\n\n### Authenticate\n\nSet `OPENAI_API_KEY` to a RunAPI API key and `OPENAI_BASE_URL` to `https://runapi.ai/v1`.\n\n### Send request\n\n```python\nfrom openai import OpenAI\nclient = OpenAI(api_key=\"YOUR_RUNAPI_TOKEN\", base_url=\"https://runapi.ai/v1\")\nresponse = client.chat.completions.create(\n    model=\"deepseek-v4-pro\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this decision.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\n```\n\nFor long output, set `stream=True` and\n`stream_options={\"include_usage\": True}`; consume through `[DONE]`.\n`deepseek-v4-flash` additionally supports one custom function on Responses;\nkeep automatic tool selection and one serial call/result lifecycle.\n\nFor image input, use `deepseek-v4-flash-vision-exp` with a Chat Completions\nmessage content array containing a text part and an `image_url` part. The image\nURL must be publicly reachable and use JPEG, PNG, GIF, or WebP.\n\n### Verify result\n\nFor Chat, require final assistant content, `finish_reason`, and `usage`. For\nResponses, require final output, one usage-bearing `response.completed`, and\n`[DONE]` when streaming.\n\n### Stop boundaries\n\nCorrect a rejected shape once using the structured error. Retry transport once\nonly before any response or Usage and when replay is safe. Record a terminal\nerror and stop without changing model or protocol. Add tools, reasoning,\nstorage, cache controls, documents, or multimodal input only when the current\nRunAPI contract verifies the exact model/protocol shape.\n\n## Compatibility protocols\n\nLoad [compatibility protocols](references/compatibility-protocols.md) only when an existing client requires Anthropic Messages or Gemini contents.\n\n## Supported models\n\n| Model ID | Use when |\n|---|---|\n| `deepseek-flash` | Current V4.1 Flash model for fast text and reasoning |\n| `deepseek-v4-flash-vision-exp` | Image input and vision tasks |\n| `deepseek-v4-pro` | Higher-quality verified text workloads |\n| `deepseek-v4-flash` | Compatibility alias for Flash |\n\n"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-deepseek\",\n  \"version\": \"0.1.6\",\n  \"publishedAt\": 1789553445856\n}"},{"path":"references/compatibility-protocols.md","content":"# DeepSeek compatibility protocols\n\nLoad this reference only for an existing Anthropic Messages or Gemini contents client.\n\nFor Messages, use base URL `https://runapi.ai`, a RunAPI key, a supported exact\nmodel ID, `max_tokens`, and text messages. `deepseek-v4-flash-vision-exp` is the\nimage-input variant; for vision requests use its Chat Completions shape with an\n`image_url` content part. Verify final content, `stop_reason`, and `usage`;\nstreaming ends at `message_stop`.\n\nFor Gemini contents, set `RUNAPI_MODEL` to a supported exact model ID and use\n`https://runapi.ai/v1beta/models/$RUNAPI_MODEL:generateContent`\nor `streamGenerateContent` with `x-goog-api-key`. Verify candidates,\n`finishReason`, and `usageMetadata`.\n\nApply one evidence-backed shape correction, at most one safe pre-response\ntransport retry, and no automatic model or protocol hopping."},{"path":"skill-card.md","content":"## Description:\n\nCall the DeepSeek API (deepseek-flash, deepseek-v4-pro, deepseek-v4-flash, and deepseek-v4-flash-vision-exp) through RunAPI using OpenAI-compatible Chat Completions and Responses.\n\nThis skill is ready for commercial/non-commercial use.\n\n## Publisher:\n\n[runapi-ai](https://clawhub.ai/user/runapi-ai)\n\n### License/Terms of Use:\n\nMIT-0\n\n## Use Case:\n\nDevelopers and agents use this skill to configure and call DeepSeek models through RunAPI with OpenAI-compatible Chat Completions and Responses. It also provides compatibility guidance for existing Anthropic Messages or Gemini contents clients.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: RunAPI API keys are required and could be exposed through insecure configuration or logging.\n\nMitigation: Store keys in environment variables or a secret manager, avoid hardcoding them in prompts or files, and prevent key values from appearing in logs.\n\nRisk: Prompts, data, and image URLs are routed to a third-party service for processing.\n\nMitigation: Use the skill only when RunAPI processing is acceptable for the data classification, and avoid private prompts, sensitive data, or sensitive image URLs unless approved.\n\nRisk: Unsupported model or protocol assumptions can produce rejected requests or misleading integration guidance.\n\nMitigation: Use exact supported model IDs, verify final content and usage fields, apply at most one evidence-backed shape correction, and avoid automatic model or protocol hopping.\n\n## Reference(s):\n\n- [DeepSeek model documentation](https://runapi.ai/models/deepseek.md)\n- [DeepSeek provider documentation](https://runapi.ai/providers/deepseek.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [DeepSeek on RunAPI homepage](https://runapi.ai/models/deepseek)\n- [DeepSeek compatibility protocols](references/compatibility-protocols.md)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown with inline code blocks and environment variable settings]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes model selection, request validation, streaming, retry, and protocol compatibility guidance.]\n\n## Skill Version(s):\n\n0.1.6 (source: server release evidence)\n\n## Ethical Considerations:\n\nUsers should evaluate whether this skill is appropriate for their environment, review any generated or modified files before relying on them, and apply their organization's safety, security, and compliance requirements before deployment."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1334,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-11T04:20:51.703Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-11T07:39:18.547Z","emptyReason":null},"items":[{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-10-09T19:11:12.944Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/clawhub","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}