{"id":"eef976a3-4791-48af-a035-3bf209babaae","entityType":"agent","slug":"clawhub-runapi-ai-runapi-kimi","name":"kimi","canonicalUrl":"https://www.xpersona.co/agent/clawhub-runapi-ai-runapi-kimi","canonicalPath":"/agent/clawhub-runapi-ai-runapi-kimi","generatedAt":"2026-10-11T14:13:02.698Z","source":"CLAWHUB","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:19:54.597Z","emptyReason":null},"description":"Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions. Use for Kimi text chat, streaming, or an existing compatibility client that needs the conditional reference.","descriptionLabel":"Source description","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.","installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-kimi","sourceUrl":"https://clawhub.ai/runapi-ai/runapi-kimi","homepage":"https://clawhub.ai/runapi-ai/skills/runapi-kimi","primaryLinks":[{"label":"View on ClawHub","url":"https://clawhub.ai/runapi-ai/runapi-kimi","kind":"source"},{"label":"Homepage","url":"https://clawhub.ai/runapi-ai/skills/runapi-kimi","kind":"homepage"}],"safetyScore":84,"overallRank":62,"popularityScore":61,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"kimi 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-11T11:19:54.597Z","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-11T11:19:54.597Z","emptyReason":null},"stars":null,"forks":null,"downloads":1078,"packageName":null,"latestVersion":"0.2.3","tractionLabel":"1.1K downloads"},"release":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"medium","updatedAt":"2026-10-11T11:19:54.533Z","emptyReason":null},"lastUpdatedAt":"2026-10-11T11:19:54.597Z","lastCrawledAt":"2026-10-11T11:19:54.533Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-12T11:19:54.533Z","lastVerifiedAt":null,"highlights":[{"version":"0.2.3","createdAt":"2026-08-12T07:35:59.354Z","changelog":"## Changed - Document Kimi authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.","fileCount":4,"zipByteSize":3385},{"version":"0.2.2","createdAt":"2026-08-10T14:14:47.454Z","changelog":"## Changed - Complete marketplace distribution for the RunAPI Kimi skill.","fileCount":3,"zipByteSize":4006},{"version":"0.2.1","createdAt":"2026-07-23T10:06:43.715Z","changelog":"## Changed - Document the shared basic-text contract across Chat Completions, Responses, Messages, and Gemini native. ## Fixed - Clarify reasoning, tools, multimodal, cache, continuation, sampling, and output-limit behavior for `kimi-k3` and `kimi-k2.7-code`.","fileCount":3,"zipByteSize":3750},{"version":"0.2.0","createdAt":"2026-07-23T08:59:15.969Z","changelog":"## Added - Add exact `kimi-k3` to the supported model list and primary examples. ## Changed - Document the initial text-only contract and always-on reasoning behavior.","fileCount":3,"zipByteSize":3201},{"version":"0.1.1","createdAt":"2026-07-22T22:57:13.697Z","changelog":"## Added - Document `kimi-k2.7-code` as the coding-focused model in setup examples and model selection guidance.","fileCount":3,"zipByteSize":3308},{"version":"0.1.0","createdAt":"2026-06-24T09:36:32.773Z","changelog":"## Changed - Initial RunAPI skill for Kimi chat with OpenAI-compatible defaults and protocol compatibility notes.","fileCount":3,"zipByteSize":3211}]},"execution":{"evidence":{"source":"CLAWHUB","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":"clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-kimi","setupComplexity":"low","setupSteps":["Install using `clawhub skill install s1771k6pjxksnjws51x2htfjvd876syh:runapi-kimi` 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-kimi 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-kimi/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/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-11T14:13:02.697Z"}},"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-kimi/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/clawhub-runapi-ai-runapi-kimi/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-11T11:19:54.597Z","emptyReason":null},"readme":"Skill: kimi\n\nOwner: runapi-ai\n\nSummary: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions. Use for Kimi text chat, streaming, or an existing compatibility client that needs the conditional reference.\n\nTags: latest:0.2.3\n\nVersion history:\n\nv0.2.3 | 2026-08-12T07:35:59.354Z | user\n\n## Changed\n- Document Kimi authentication, request, result verification, and stop boundaries in the primary recipe, with compatibility protocols loaded only when required.\n\nv0.2.2 | 2026-08-10T14:14:47.454Z | user\n\n## Changed\n- Complete marketplace distribution for the RunAPI Kimi skill.\n\nv0.2.1 | 2026-07-23T10:06:43.715Z | user\n\n## Changed\n- Document the shared basic-text contract across Chat Completions, Responses, Messages, and Gemini native.\n\n## Fixed\n- Clarify reasoning, tools, multimodal, cache, continuation, sampling, and output-limit behavior for `kimi-k3` and `kimi-k2.7-code`.\n\nv0.2.0 | 2026-07-23T08:59:15.969Z | user\n\n## Added\n- Add exact `kimi-k3` to the supported model list and primary examples.\n\n## Changed\n- Document the initial text-only contract and always-on reasoning behavior.\n\nv0.1.1 | 2026-07-22T22:57:13.697Z | user\n\n## Added\n- Document `kimi-k2.7-code` as the coding-focused model in setup examples and model selection guidance.\n\nv0.1.0 | 2026-06-24T09:36:32.773Z | user\n\n## Changed\n- Initial RunAPI skill for Kimi chat with OpenAI-compatible defaults and protocol compatibility notes.\n\nArchive index:\n\nArchive v0.2.3: 4 files, 3385 bytes\n\nFiles: references/compatibility-protocols.md (712b), skill-card.md (2189b), SKILL.md (2671b), _meta.json (130b)\n\nFile v0.2.3:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions. Use for Kimi text chat, streaming, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Kimi on RunAPI.}\n---\n\n# Kimi on RunAPI\n\nUse OpenAI-compatible Chat Completions 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=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this finding.\"}],\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\n### Verify result\n\nRequire final assistant content, `finish_reason`, and authoritative `usage`.\nUse the returned final answer rather than raw reasoning content.\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. For `kimi-k3` and\n`kimi-k2.7-code`, start with text history and final answers; add tools,\nmultimodal input, reasoning controls, cache controls, or continuation only when\nthe current RunAPI contract explicitly verifies the exact 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| `kimi-k3` | Current flagship basic text requests |\n| `kimi-k2.7-code` | Dedicated coding requests |\n| `kimi-k2.6` | Recent Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## References\n\n- <https://runapi.ai/models/kimi.md>\n- <https://runapi.ai/providers/moonshot-ai.md>\n- <https://runapi.ai/models.md>\n\nFile v0.2.3:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1786520159354\n}\n\nFile v0.2.3:references/compatibility-protocols.md\n\n# Kimi 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.2.3:skill-card.md\n\n## Description:\n\nCall the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions.\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 Kimi access through RunAPI for text chat, streaming responses, coding workloads, and compatibility clients that require Anthropic Messages or Gemini contents shapes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requests may be sent with the wrong credential or endpoint, causing authentication failures or unintended provider routing.\n\nMitigation: Use a scoped RunAPI key and confirm OPENAI_BASE_URL is set to https://runapi.ai/v1 for OpenAI-compatible Kimi clients.\n\nRisk: Unsupported request shapes, automatic model changes, or protocol hopping can produce unreliable behavior.\n\nMitigation: Follow the documented stop boundaries: correct one rejected shape, retry transport once only when safe, and stop without changing model or protocol automatically.\n\n## Reference(s):\n\n- [Kimi model documentation](https://runapi.ai/models/kimi.md)\n- [Moonshot AI provider page](https://runapi.ai/providers/moonshot-ai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Kimi on RunAPI homepage](https://runapi.ai/models/kimi)\n- [Kimi 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 inline Python and endpoint configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes OpenAI-compatible Chat Completions guidance plus conditional Anthropic Messages and Gemini compatibility notes.]\n\n## Skill Version(s):\n\n0.2.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.2.2: 3 files, 4006 bytes\n\nFiles: skill-card.md (2537b), SKILL.md (5542b), _meta.json (130b)\n\nFile v0.2.2:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI SDK or compatible clients. Use when the user asks for Kimi chat, streaming completions, Anthropic or Gemini protocol compatibility, or when they want to point an existing OpenAI SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Kimi on RunAPI.\n---\n\n# Kimi on RunAPI\n\nUse the official **OpenAI SDK** or any OpenAI-compatible HTTP client and switch\nthe base URL to `https://runapi.ai/v1`. The primary endpoint is Chat\nCompletions (`POST /v1/chat/completions`).\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## Core recipe - Chat Completions\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\nresponse = client.chat.completions.create(\n    model=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\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\nconst response = await client.chat.completions.create({\n  model: \"kimi-k3\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\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## Protocol compatibility\n\nKimi models are also available through RunAPI's Anthropic-compatible and Gemini\n`contents` client surfaces. RunAPI bridges those request and response shapes to\nthe OpenAI-compatible chat request format, so use these protocol paths only when an\nexisting tool expects those formats:\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\": \"kimi-k3\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Draft a concise answer.\"}]\n  }'\n```\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/kimi-k3:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contents\":[{\"role\":\"user\",\"parts\":[{\"text\":\"Hello!\"}]}]}'\n```\n\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| `kimi-k3` | Current flagship for text requests with always-on reasoning |\n| `kimi-k2.7-code` | Dedicated coding model with always-on thinking |\n| `kimi-k2.6` | Latest Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## K3 and K2.7 Code capability boundary\n\nAcross Chat Completions, Responses, Messages, and Gemini native, RunAPI supports\nbasic text, final answers, canonical reasoning/cache Usage, and automatic cache\nhandling for `kimi-k3` and `kimi-k2.7-code`. Raw `reasoning_content` is not\nreturned.\n\nDo not send explicit reasoning controls, tools or tool history, multimodal\ncontent, structured-output fields, cache IDs/TTL controls, opaque continuation\nstate, or signed thought blocks. These shapes fail before a task is created.\n`kimi-k3` reasoning effort and both models' tools/multimodal features are\n`native-only`; `kimi-k2.7-code` reasoning effort, explicit cache expiry,\nopaque continuation, and protocol-signed thoughts are `cull`.\n\nOmit sampling controls, or use `temperature=1.0`, `top_p=0.95`, `n=1`,\n`presence_penalty=0`, and `frequency_penalty=0`. Keep requested output at or\nbelow 131072 tokens for `kimi-k3` and 32768 tokens for `kimi-k2.7-code`. For\nChat Completions, send either `max_tokens` or `max_completion_tokens`, never\nboth.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/kimi.md\n- Provider comparison: https://runapi.ai/providers/moonshot-ai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager; never\n  inline them in commits or shell history.\n- Default new integrations to the OpenAI-compatible client at\n  `https://runapi.ai/v1`.\n- For `kimi-k3` and `kimi-k2.7-code`, send basic text only and consume the final\n  answer plus Usage; do not depend on raw reasoning or stateful continuation.\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/kimi.md rather than copying values.\n\nFile v0.2.2:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.2.2\",\n  \"publishedAt\": 1786371287454\n}\n\nFile v0.2.2:skill-card.md\n\n## Description:\n\nCall the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI 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 engineers use this skill to configure OpenAI-compatible, Anthropic-compatible, or Gemini-compatible clients for Kimi models through RunAPI. It provides setup guidance, API examples, streaming guidance, model selection notes, and capability boundaries.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requests are sent through RunAPI, so using the wrong base URL or token can route traffic through an unintended service.\n\nMitigation: Set OPENAI_BASE_URL to https://runapi.ai/v1 and store the RunAPI token in OPENAI_API_KEY, RUNAPI_TOKEN, or a secret manager.\n\nRisk: API keys may be exposed if copied into committed code, shared snippets, or shell history.\n\nMitigation: Keep tokens in environment variables or a secret manager and avoid inlining real credentials in code examples.\n\nRisk: Unsupported Kimi request features can fail before a task is created.\n\nMitigation: For kimi-k3 and kimi-k2.7-code, send basic text requests, avoid raw reasoning, tool history, multimodal content, structured-output fields, cache controls, and stateful continuation.\n\n## Reference(s):\n\n- [Kimi model overview, pricing, and rate limits](https://runapi.ai/models/kimi.md)\n- [RunAPI Kimi homepage](https://runapi.ai/models/kimi)\n- [Moonshot AI provider comparison](https://runapi.ai/providers/moonshot-ai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-kimi)\n- [RunAPI publisher profile](https://clawhub.ai/user/runapi-ai)\n\n## Skill Output:\n\n**Output Type(s):** [Guidance, Code, Shell commands, Configuration]\n\n**Output Format:** [Markdown with dotenv, Python, TypeScript, and shell examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes environment variable requirements, streaming guidance, supported model IDs, and Kimi capability boundaries.]\n\n## Skill Version(s):\n\n0.2.2 (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.2.1: 3 files, 3750 bytes\n\nFiles: skill-card.md (2112b), SKILL.md (5542b), _meta.json (130b)\n\nFile v0.2.1:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI SDK or compatible clients. Use when the user asks for Kimi chat, streaming completions, Anthropic or Gemini protocol compatibility, or when they want to point an existing OpenAI SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Kimi on RunAPI.\n---\n\n# Kimi on RunAPI\n\nUse the official **OpenAI SDK** or any OpenAI-compatible HTTP client and switch\nthe base URL to `https://runapi.ai/v1`. The primary endpoint is Chat\nCompletions (`POST /v1/chat/completions`).\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## Core recipe - Chat Completions\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\nresponse = client.chat.completions.create(\n    model=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\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\nconst response = await client.chat.completions.create({\n  model: \"kimi-k3\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\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## Protocol compatibility\n\nKimi models are also available through RunAPI's Anthropic-compatible and Gemini\n`contents` client surfaces. RunAPI bridges those request and response shapes to\nthe OpenAI-compatible chat request format, so use these protocol paths only when an\nexisting tool expects those formats:\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\": \"kimi-k3\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Draft a concise answer.\"}]\n  }'\n```\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/kimi-k3:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contents\":[{\"role\":\"user\",\"parts\":[{\"text\":\"Hello!\"}]}]}'\n```\n\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| `kimi-k3` | Current flagship for text requests with always-on reasoning |\n| `kimi-k2.7-code` | Dedicated coding model with always-on thinking |\n| `kimi-k2.6` | Latest Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## K3 and K2.7 Code capability boundary\n\nAcross Chat Completions, Responses, Messages, and Gemini native, RunAPI supports\nbasic text, final answers, canonical reasoning/cache Usage, and automatic cache\nhandling for `kimi-k3` and `kimi-k2.7-code`. Raw `reasoning_content` is not\nreturned.\n\nDo not send explicit reasoning controls, tools or tool history, multimodal\ncontent, structured-output fields, cache IDs/TTL controls, opaque continuation\nstate, or signed thought blocks. These shapes fail before a task is created.\n`kimi-k3` reasoning effort and both models' tools/multimodal features are\n`native-only`; `kimi-k2.7-code` reasoning effort, explicit cache expiry,\nopaque continuation, and protocol-signed thoughts are `cull`.\n\nOmit sampling controls, or use `temperature=1.0`, `top_p=0.95`, `n=1`,\n`presence_penalty=0`, and `frequency_penalty=0`. Keep requested output at or\nbelow 131072 tokens for `kimi-k3` and 32768 tokens for `kimi-k2.7-code`. For\nChat Completions, send either `max_tokens` or `max_completion_tokens`, never\nboth.\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/kimi.md\n- Provider comparison: https://runapi.ai/providers/moonshot-ai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager; never\n  inline them in commits or shell history.\n- Default new integrations to the OpenAI-compatible client at\n  `https://runapi.ai/v1`.\n- For `kimi-k3` and `kimi-k2.7-code`, send basic text only and consume the final\n  answer plus Usage; do not depend on raw reasoning or stateful continuation.\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/kimi.md rather than copying values.\n\nFile v0.2.1:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.2.1\",\n  \"publishedAt\": 1784801203715\n}\n\nFile v0.2.1:skill-card.md\n\n## Description: <br>\nCall the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI 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 or applications for Kimi model access through RunAPI using OpenAI-compatible, Anthropic-compatible, or Gemini-compatible client surfaces. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: API credentials could be exposed if copied into source files, commits, or shell history. <br>\nMitigation: Store RunAPI credentials only in environment variables or a secret manager. <br>\nRisk: Using the skill routes model requests through RunAPI. <br>\nMitigation: Confirm RunAPI is an approved provider for the intended Kimi access before installation or use. <br>\n\n\n## Reference(s): <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-kimi) <br>\n- [RunAPI Kimi model documentation](https://runapi.ai/models/kimi.md) <br>\n- [RunAPI Kimi homepage](https://runapi.ai/models/kimi) <br>\n- [RunAPI Moonshot AI provider page](https://runapi.ai/providers/moonshot-ai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <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 RunAPI API credentials in environment variables and routes model requests through RunAPI.] <br>\n\n## Skill Version(s): <br>\n0.2.1 (source: server release metadata) <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.2.0: 3 files, 3201 bytes\n\nFiles: skill-card.md (1945b), SKILL.md (4344b), _meta.json (130b)\n\nFile v0.2.0:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI SDK or compatible clients. Use when the user asks for Kimi chat, streaming completions, Anthropic or Gemini protocol compatibility, or when they want to point an existing OpenAI SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Kimi on RunAPI.\n---\n\n# Kimi on RunAPI\n\nUse the official **OpenAI SDK** or any OpenAI-compatible HTTP client and switch\nthe base URL to `https://runapi.ai/v1`. The primary endpoint is Chat\nCompletions (`POST /v1/chat/completions`).\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## Core recipe - Chat Completions\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\nresponse = client.chat.completions.create(\n    model=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\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\nconst response = await client.chat.completions.create({\n  model: \"kimi-k3\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\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## Protocol compatibility\n\nKimi models are also available through RunAPI's Anthropic-compatible and Gemini\n`contents` client surfaces. RunAPI bridges those request and response shapes to\nthe OpenAI-compatible chat request format, so use these protocol paths only when an\nexisting tool expects those formats:\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\": \"kimi-k3\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Draft a concise answer.\"}]\n  }'\n```\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/kimi-k3:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contents\":[{\"role\":\"user\",\"parts\":[{\"text\":\"Hello!\"}]}]}'\n```\n\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| `kimi-k3` | Current flagship for text requests with always-on reasoning |\n| `kimi-k2.7-code` | Dedicated coding model with always-on thinking |\n| `kimi-k2.6` | Latest Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/kimi.md\n- Provider comparison: https://runapi.ai/providers/moonshot-ai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager; never\n  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/kimi.md rather than copying values.\n\nFile v0.2.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.2.0\",\n  \"publishedAt\": 1784797155969\n}\n\nFile v0.2.0:skill-card.md\n\n## Description: <br>\nCall Kimi models through RunAPI with the official OpenAI SDK or compatible clients for chat, streaming completions, and Anthropic- or Gemini-compatible request formats. <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 OpenAI-compatible clients for Kimi models on RunAPI, including chat completions, streaming, and compatibility paths for tools that expect Anthropic or Gemini-style APIs. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: The skill sends prompts to an external RunAPI service and requires an API token. <br>\nMitigation: Keep tokens in environment variables or a secret manager, and avoid sending sensitive prompts unless that matches the user's data-sharing expectations. <br>\n\n\n## Reference(s): <br>\n- [RunAPI Kimi model overview](https://runapi.ai/models/kimi) <br>\n- [RunAPI Kimi documentation](https://runapi.ai/models/kimi.md) <br>\n- [Moonshot AI provider comparison](https://runapi.ai/providers/moonshot-ai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <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 curl examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires OPENAI_API_KEY and OPENAI_BASE_URL for RunAPI access.] <br>\n\n## Skill Version(s): <br>\n0.2.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>\n\nArchive v0.1.1: 3 files, 3308 bytes\n\nFiles: skill-card.md (2318b), SKILL.md (4272b), _meta.json (130b)\n\nFile v0.1.1:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI SDK or compatible clients. Use when the user asks for Kimi chat, streaming completions, Anthropic or Gemini protocol compatibility, or when they want to point an existing OpenAI SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Kimi on RunAPI.\n---\n\n# Kimi on RunAPI\n\nUse the official **OpenAI SDK** or any OpenAI-compatible HTTP client and switch\nthe base URL to `https://runapi.ai/v1`. The primary endpoint is Chat\nCompletions (`POST /v1/chat/completions`).\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## Core recipe - Chat Completions\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\nresponse = client.chat.completions.create(\n    model=\"kimi-k2.7-code\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\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\nconst response = await client.chat.completions.create({\n  model: \"kimi-k2.6\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\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## Protocol compatibility\n\nKimi models are also available through RunAPI's Anthropic-compatible and Gemini\n`contents` client surfaces. RunAPI bridges those request and response shapes to\nthe OpenAI-compatible chat request format, so use these protocol paths only when an\nexisting tool expects those formats:\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\": \"kimi-k2.6\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Draft a concise answer.\"}]\n  }'\n```\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/kimi-k2.6:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contents\":[{\"role\":\"user\",\"parts\":[{\"text\":\"Hello!\"}]}]}'\n```\n\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| `kimi-k2.7-code` | Dedicated coding model with always-on thinking |\n| `kimi-k2.6` | Latest Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/kimi.md\n- Provider comparison: https://runapi.ai/providers/moonshot-ai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager; never\n  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/kimi.md rather than copying values.\n\nFile v0.1.1:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.1.1\",\n  \"publishedAt\": 1784761033697\n}\n\nFile v0.1.1:skill-card.md\n\n## Description: <br>\nCall the Kimi API (kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI 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 agents use this skill to configure OpenAI-compatible, Anthropic-compatible, or Gemini-compatible clients for Kimi models through RunAPI, including chat completions, streaming, model listing, and model-selection guidance. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: Requests, prompts, responses, and credentials are routed through RunAPI when this skill's configuration is used. <br>\nMitigation: Set OPENAI_BASE_URL to https://runapi.ai/v1 only for clients intended to use RunAPI, and confirm that this external provider path is acceptable before installation. <br>\nRisk: RunAPI tokens can grant access to paid or sensitive API usage if exposed. <br>\nMitigation: Store tokens in OPENAI_API_KEY, RUNAPI_TOKEN, or a secret manager, and avoid placing credentials in source files, commits, or shell history. <br>\n\n\n## Reference(s): <br>\n- [RunAPI Kimi model documentation](https://runapi.ai/models/kimi.md) <br>\n- [RunAPI Kimi model page](https://runapi.ai/models/kimi) <br>\n- [RunAPI Moonshot AI provider page](https://runapi.ai/providers/moonshot-ai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-kimi) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [guidance, markdown, code, shell commands, configuration] <br>\n**Output Format:** [Markdown with dotenv, Python, TypeScript, and shell command examples] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Requires RunAPI credentials and an OpenAI-compatible base URL configuration.] <br>\n\n## Skill Version(s): <br>\n0.1.1 (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>\n\nArchive v0.1.0: 3 files, 3211 bytes\n\nFiles: skill-card.md (2125b), SKILL.md (4181b), _meta.json (130b)\n\nFile v0.1.0:SKILL.md\n\n---\nname: kimi\ndescription: Call the Kimi API (kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI SDK or compatible clients. Use when the user asks for Kimi chat, streaming completions, Anthropic or Gemini protocol compatibility, or when they want to point an existing OpenAI SDK setup at RunAPI as the base URL.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.\n    - name: OPENAI_BASE_URL\n      required: true\n      description: Set to https://runapi.ai/v1 for Kimi on RunAPI.\n---\n\n# Kimi on RunAPI\n\nUse the official **OpenAI SDK** or any OpenAI-compatible HTTP client and switch\nthe base URL to `https://runapi.ai/v1`. The primary endpoint is Chat\nCompletions (`POST /v1/chat/completions`).\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## Core recipe - Chat Completions\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\nresponse = client.chat.completions.create(\n    model=\"kimi-k2.6\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)\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\nconst response = await client.chat.completions.create({\n  model: \"kimi-k2.6\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});\n```\n\n## Streaming\n\n```python\nstream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\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## Protocol compatibility\n\nKimi models are also available through RunAPI's Anthropic-compatible and Gemini\n`contents` client surfaces. RunAPI bridges those request and response shapes to\nthe OpenAI-compatible chat request format, so use these protocol paths only when an\nexisting tool expects those formats:\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\": \"kimi-k2.6\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": \"Draft a concise answer.\"}]\n  }'\n```\n\n```bash\ncurl -X POST \\\n  \"https://runapi.ai/v1beta/models/kimi-k2.6:streamGenerateContent\" \\\n  -H \"x-goog-api-key: YOUR_RUNAPI_TOKEN\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"contents\":[{\"role\":\"user\",\"parts\":[{\"text\":\"Hello!\"}]}]}'\n```\n\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| `kimi-k2.6` | Latest Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## References\n\n- Model overview, pricing, and rate limits: https://runapi.ai/models/kimi.md\n- Provider comparison: https://runapi.ai/providers/moonshot-ai.md\n- Catalog: https://runapi.ai/models.md\n\n## Agent rules\n\n- Keep API keys in `OPENAI_API_KEY`, `RUNAPI_TOKEN`, or a secret manager; never\n  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/kimi.md rather than copying values.\n\nFile v0.1.0:_meta.json\n\n{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.1.0\",\n  \"publishedAt\": 1782293792773\n}\n\nFile v0.1.0:skill-card.md\n\n## Description: <br>\nCall the Kimi API (kimi-k2.6, kimi-k2.5) through RunAPI using the official OpenAI 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 or applications to call Kimi chat models through RunAPI with OpenAI-compatible, Anthropic-compatible, or Gemini-compatible client surfaces. <br>\n\n### Deployment Geography for Use: <br>\nGlobal <br>\n\n## Known Risks and Mitigations: <br>\nRisk: RunAPI credentials could be exposed if copied into source files, prompts, shell history, or logs. <br>\nMitigation: Store RunAPI-scoped API keys in environment variables or a secret manager and avoid committing or pasting secrets. <br>\nRisk: Prompts may send sensitive or regulated data to the provider flow. <br>\nMitigation: Use this provider path only for data your organization has approved for RunAPI and Kimi processing. <br>\n\n\n## Reference(s): <br>\n- [Kimi model overview](https://runapi.ai/models/kimi.md) <br>\n- [Kimi homepage](https://runapi.ai/models/kimi) <br>\n- [Moonshot AI provider page](https://runapi.ai/providers/moonshot-ai.md) <br>\n- [RunAPI model catalog](https://runapi.ai/models.md) <br>\n- [ClawHub skill page](https://clawhub.ai/runapi-ai/skills/runapi-kimi) <br>\n\n\n## Skill Output: <br>\n**Output Type(s):** [Guidance, Markdown, Code, Shell commands, Configuration] <br>\n**Output Format:** [Markdown with inline code blocks and shell commands] <br>\n**Output Parameters:** [1D] <br>\n**Other Properties Related to Output:** [Documentation-only guidance; requires OPENAI_API_KEY and OPENAI_BASE_URL for use with RunAPI.] <br>\n\n## Skill Version(s): <br>\n0.1.0 (source: server release metadata) <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: kimi Owner: runapi-ai Summary: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions. Use for Kimi text chat, streaming, or an existing compatibility client that needs the conditional reference. Tags: latest:0.2.3 Version history: v0.2.3 | 2026-08-12T07:35:59.354Z | user Changed - Document Kimi authentication, request, result verification, and","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=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this finding.\"}],\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)\n\nresponse = client.chat.completions.create(\n    model=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code review finding.\"}],\n)\nprint(response.choices[0].message.content)\nprint(response.usage)"},{"language":"typescript","snippet":"import OpenAI from \"openai\";\n\nconst client = new OpenAI({\n  apiKey: \"YOUR_RUNAPI_TOKEN\",\n  baseURL: \"https://runapi.ai/v1\",\n});\n\nconst response = await client.chat.completions.create({\n  model: \"kimi-k3\",\n  messages: [{ role: \"user\", content: \"Explain this code review finding.\" }],\n});"},{"language":"python","snippet":"stream = client.chat.completions.create(\n    model=\"kimi-k2.5\",\n    messages=[{\"role\": \"user\", \"content\": \"Write a compact changelog.\"}],\n    stream=True,\n)\nfor chunk in stream:\n    delta = chunk.choices[0].delta.content\n    if delta:\n        print(delta, end=\"\", flush=True)"},{"language":"bash","snippet":"curl -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 '{"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[{"path":"SKILL.md","content":"---\nname: kimi\ndescription: Call the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions. Use for Kimi text chat, streaming, or an existing compatibility client that needs the conditional reference.\ndocumentation: https://runapi.ai/models/kimi.md\nprovider_page: https://runapi.ai/providers/moonshot-ai.md\ncatalog: https://runapi.ai/models.md\nmetadata:\n  openclaw:\n    homepage: https://runapi.ai/models/kimi\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 Kimi clients.}\n    - {name: OPENAI_BASE_URL, required: true, description: Set to https://runapi.ai/v1 for Kimi on RunAPI.}\n---\n\n# Kimi on RunAPI\n\nUse OpenAI-compatible Chat Completions 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=\"kimi-k3\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this finding.\"}],\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\n### Verify result\n\nRequire final assistant content, `finish_reason`, and authoritative `usage`.\nUse the returned final answer rather than raw reasoning content.\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. For `kimi-k3` and\n`kimi-k2.7-code`, start with text history and final answers; add tools,\nmultimodal input, reasoning controls, cache controls, or continuation only when\nthe current RunAPI contract explicitly verifies the exact 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| `kimi-k3` | Current flagship basic text requests |\n| `kimi-k2.7-code` | Dedicated coding requests |\n| `kimi-k2.6` | Recent Kimi K2 chat workloads |\n| `kimi-k2.5` | Kimi K2.5 compatibility |\n\n## References\n\n- <https://runapi.ai/models/kimi.md>\n- <https://runapi.ai/providers/moonshot-ai.md>\n- <https://runapi.ai/models.md>"},{"path":"_meta.json","content":"{\n  \"ownerId\": \"kn70me4rk7jqjt92evshjeb5z18768g7\",\n  \"slug\": \"runapi-kimi\",\n  \"version\": \"0.2.3\",\n  \"publishedAt\": 1786520159354\n}"},{"path":"references/compatibility-protocols.md","content":"# Kimi 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."},{"path":"skill-card.md","content":"## Description:\n\nCall the Kimi API (kimi-k3, kimi-k2.7-code, kimi-k2.6, kimi-k2.5) through RunAPI using OpenAI-compatible Chat Completions.\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 Kimi access through RunAPI for text chat, streaming responses, coding workloads, and compatibility clients that require Anthropic Messages or Gemini contents shapes.\n\n### Deployment Geography for Use:\n\nGlobal\n\n## Known Risks and Mitigations:\n\nRisk: Requests may be sent with the wrong credential or endpoint, causing authentication failures or unintended provider routing.\n\nMitigation: Use a scoped RunAPI key and confirm OPENAI_BASE_URL is set to https://runapi.ai/v1 for OpenAI-compatible Kimi clients.\n\nRisk: Unsupported request shapes, automatic model changes, or protocol hopping can produce unreliable behavior.\n\nMitigation: Follow the documented stop boundaries: correct one rejected shape, retry transport once only when safe, and stop without changing model or protocol automatically.\n\n## Reference(s):\n\n- [Kimi model documentation](https://runapi.ai/models/kimi.md)\n- [Moonshot AI provider page](https://runapi.ai/providers/moonshot-ai.md)\n- [RunAPI model catalog](https://runapi.ai/models.md)\n- [Kimi on RunAPI homepage](https://runapi.ai/models/kimi)\n- [Kimi 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 inline Python and endpoint configuration examples]\n\n**Output Parameters:** [1D]\n\n**Other Properties Related to Output:** [Includes OpenAI-compatible Chat Completions guidance plus conditional Anthropic Messages and Gemini compatibility notes.]\n\n## Skill Version(s):\n\n0.2.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."}],"languages":[],"docsSourceLabel":"CLAWHUB","editorialOverview":null,"editorialQuality":{"score":100,"threshold":65,"status":"thin","wordCount":1210,"uniquenessScore":42,"reasons":["uniqueness-below-45"]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-11T11:19:54.597Z","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-11T11:19:54.597Z","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-11T14:13:02.698Z","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"}]}}}