[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CFG409AW57NHV385DZF7B5":3,"skill-same:01M6CFG409AW57NHV385DZF7B5":92},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":9,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":22,"publishedAt":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":56,"commitSha":57,"skillDirectory":58,"forksCount":13,"repositoryHtmlUrl":59,"repositoryHomepageUrl":6,"ownerHtmlUrl":60,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":61,"install":62,"resources":75},"01M6CFG409AW57NHV385DZF7B5","lmstudio-subagents",null,"Reduces token usage from paid providers by offloading work to local LM Studio models. Use when: (1) Cutting costs—use local models for summarization, extraction, classification, rewriting, first-pass review, brainstorming when quality suffices, (2) Avoiding paid API calls for high-volume or repetitive tasks, (3) No extra model configuration—JIT loading and REST API work with existing LM Studio setup, (4) Local-only or privacy-sensitive work. Requires LM Studio 0.4+ with server (default :1234). No CLI required.","carboon\u002Fopenclaw-workspace","carboon","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F12277653?v=4","01M6CFFVF77ZS7NDY3JRDXNT7N","01M6CFFVKEERFGEXAK6C4QEJ7B",0,"MIT","https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace\u002Fblob\u002Fmaster\u002Fskills\u002Flm-studio-subagents\u002FSKILL.md",[17],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",[23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"lmstudio subagents","subagents","classification","default","models","only","use","work","quality","model","review","api","first","REST","Local Models","privacy","server","tasks","brainstorming","cli","2026-11-10 10:12:30",false,"---\nname: lmstudio-subagents\ndescription: \"Reduces token usage from paid providers by offloading work to local LM Studio models. Use when: (1) Cutting costs—use local models for summarization, extraction, classification, rewriting, first-pass review, brainstorming when quality suffices, (2) Avoiding paid API calls for high-volume or repetitive tasks, (3) No extra model configuration—JIT loading and REST API work with existing LM Studio setup, (4) Local-only or privacy-sensitive work. Requires LM Studio 0.4+ with server (default :1234). No CLI required.\"\nmetadata: {\"openclaw\":{\"requires\":{},\"tags\":[\"local-model\",\"local-llm\",\"lm-studio\",\"token-management\",\"privacy\",\"subagents\"]}}\nlicense: MIT\n---\n\n# LM Studio Models\n\nOffload tasks to local models when quality suffices; avoid web\u002Fproprietary\u002Fhigh-stakes.\n\n## Key Terms\n\n- **model**: From GET models key; use in chat and optional load.\n- **lm_studio_api_url**: Default http:\u002F\u002F127.0.0.1:1234 (paths \u002Fapi\u002Fv1\u002F...).\n- **response_id** \u002F **previous_response_id**: Chat returns response_id; pass as previous_response_id for stateful.\n- **instance_id**: loaded_instances[].id or model_instance_id; for unload.\n\nTrigger in frontmatter; below = implementation.\n\n## Prerequisites\n\nLM Studio 0.4+, server :1234, models on disk; load\u002Funload via API (JIT optional); Node for script (curl ok).\n\n## Complete Workflow\n\n### Step 0: Preflight\n\nGET \u003Cbase>\u002Fapi\u002Fv1\u002Fmodels; non-200 or connection error = server not ready.\n\n```bash\nexec command:\"curl -s -o \u002Fdev\u002Fnull -w '%{http_code}' -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\n### Step 1: List Models and Check Loaded\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\nParse models[] (key, type, loaded_instances, max_context_length, capabilities, params_string). If a model has loaded_instances.length > 0 and fits task, skip to Step 5; else pick key for chat (and optional load). Note loaded_instances[].id for optional unload.\n\n### Step 2: Model Selection\n\nPick key from GET response; use as model in chat (optional load). Constraints: vision -> capabilities.vision; embedding -> type=embedding; context -> max_context_length. Prefer loaded (loaded_instances non-empty), smaller for speed\u002Flarger for reasoning; fallback primary. Optional POST load; else JIT on first chat.\n\n### Step 3: Load Model (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload { model, context_length?, ... }. JIT: first chat loads; explicit load only for specific options.\n\n### Step 4: Verify Loaded (optional)\n\nIf explicit load: GET models, confirm loaded_instances. If JIT: no verify; first chat returns model_instance_id, stats.model_load_time_seconds.\n\n### Step 5: Call API\n\nFrom the skill folder: node scripts\u002Flmstudio-api.mjs &lt;model&gt; '&lt;task&gt;' [options].\n\n```bash\nexec command:\"node scripts\u002Flmstudio-api.mjs \u003Cmodel> '\u003Ctask>' --temperature=0.7 --max-output-tokens=2000\"\n```\n\nStateful: add --previous-response-id=\u003Cresponse_id>. Curl: POST \u003Cbase>\u002Fapi\u002Fv1\u002Fchat, body model, input, store, temperature, max_output_tokens; optional previous_response_id. Parse: output (type message) -> content; response_id, model_instance_id, stats. Script outputs content, model_instance_id, response_id, usage.\n\n### Step 6: Unload (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }. instance_id from loaded_instances[].id or chat model_instance_id. JIT+TTL auto-unload; explicit when needed.\n\n```bash\nexec command:\"curl -s -X POST http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\u002Funload -H 'Content-Type: application\u002Fjson' -H 'Authorization: Bearer lmstudio' -d '{\\\"instance_id\\\": \\\"\u003Cinstance_id>\\\"}'\"\n```\n\n## Error Handling\n\n- Model not found -> pick another model from GET response.\n- API\u002Fserver errors -> GET models, check URL.\n- Invalid output -> retry.\n- Memory -> unload or smaller model.\n- Unload fails -> instance_id must match loaded_instances[].id.\n\n## Examples\n\nGET \u002Fapi\u002Fv1\u002Fmodels, then script with model key and task. Optional unload per Step 6 (instance_id from response or GET).\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\nexec command:\"node scripts\u002Flmstudio-api.mjs meta-llama-3.1-8b-instruct 'Summarize and extract 5 key points' --temperature=0.7 --max-output-tokens=2000\"\n```\n\n## LM Studio API Details\n\nHelper\u002FAPI: see Step 5. Output: content, model_instance_id, response_id, usage. Auth: Bearer lmstudio. List GET \u002Fapi\u002Fv1\u002Fmodels. Load POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload (optional). Unload POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }.\n\n## Notes\n\n- LM Studio 0.4+.\n- JIT (first chat loads; model_load_time_seconds in stats); stateful (response_id \u002F previous_response_id).\n","# LM Studio Models\n\nOffload tasks to local models when quality suffices; avoid web\u002Fproprietary\u002Fhigh-stakes.\n\n## Key Terms\n\n- **model**: From GET models key; use in chat and optional load.\n- **lm_studio_api_url**: Default http:\u002F\u002F127.0.0.1:1234 (paths \u002Fapi\u002Fv1\u002F...).\n- **response_id** \u002F **previous_response_id**: Chat returns response_id; pass as previous_response_id for stateful.\n- **instance_id**: loaded_instances[].id or model_instance_id; for unload.\n\nTrigger in frontmatter; below = implementation.\n\n## Prerequisites\n\nLM Studio 0.4+, server :1234, models on disk; load\u002Funload via API (JIT optional); Node for script (curl ok).\n\n## Complete Workflow\n\n### Step 0: Preflight\n\nGET \u003Cbase>\u002Fapi\u002Fv1\u002Fmodels; non-200 or connection error = server not ready.\n\n```bash\nexec command:\"curl -s -o \u002Fdev\u002Fnull -w '%{http_code}' -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\n### Step 1: List Models and Check Loaded\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\n```\n\nParse models[] (key, type, loaded_instances, max_context_length, capabilities, params_string). If a model has loaded_instances.length > 0 and fits task, skip to Step 5; else pick key for chat (and optional load). Note loaded_instances[].id for optional unload.\n\n### Step 2: Model Selection\n\nPick key from GET response; use as model in chat (optional load). Constraints: vision -> capabilities.vision; embedding -> type=embedding; context -> max_context_length. Prefer loaded (loaded_instances non-empty), smaller for speed\u002Flarger for reasoning; fallback primary. Optional POST load; else JIT on first chat.\n\n### Step 3: Load Model (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload { model, context_length?, ... }. JIT: first chat loads; explicit load only for specific options.\n\n### Step 4: Verify Loaded (optional)\n\nIf explicit load: GET models, confirm loaded_instances. If JIT: no verify; first chat returns model_instance_id, stats.model_load_time_seconds.\n\n### Step 5: Call API\n\nFrom the skill folder: node scripts\u002Flmstudio-api.mjs &lt;model&gt; '&lt;task&gt;' [options].\n\n```bash\nexec command:\"node scripts\u002Flmstudio-api.mjs \u003Cmodel> '\u003Ctask>' --temperature=0.7 --max-output-tokens=2000\"\n```\n\nStateful: add --previous-response-id=\u003Cresponse_id>. Curl: POST \u003Cbase>\u002Fapi\u002Fv1\u002Fchat, body model, input, store, temperature, max_output_tokens; optional previous_response_id. Parse: output (type message) -> content; response_id, model_instance_id, stats. Script outputs content, model_instance_id, response_id, usage.\n\n### Step 6: Unload (optional)\n\nOptional: POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }. instance_id from loaded_instances[].id or chat model_instance_id. JIT+TTL auto-unload; explicit when needed.\n\n```bash\nexec command:\"curl -s -X POST http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\u002Funload -H 'Content-Type: application\u002Fjson' -H 'Authorization: Bearer lmstudio' -d '{\\\"instance_id\\\": \\\"\u003Cinstance_id>\\\"}'\"\n```\n\n## Error Handling\n\n- Model not found -> pick another model from GET response.\n- API\u002Fserver errors -> GET models, check URL.\n- Invalid output -> retry.\n- Memory -> unload or smaller model.\n- Unload fails -> instance_id must match loaded_instances[].id.\n\n## Examples\n\nGET \u002Fapi\u002Fv1\u002Fmodels, then script with model key and task. Optional unload per Step 6 (instance_id from response or GET).\n\n```bash\nexec command:\"curl -s -H 'Authorization: Bearer lmstudio' http:\u002F\u002F127.0.0.1:1234\u002Fapi\u002Fv1\u002Fmodels\"\nexec command:\"node scripts\u002Flmstudio-api.mjs meta-llama-3.1-8b-instruct 'Summarize and extract 5 key points' --temperature=0.7 --max-output-tokens=2000\"\n```\n\n## LM Studio API Details\n\nHelper\u002FAPI: see Step 5. Output: content, model_instance_id, response_id, usage. Auth: Bearer lmstudio. List GET \u002Fapi\u002Fv1\u002Fmodels. Load POST \u002Fapi\u002Fv1\u002Fmodels\u002Fload (optional). Unload POST \u002Fapi\u002Fv1\u002Fmodels\u002Funload { instance_id }.\n\n## Notes\n\n- LM Studio 0.4+.\n- JIT (first chat loads; model_load_time_seconds in stats); stateful (response_id \u002F previous_response_id).\n",{"name":5,"license":14,"metadata":48,"description":7},{"openclaw":49},{"tags":50,"requires":55},[51,52,53,54,38,24],"local-model","local-llm","lm-studio","token-management",{},"master","d8223639e3055e6f1bb70c68a8aa66ee8780e6d3","skills\u002Flm-studio-subagents","https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace","https:\u002F\u002Fgithub.com\u002Fcarboon","2026-02-02 20:07:48",{"source":8,"skillName":5,"commands":63,"prompt":73,"zipAvailable":74},[64,67,70],{"tool":65,"command":66},"npx","npx skills add carboon\u002Fopenclaw-workspace --skill lmstudio-subagents",{"tool":68,"command":69},"bunx","bunx skills add carboon\u002Fopenclaw-workspace --skill lmstudio-subagents",{"tool":71,"command":72},"pnpm","pnpm dlx skills add carboon\u002Fopenclaw-workspace --skill lmstudio-subagents","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace\u002Fblob\u002Fmaster\u002Fskills\u002Flm-studio-subagents\u002FSKILL.md",true,[76,82,86],{"path":77,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":80,"sourceHtmlUrl":81},".clawhub\u002Forigin.json","REFERENCE","参考文档",151,"https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace\u002Fblob\u002Fmaster\u002Fskills\u002Flm-studio-subagents\u002F.clawhub\u002Forigin.json",{"path":83,"resourceType":78,"resourceTypeDesc":79,"sizeBytes":84,"sourceHtmlUrl":85},"README.md",3080,"https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace\u002Fblob\u002Fmaster\u002Fskills\u002Flm-studio-subagents\u002FREADME.md",{"path":87,"resourceType":88,"resourceTypeDesc":89,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Flmstudio-api.mjs","SCRIPT","脚本",3780,"https:\u002F\u002Fgithub.com\u002Fcarboon\u002Fopenclaw-workspace\u002Fblob\u002Fmaster\u002Fskills\u002Flm-studio-subagents\u002Fscripts\u002Flmstudio-api.mjs",[]]