{"title":"Scripts API","slug":"scripts","category":"api","summary":"持久化脚本存储 — 保存可复用的 Shell、Python 或 Node 脚本，并通过 curl | bash 拉取执行。","audience":["human","llm"],"tags":["api","scripts","automation","snippets"],"difficulty":"beginner","updated":"2026-06-27","word_count":66,"read_minutes":1,"llm_context":"Auth: Mind Key or JWT\nStore: POST /script { name, content, description?, language? }\nFetch as text: GET /script/:name (returns text/plain, curl | bash ready)\nInfo: GET /script/:name/info (metadata without content)\nList: GET /scripts (JSON array)\nDelete: DELETE /script/:name\nUse case: store deployment scripts, config generators, troubleshooting snippets\n","lang":"zh","translated":true,"requested_lang":"zh","content_markdown":"\n# Scripts API\n\nScripts API 为可复用脚本提供持久化存储。脚本在 Mind 中命名并版本化，可作为纯文本拉取 — 非常适合 `curl | bash` 模式。\n\n## 端点\n\n### POST /script\n\n存储或更新脚本。\n\n```bash\ncurl -X POST https://synapse.schaefer.zone/script \\\n  -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"name\": \"deploy-synapse\",\n    \"content\": \"#!/bin/bash\\nset -euo pipefail\\ngit pull\\nnpm ci\\nnpm run build\\ndocker compose up -d\",\n    \"description\": \"Deploy Synapse to production\",\n    \"language\": \"bash\"\n  }'\n```\n\n### GET /script/:name\n\n以 `text/plain` 拉取脚本内容。非常适合管道到 bash 执行。\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/script/deploy-synapse | bash\n```\n\n### GET /script/:name/info\n\n获取脚本的元数据（不含内容）。\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/script/deploy-synapse/info\n```\n\n响应：\n\n```json\n{\n  \"name\": \"deploy-synapse\",\n  \"description\": \"Deploy Synapse to production\",\n  \"language\": \"bash\",\n  \"size_bytes\": 142,\n  \"created_at\": \"2026-06-27T...\",\n  \"updated_at\": \"2026-06-27T...\"\n}\n```\n\n### GET /scripts\n\n列出当前 Mind 中的所有脚本。\n\n```bash\ncurl -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/scripts\n```\n\n### DELETE /script/:name\n\n删除脚本。\n\n```bash\ncurl -X DELETE -H \"Authorization: Bearer YOUR_MIND_KEY\" \\\n     https://synapse.schaefer.zone/script/deploy-synapse\n```\n\n## 常见用例\n\n### 部署脚本\n\n把标准部署流程保存为脚本，让 LLM 直接运行，无需每次重新推导步骤：\n\n```bash\n# LLM 一次性存储\ncurl -X POST .../script -d '{\n  \"name\": \"deploy-vps1\",\n  \"content\": \"#!/bin/bash\\nssh vps1 \\\"cd /opt/synapse && git pull && docker compose up -d --build\\\"\",\n  \"language\": \"bash\"\n}'\n\n# 后续会话直接运行\ncurl -H \"Authorization: ...\" .../script/deploy-vps1 | bash\n```\n\n### 故障排查片段\n\n把常见问题的诊断命令保存为脚本：\n\n```bash\ncurl -X POST .../script -d '{\n  \"name\": \"check-docker\",\n  \"content\": \"#!/bin/bash\\ndocker ps\\ndocker stats --no-stream\\ndocker system df\",\n  \"description\": \"Quick Docker health check\",\n  \"language\": \"bash\"\n}'\n```\n\n### 配置生成器\n\n保存用于生成配置的脚本：\n\n```bash\ncurl -X POST .../script -d '{\n  \"name\": \"gen-nginx-conf\",\n  \"content\": \"#!/usr/bin/env python3\\nimport sys\\n# ... generate nginx config from template ...\",\n  \"language\": \"python\"\n}'\n```\n\n## 下一步\n\n- [Variables API](/docs/api/variables)\n- [Cron 与调度器](/docs/api/cron)\n","content_html":"<h1>Scripts API</h1>\n<p>Scripts API 为可复用脚本提供持久化存储。脚本在 Mind 中命名并版本化，可作为纯文本拉取 — 非常适合 <code>curl | bash</code> 模式。</p>\n<h2>端点</h2>\n<h3>POST /script</h3>\n<p>存储或更新脚本。</p>\n<pre><code class=\"hljs language-bash\">curl -X POST https://synapse.schaefer.zone/script \\\n  -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n  -H <span class=\"hljs-string\">&quot;Content-Type: application/json&quot;</span> \\\n  -d <span class=\"hljs-string\">&#x27;{\n    &quot;name&quot;: &quot;deploy-synapse&quot;,\n    &quot;content&quot;: &quot;#!/bin/bash\\nset -euo pipefail\\ngit pull\\nnpm ci\\nnpm run build\\ndocker compose up -d&quot;,\n    &quot;description&quot;: &quot;Deploy Synapse to production&quot;,\n    &quot;language&quot;: &quot;bash&quot;\n  }&#x27;</span></code></pre><h3>GET /script/:name</h3>\n<p>以 <code>text/plain</code> 拉取脚本内容。非常适合管道到 bash 执行。</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/script/deploy-synapse | bash</code></pre><h3>GET /script/:name/info</h3>\n<p>获取脚本的元数据（不含内容）。</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/script/deploy-synapse/info</code></pre><p>响应：</p>\n<pre><code class=\"hljs language-json\"><span class=\"hljs-punctuation\">{</span>\n  <span class=\"hljs-attr\">&quot;name&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;deploy-synapse&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;description&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;Deploy Synapse to production&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;language&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;bash&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;size_bytes&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-number\">142</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;created_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span><span class=\"hljs-punctuation\">,</span>\n  <span class=\"hljs-attr\">&quot;updated_at&quot;</span><span class=\"hljs-punctuation\">:</span> <span class=\"hljs-string\">&quot;2026-06-27T...&quot;</span>\n<span class=\"hljs-punctuation\">}</span></code></pre><h3>GET /scripts</h3>\n<p>列出当前 Mind 中的所有脚本。</p>\n<pre><code class=\"hljs language-bash\">curl -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/scripts</code></pre><h3>DELETE /script/:name</h3>\n<p>删除脚本。</p>\n<pre><code class=\"hljs language-bash\">curl -X DELETE -H <span class=\"hljs-string\">&quot;Authorization: Bearer YOUR_MIND_KEY&quot;</span> \\\n     https://synapse.schaefer.zone/script/deploy-synapse</code></pre><h2>常见用例</h2>\n<h3>部署脚本</h3>\n<p>把标准部署流程保存为脚本，让 LLM 直接运行，无需每次重新推导步骤：</p>\n<pre><code class=\"hljs language-bash\"><span class=\"hljs-comment\"># LLM 一次性存储</span>\ncurl -X POST .../script -d <span class=\"hljs-string\">&#x27;{\n  &quot;name&quot;: &quot;deploy-vps1&quot;,\n  &quot;content&quot;: &quot;#!/bin/bash\\nssh vps1 \\&quot;cd /opt/synapse &amp;&amp; git pull &amp;&amp; docker compose up -d --build\\&quot;&quot;,\n  &quot;language&quot;: &quot;bash&quot;\n}&#x27;</span>\n\n<span class=\"hljs-comment\"># 后续会话直接运行</span>\ncurl -H <span class=\"hljs-string\">&quot;Authorization: ...&quot;</span> .../script/deploy-vps1 | bash</code></pre><h3>故障排查片段</h3>\n<p>把常见问题的诊断命令保存为脚本：</p>\n<pre><code class=\"hljs language-bash\">curl -X POST .../script -d <span class=\"hljs-string\">&#x27;{\n  &quot;name&quot;: &quot;check-docker&quot;,\n  &quot;content&quot;: &quot;#!/bin/bash\\ndocker ps\\ndocker stats --no-stream\\ndocker system df&quot;,\n  &quot;description&quot;: &quot;Quick Docker health check&quot;,\n  &quot;language&quot;: &quot;bash&quot;\n}&#x27;</span></code></pre><h3>配置生成器</h3>\n<p>保存用于生成配置的脚本：</p>\n<pre><code class=\"hljs language-bash\">curl -X POST .../script -d <span class=\"hljs-string\">&#x27;{\n  &quot;name&quot;: &quot;gen-nginx-conf&quot;,\n  &quot;content&quot;: &quot;#!/usr/bin/env python3\\nimport sys\\n# ... generate nginx config from template ...&quot;,\n  &quot;language&quot;: &quot;python&quot;\n}&#x27;</span></code></pre><h2>下一步</h2>\n<ul>\n<li><a href=\"/docs/api/variables\">Variables API</a></li>\n<li><a href=\"/docs/api/cron\">Cron 与调度器</a></li>\n</ul>\n","urls":{"html":"/docs/api/scripts","text":"/docs/api/scripts?format=text","json":"/docs/api/scripts?format=json","llm":"/docs/api/scripts?format=llm"},"translations_available":["en","zh","hi","es","fr","ar","pt","ru","ja","de","it","ko","nl","pl","tr","sv","vi","th","id","uk"]}