[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6J18EXYMJ512PJVVTMVSCAM":3,"skill-same:01M6J18EXYMJ512PJVVTMVSCAM":89},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":31,"publishedAt":52,"linkOnly":53,"markdownContent":54,"markdownBody":55,"frontMatter":56,"refName":60,"commitSha":61,"skillDirectory":62,"forksCount":63,"repositoryHtmlUrl":59,"repositoryHomepageUrl":64,"ownerHtmlUrl":65,"ownerBlogUrl":66,"ownerDescription":67,"updatedAt":68,"install":69,"resources":82},"01M6J18EXYMJ512PJVVTMVSCAM","liter-llm",null,"Universal LLM API client for 174 providers with native bindings for 14 languages. Use when writing code that calls LLM APIs via liter-llm in Python, TypeScript, Rust, Go, Java, C#, Ruby, PHP, Elixir, WASM, or C, when running the OpenAI-compatible proxy, or when calling LLMs through the MCP server. Covers chat, streaming, tool calling, embeddings, image generation, speech, transcription, moderation, web search, OCR, reranking, provider routing, middleware, and configuration.","xberg-io\u002Fliter-llm","xberg-io","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F241328462?v=4","01M6BYYMACFMK5WNT338Y71K58","Xberg.io","01M6J160RA8VS7XVE01W9305F3",265,"MIT","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fplugin\u002F.cursor-plugin\u002Fskills\u002Fliter-llm\u002FSKILL.md",[18,23,26],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],"liter llm","mcp server","when","elixir","native","server","llms","streaming","io","api","code","image","writing","MCP","ruby","middleware","rust","search","web search","ocr","2026-11-10 10:12:30",false,"---\ndescription: Universal LLM API client for 174 providers with native bindings for 14 languages. Use when writing code that calls LLM APIs via liter-llm in Python, TypeScript, Rust, Go, Java, C#, Ruby, PHP, Elixir, WASM, or C, when running the OpenAI-compatible proxy, or when calling LLMs through the MCP server. Covers chat, streaming, tool calling, embeddings, image generation, speech, transcription, moderation, web search, OCR, reranking, provider routing, middleware, and configuration.\nlicense: MIT\nmetadata:\n    author: xberg-io\n    version: \"0.1.0\"\n    repository: https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\nname: liter-llm\n---\n\n\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:3e0dcb446dcc37cd4709da048b254902f8d7f825b553308c5d25074419895562\nSource-Hash: blake3:725e6663621cbc5ffbaf9dbb2141fe5f9b95aee234fe9f7ece2d2b6e63dc5a66\nSchema-Version: v1\n-->\n\n# Liter-LLM Universal LLM Client\n\nLiter-LLM is a universal LLM API client with a Rust core and native bindings for\nPython, TypeScript\u002FNode.js, Go, Java, C#, Ruby, PHP, Elixir, WebAssembly, and C\n(FFI). One unified interface reaches 174 providers (OpenAI, Anthropic, Google\nGemini, Groq, Mistral, Cohere, AWS Bedrock, Azure, and many more).\n\n## Capability map\n\n- **Modalities** — chat completions, streaming, tool\u002Ffunction calling,\n  structured outputs, embeddings, image generation, audio (speech,\n  transcription), moderation, web search, OCR, reranking, batch,\n  and file operations.\n- **Provider routing** — `provider\u002Fmodel` prefix selects the backend\n  (`openai\u002Fgpt-4o`, `anthropic\u002Fclaude-sonnet-4-20250514`,\n  `gemini\u002Fgemini-2.0-flash`). Set a full `provider\u002Fmodel` as `model_hint` to choose the client provider.\n- **Middleware** — response caching, rate limiting (RPM\u002FTPM), cost tracking,\n  budget enforcement (`hard` \u002F `soft`), fallback chains, circuit-breaker\n  cooldown, and background health checks.\n- **Search providers (12)** and **OCR providers (4)** — first-class `search`\n  and `ocr` methods routed by the same prefix convention.\n- **Proxy server** — `liter-llm api` exposes an OpenAI-compatible gateway with\n  22 REST endpoints, virtual API keys, budgets, and SSE streaming.\n- **MCP server** — `liter-llm mcp` exposes 22 tools mirroring the proxy\n  endpoints, for MCP-compatible clients (Claude Code, Claude Desktop).\n- **14 language bindings** — same surface, language-native naming (snake_case\n  for Python\u002FRust\u002FRuby\u002FGo\u002FElixir\u002FPHP, camelCase for TS\u002FNode\u002FWASM\u002FC#\u002FJava).\n\n## When to use the MCP server vs the SDK vs the proxy\n\n| Use the … | When you want to … | Entry point |\n|-----------|--------------------|-------------|\n| **MCP server** | Let the agent call LLM APIs directly as tools, with no glue code | `liter-llm mcp --transport stdio` (this plugin auto-registers it) |\n| **SDK \u002F binding** | Write application code that calls LLMs in a specific language | `pip install liter-llm`, `cargo add liter-llm`, etc. |\n| **Proxy** | Give many apps\u002Fteams a shared OpenAI-compatible endpoint with keys, budgets, and rate limits | `liter-llm api --config liter-llm-proxy.toml` |\n\nRule of thumb: reach for the MCP server inside an agent session; the SDK when\nbuilding software; the proxy when centralizing access for multiple consumers.\n\n## Installation\n\n### CLI (proxy + MCP server)\n\n```bash\n# Homebrew (macOS \u002F Linux)\nbrew install xberg-io\u002Ftap\u002Fliter-llm\n\n# or run it without a persistent install (the CLI proxy package self-installs the binary)\npnpm dlx @xberg-io\u002Fliter-llm-cli@2.2.3 --help\n\n# or download a prebuilt binary from the latest GitHub release:\n#   https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Freleases\u002Flatest\n\n# or build from source\ncargo install liter-llm-cli\n\n# or Docker (35MB image)\ndocker pull ghcr.io\u002Fxberg-io\u002Fliter-llm\n```\n\n### Language bindings\n\n| Language | Install |\n|----------|---------|\n| Python | `pip install liter-llm` |\n| Node.js | `pnpm add @xberg-io\u002Fliter-llm` |\n| Rust | `cargo add liter-llm` |\n| Go | `go get github.com\u002Fxberg-io\u002Fliter-llm\u002Fpackages\u002Fgo\u002Fv2` |\n| Ruby | `gem install liter_llm` |\n| PHP | `composer require xberg-io\u002Fliter-llm` |\n| C# | `dotnet add package XbergIo.LiterLlm` |\n| WASM | `pnpm add @xberg-io\u002Fliter-llm-wasm` |\n\n## Quick start (Python, async)\n\n```python\nimport asyncio\nimport os\nfrom liter_llm import create_client\nfrom liter_llm._internal_bindings import ChatCompletionRequest\n\nasync def main() -> None:\n    client = create_client(api_key=os.environ[\"OPENAI_API_KEY\"])\n    request = ChatCompletionRequest.from_json(\n        '{\"model\":\"openai\u002Fgpt-4o\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}]}'\n    )\n    response = await client.chat(request)\n    print(response.choices[0].message.content)\n\nasyncio.run(main())\n```\n\n## Provider routing\n\nThe prefix before `\u002F` in the request's `model` selects the provider:\n\n```python\nChatCompletionRequest.from_json('{\"model\":\"openai\u002Fgpt-4o\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"anthropic\u002Fclaude-sonnet-4-20250514\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"gemini\u002Fgemini-2.0-flash\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"groq\u002Fllama3-70b\",\"messages\":[...]}')\n```\n\nClient construction resolves credentials for its selected provider from environment variables: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`,\n`GEMINI_API_KEY`, `GROQ_API_KEY`, `MISTRAL_API_KEY`, `COHERE_API_KEY`, and AWS\ncredentials for Bedrock. Create a separate client for each provider with matching\n`model_hint` and credentials. Request prefixes change routing but reuse the client\nAPI key; they do not select a new environment key per request.\n\n## Configuration\n\nPass basic options to `create_client(...)` (`api_key`, `base_url`,\n`timeout_secs`, `connect_timeout_secs`, `max_retries`, `model_hint`), or set the full surface in a\n`liter-llm.toml` (SDK) \u002F `liter-llm-proxy.toml` (proxy) — both auto-discover\nfrom the cwd upward.\n\n```toml\n# liter-llm.toml\napi_key = \"${OPENAI_API_KEY}\"\nmodel_hint = \"openai\u002Fgpt-4o\"\ntimeout_secs = 120\nmax_retries = 5\n\n[cache]\nmax_entries = 512\nttl_seconds = 600\n\n[budget]\nglobal_limit = 50.0\nenforcement = \"hard\"\n\n[rate_limit]\nrpm = 60\ntpm = 100000\n```\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `api_key` | required | Provider key, wrapped in `SecretString` (never logged). |\n| `base_url` | from registry | Override the provider base URL. |\n| `model_hint` | none | Full provider\u002Fmodel used to select the client provider and credentials. |\n| `timeout_secs` | 60 | Request timeout in seconds. |\n| `connect_timeout_secs` | 10 | Connect timeout in seconds. A connection that does not open in time is retried up to `max_retries` times. Zero is an error on every target. `wasm32` ignores any other value. |\n| `max_retries` | 3 | Retries on 429\u002F5xx with exponential backoff. |\n| `cache` | none | `max_entries`, `ttl_seconds`. |\n| `budget` | none | `global_limit`, `model_limits`, `enforcement`. |\n| `rate_limit` | none | `rpm`, `tpm`. |\n| `cost_tracking` | false | Per-request cost tracking. |\n| `tracing` | false | OpenTelemetry spans. |\n\n## Proxy server\n\n```bash\nliter-llm api --config liter-llm-proxy.toml\n```\n\n22 OpenAI-compatible endpoints, model routing by prefix, virtual API keys,\nper-key RPM\u002FTPM limits, cost tracking, budget enforcement, response caching, SSE\nstreaming, and an OpenAPI 3.1 spec at `\u002Fopenapi.json`.\n\n## MCP server\n\n```bash\nliter-llm mcp --transport stdio   # for Claude Code \u002F Claude Desktop\nliter-llm mcp --transport http --port 3001\n```\n\nThis plugin auto-registers the stdio server via `scripts\u002Fmcp-launch.sh`. The 22\ntools mirror the proxy endpoints: `chat`, `embed`, `generate_image`, `speech`,\n`transcribe`, `moderate`, `rerank`, `search`, `ocr`, `list_models`; file ops\n(`create_file`, `list_files`, `retrieve_file`, `delete_file`, `file_content`);\nbatch ops (`create_batch`, `list_batches`, `retrieve_batch`, `cancel_batch`);\nand Responses API (`create_response`, `retrieve_response`, `cancel_response`).\n\n## Common pitfalls\n\n1. **Provider routing** — use `\"provider\u002Fmodel\"` to select a request backend. Bare\n   model names fall back to the configured client provider (OpenAI by default).\n2. **API keys are SecretString** — never logged or serialized. Read from env\n   vars; never hardcode.\n3. **Python methods are async** — `await` inside an async context.\n4. **Naming conventions differ** — camelCase for TS\u002FNode\u002FWASM\u002FC#\u002FJava,\n   snake_case elsewhere.\n5. **Streaming chunks may have null content** — null-check\n   `chunk.choices[0].delta.content` before use.\n6. **Budget modes** — `hard` rejects over-budget requests; `soft` logs and\n   allows.\n\n## Additional resources\n\n- Upstream docs: \u003Chttps:\u002F\u002Fdocs.liter-llm.xberg.io>\n- GitHub: \u003Chttps:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm>\n","\u003C!--\nAI-RULEZ :: GENERATED FILE — DO NOT EDIT\nContent-Hash: blake3:3e0dcb446dcc37cd4709da048b254902f8d7f825b553308c5d25074419895562\nSource-Hash: blake3:725e6663621cbc5ffbaf9dbb2141fe5f9b95aee234fe9f7ece2d2b6e63dc5a66\nSchema-Version: v1\n-->\n\n# Liter-LLM Universal LLM Client\n\nLiter-LLM is a universal LLM API client with a Rust core and native bindings for\nPython, TypeScript\u002FNode.js, Go, Java, C#, Ruby, PHP, Elixir, WebAssembly, and C\n(FFI). One unified interface reaches 174 providers (OpenAI, Anthropic, Google\nGemini, Groq, Mistral, Cohere, AWS Bedrock, Azure, and many more).\n\n## Capability map\n\n- **Modalities** — chat completions, streaming, tool\u002Ffunction calling,\n  structured outputs, embeddings, image generation, audio (speech,\n  transcription), moderation, web search, OCR, reranking, batch,\n  and file operations.\n- **Provider routing** — `provider\u002Fmodel` prefix selects the backend\n  (`openai\u002Fgpt-4o`, `anthropic\u002Fclaude-sonnet-4-20250514`,\n  `gemini\u002Fgemini-2.0-flash`). Set a full `provider\u002Fmodel` as `model_hint` to choose the client provider.\n- **Middleware** — response caching, rate limiting (RPM\u002FTPM), cost tracking,\n  budget enforcement (`hard` \u002F `soft`), fallback chains, circuit-breaker\n  cooldown, and background health checks.\n- **Search providers (12)** and **OCR providers (4)** — first-class `search`\n  and `ocr` methods routed by the same prefix convention.\n- **Proxy server** — `liter-llm api` exposes an OpenAI-compatible gateway with\n  22 REST endpoints, virtual API keys, budgets, and SSE streaming.\n- **MCP server** — `liter-llm mcp` exposes 22 tools mirroring the proxy\n  endpoints, for MCP-compatible clients (Claude Code, Claude Desktop).\n- **14 language bindings** — same surface, language-native naming (snake_case\n  for Python\u002FRust\u002FRuby\u002FGo\u002FElixir\u002FPHP, camelCase for TS\u002FNode\u002FWASM\u002FC#\u002FJava).\n\n## When to use the MCP server vs the SDK vs the proxy\n\n| Use the … | When you want to … | Entry point |\n|-----------|--------------------|-------------|\n| **MCP server** | Let the agent call LLM APIs directly as tools, with no glue code | `liter-llm mcp --transport stdio` (this plugin auto-registers it) |\n| **SDK \u002F binding** | Write application code that calls LLMs in a specific language | `pip install liter-llm`, `cargo add liter-llm`, etc. |\n| **Proxy** | Give many apps\u002Fteams a shared OpenAI-compatible endpoint with keys, budgets, and rate limits | `liter-llm api --config liter-llm-proxy.toml` |\n\nRule of thumb: reach for the MCP server inside an agent session; the SDK when\nbuilding software; the proxy when centralizing access for multiple consumers.\n\n## Installation\n\n### CLI (proxy + MCP server)\n\n```bash\n# Homebrew (macOS \u002F Linux)\nbrew install xberg-io\u002Ftap\u002Fliter-llm\n\n# or run it without a persistent install (the CLI proxy package self-installs the binary)\npnpm dlx @xberg-io\u002Fliter-llm-cli@2.2.3 --help\n\n# or download a prebuilt binary from the latest GitHub release:\n#   https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Freleases\u002Flatest\n\n# or build from source\ncargo install liter-llm-cli\n\n# or Docker (35MB image)\ndocker pull ghcr.io\u002Fxberg-io\u002Fliter-llm\n```\n\n### Language bindings\n\n| Language | Install |\n|----------|---------|\n| Python | `pip install liter-llm` |\n| Node.js | `pnpm add @xberg-io\u002Fliter-llm` |\n| Rust | `cargo add liter-llm` |\n| Go | `go get github.com\u002Fxberg-io\u002Fliter-llm\u002Fpackages\u002Fgo\u002Fv2` |\n| Ruby | `gem install liter_llm` |\n| PHP | `composer require xberg-io\u002Fliter-llm` |\n| C# | `dotnet add package XbergIo.LiterLlm` |\n| WASM | `pnpm add @xberg-io\u002Fliter-llm-wasm` |\n\n## Quick start (Python, async)\n\n```python\nimport asyncio\nimport os\nfrom liter_llm import create_client\nfrom liter_llm._internal_bindings import ChatCompletionRequest\n\nasync def main() -> None:\n    client = create_client(api_key=os.environ[\"OPENAI_API_KEY\"])\n    request = ChatCompletionRequest.from_json(\n        '{\"model\":\"openai\u002Fgpt-4o\",\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}]}'\n    )\n    response = await client.chat(request)\n    print(response.choices[0].message.content)\n\nasyncio.run(main())\n```\n\n## Provider routing\n\nThe prefix before `\u002F` in the request's `model` selects the provider:\n\n```python\nChatCompletionRequest.from_json('{\"model\":\"openai\u002Fgpt-4o\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"anthropic\u002Fclaude-sonnet-4-20250514\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"gemini\u002Fgemini-2.0-flash\",\"messages\":[...]}')\nChatCompletionRequest.from_json('{\"model\":\"groq\u002Fllama3-70b\",\"messages\":[...]}')\n```\n\nClient construction resolves credentials for its selected provider from environment variables: `OPENAI_API_KEY`, `ANTHROPIC_API_KEY`,\n`GEMINI_API_KEY`, `GROQ_API_KEY`, `MISTRAL_API_KEY`, `COHERE_API_KEY`, and AWS\ncredentials for Bedrock. Create a separate client for each provider with matching\n`model_hint` and credentials. Request prefixes change routing but reuse the client\nAPI key; they do not select a new environment key per request.\n\n## Configuration\n\nPass basic options to `create_client(...)` (`api_key`, `base_url`,\n`timeout_secs`, `connect_timeout_secs`, `max_retries`, `model_hint`), or set the full surface in a\n`liter-llm.toml` (SDK) \u002F `liter-llm-proxy.toml` (proxy) — both auto-discover\nfrom the cwd upward.\n\n```toml\n# liter-llm.toml\napi_key = \"${OPENAI_API_KEY}\"\nmodel_hint = \"openai\u002Fgpt-4o\"\ntimeout_secs = 120\nmax_retries = 5\n\n[cache]\nmax_entries = 512\nttl_seconds = 600\n\n[budget]\nglobal_limit = 50.0\nenforcement = \"hard\"\n\n[rate_limit]\nrpm = 60\ntpm = 100000\n```\n\n| Option | Default | Description |\n|--------|---------|-------------|\n| `api_key` | required | Provider key, wrapped in `SecretString` (never logged). |\n| `base_url` | from registry | Override the provider base URL. |\n| `model_hint` | none | Full provider\u002Fmodel used to select the client provider and credentials. |\n| `timeout_secs` | 60 | Request timeout in seconds. |\n| `connect_timeout_secs` | 10 | Connect timeout in seconds. A connection that does not open in time is retried up to `max_retries` times. Zero is an error on every target. `wasm32` ignores any other value. |\n| `max_retries` | 3 | Retries on 429\u002F5xx with exponential backoff. |\n| `cache` | none | `max_entries`, `ttl_seconds`. |\n| `budget` | none | `global_limit`, `model_limits`, `enforcement`. |\n| `rate_limit` | none | `rpm`, `tpm`. |\n| `cost_tracking` | false | Per-request cost tracking. |\n| `tracing` | false | OpenTelemetry spans. |\n\n## Proxy server\n\n```bash\nliter-llm api --config liter-llm-proxy.toml\n```\n\n22 OpenAI-compatible endpoints, model routing by prefix, virtual API keys,\nper-key RPM\u002FTPM limits, cost tracking, budget enforcement, response caching, SSE\nstreaming, and an OpenAPI 3.1 spec at `\u002Fopenapi.json`.\n\n## MCP server\n\n```bash\nliter-llm mcp --transport stdio   # for Claude Code \u002F Claude Desktop\nliter-llm mcp --transport http --port 3001\n```\n\nThis plugin auto-registers the stdio server via `scripts\u002Fmcp-launch.sh`. The 22\ntools mirror the proxy endpoints: `chat`, `embed`, `generate_image`, `speech`,\n`transcribe`, `moderate`, `rerank`, `search`, `ocr`, `list_models`; file ops\n(`create_file`, `list_files`, `retrieve_file`, `delete_file`, `file_content`);\nbatch ops (`create_batch`, `list_batches`, `retrieve_batch`, `cancel_batch`);\nand Responses API (`create_response`, `retrieve_response`, `cancel_response`).\n\n## Common pitfalls\n\n1. **Provider routing** — use `\"provider\u002Fmodel\"` to select a request backend. Bare\n   model names fall back to the configured client provider (OpenAI by default).\n2. **API keys are SecretString** — never logged or serialized. Read from env\n   vars; never hardcode.\n3. **Python methods are async** — `await` inside an async context.\n4. **Naming conventions differ** — camelCase for TS\u002FNode\u002FWASM\u002FC#\u002FJava,\n   snake_case elsewhere.\n5. **Streaming chunks may have null content** — null-check\n   `chunk.choices[0].delta.content` before use.\n6. **Budget modes** — `hard` rejects over-budget requests; `soft` logs and\n   allows.\n\n## Additional resources\n\n- Upstream docs: \u003Chttps:\u002F\u002Fdocs.liter-llm.xberg.io>\n- GitHub: \u003Chttps:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm>\n",{"name":5,"license":15,"metadata":57,"description":7},{"author":9,"version":58,"repository":59},"0.1.0","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm","main","2bc4403def694d18143810aa54dc8522a45705ca","plugin\u002F.cursor-plugin\u002Fskills\u002Fliter-llm",27,"https:\u002F\u002Fdocs.liter-llm.xberg.io","https:\u002F\u002Fgithub.com\u002Fxberg-io","https:\u002F\u002Fxberg.io","Open-source content intelligence with a Rust core: documents, web, LLMs and code, with native bindings for every major language.","2026-11-10 21:41:30",{"source":8,"skillName":5,"commands":70,"prompt":80,"zipAvailable":81},[71,74,77],{"tool":72,"command":73},"npx","npx skills add xberg-io\u002Fliter-llm --skill liter-llm",{"tool":75,"command":76},"bunx","bunx skills add xberg-io\u002Fliter-llm --skill liter-llm",{"tool":78,"command":79},"pnpm","pnpm dlx skills add xberg-io\u002Fliter-llm --skill liter-llm","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fplugin\u002F.cursor-plugin\u002Fskills\u002Fliter-llm\u002FSKILL.md",true,[83],{"path":84,"resourceType":85,"resourceTypeDesc":86,"sizeBytes":87,"sourceHtmlUrl":88},"index.md","REFERENCE","参考文档",760,"https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fplugin\u002F.cursor-plugin\u002Fskills\u002Fliter-llm\u002Findex.md",[90,98,118,136,153,176],{"skillNo":91,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":92,"categories":93,"keywords":97,"publishedAt":52},"01M6J1DRP0968S21HH1C4HR9RK","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm\u002FSKILL.md",[94,95,96],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":27,"categoryName":28,"taxonomyType":29,"taxonomyTypeDesc":30},[32,51,50,49,48,47,46,45,44,43,33,42,41,40,39,38,37,36,35,34],{"skillNo":99,"name":100,"nameZh":6,"description":101,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":102,"categories":103,"keywords":106,"publishedAt":52},"01M6J1DK94H9KDPW62F1E96VRR","liter-llm-using-the-mcp-server","Use when calling LLM APIs through the liter-llm MCP server's 22 tools, and to decide when MCP beats the CLI or SDK. Covers the tool surface, the auto-installing launcher, and authentication.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm-using-the-mcp-server\u002FSKILL.md",[104,105],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":24,"categoryName":25,"taxonomyType":21,"taxonomyTypeDesc":22},[45,33,107,37,32,108,109,110,111,112,113,114,115,116,117,34],"liter llm using the mcp server","launcher","decide","authentication","tool","calling","auto","use","cli","sdk","Tools",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":52},"01M6J1DEEPNVQ3E5CX5ZF69416","liter-llm-tool-calling","Use when defining functions\u002Ftools for an LLM to call through liter-llm, or requesting structured JSON outputs. Covers tool schemas, tool_calls handling, and response formats.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm-tool-calling\u002FSKILL.md",[],[125,111,112,126,32,127,128,129,130,114,131,132,133,117,134,135,34],"tool calling","liter llm tool calling","llm tool","for","calls","call","functions","json","formats","structured","outputs",{"skillNo":137,"name":138,"nameZh":6,"description":139,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":140,"categories":141,"keywords":142,"publishedAt":52},"01M6J1DBN4XD93NN04WA8ZP75H","liter-llm-streaming-responses","Use when streaming tokens incrementally from an LLM via liter-llm over SSE or async iterators. Covers chat_stream, delta handling, and null-content chunks.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm-streaming-responses\u002FSKILL.md",[],[143,32,39,144,145,146,147,148,114,149,150,151,152,34],"liter llm streaming responses","chat","delta","via","tokens","async","content","sse","chunks","stream",{"skillNo":154,"name":155,"nameZh":6,"description":156,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":157,"categories":158,"keywords":159,"publishedAt":52},"01M6J1D76FTYTKSPWNNRVZ2PX3","liter-llm-running-the-proxy","Use when running the `liter-llm api` OpenAI-compatible gateway — virtual keys, per-key rate limits, budgets, cost tracking, and model routing. Covers the TOML config and the 22 REST endpoints.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm-running-the-proxy\u002FSKILL.md",[],[160,161,32,162,163,164,165,166,167,114,41,168,169,170,171,172,173,174,175,34],"proxy","liter llm running the proxy","running","openai-compatible","virtual","gateway","model","toml","cost","routing","REST","endpoints","keys","config","limits","llm api",{"skillNo":177,"name":178,"nameZh":6,"description":179,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":180,"categories":181,"keywords":182,"publishedAt":52},"01M6J1D2W434JGGHXR8SP91PZ3","liter-llm-embeddings-and-search","Use when generating embeddings, calling the 12 web-search providers, or running OCR over documents with the 4 OCR providers through liter-llm. Covers embed, search, and ocr methods plus reranking.","https:\u002F\u002Fgithub.com\u002Fxberg-io\u002Fliter-llm\u002Fblob\u002Fmain\u002Fskills\u002Fliter-llm-embeddings-and-search\u002FSKILL.md",[],[49,183,32,184,51,185,112,114,186,187,188,189,190,191,192,162,34],"liter llm embeddings and search","embeddings","methods","documents","embed","with","web","web-search","Providers","reranking"]