{"title":"Scripts API","slug":"scripts","category":"api","summary":"永続スクリプトストア — 再利用可能なシェル、Python、Node スクリプトを保存し、curl | bash で取得。","audience":["human","llm"],"tags":["api","scripts","automation","snippets"],"difficulty":"beginner","updated":"2026-06-27","word_count":64,"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":"ja","translated":true,"requested_lang":"ja","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 stores this once\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# Later sessions just run it\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 & Scheduler](/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 stores this once</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\"># Later sessions just run it</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 &amp; Scheduler</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"]}