[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6Q3H3V3RHGN5FVTQ9VPDK35":3,"skill-same:01M6Q3H3V3RHGN5FVTQ9VPDK35":70},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":17,"publishedAt":32,"linkOnly":33,"markdownContent":34,"markdownBody":35,"frontMatter":36,"refName":42,"commitSha":43,"skillDirectory":44,"forksCount":45,"repositoryHtmlUrl":46,"repositoryHomepageUrl":6,"ownerHtmlUrl":47,"ownerBlogUrl":6,"ownerDescription":48,"updatedAt":49,"install":50,"resources":63},"01M6Q3H3V3RHGN5FVTQ9VPDK35","openclaw-tescmd",null,"Installation and setup guide for Tesla vehicle control and telemetry via the tescmd node.","Kernel8901\u002Fai-agent-skills-classification","Kernel8901","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F72647553?v=4","01M6KV388J2H5PNC8D8P940BJD","01M6KV38CS5B3AY63RKZB410YM",7,"MIT","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Fopenclaw-tescmd\u002FSKILL.md",[],[18,19,20,21,22,23,24,25,26,27,28,29,30,31],"openclaw","openclaw tescmd","github","telemetry","setup","https","node","guide","tesla","installation","platform","control","via","for","2026-11-10 10:12:30",false,"---\nname: openclaw-tescmd\nslug: openclaw-tescmd\ndisplayName: OpenClaw Tesla (tescmd)\nversion: 0.9.7\ndescription: Installation and setup guide for Tesla vehicle control and telemetry via the tescmd node.\nhomepage: https:\u002F\u002Fgithub.com\u002Foceanswave\u002Fopenclaw-tescmd\nmetadata: {\"category\":\"platform\",\"platform\":\"tesla\",\"node\":\"tescmd\"}\n---\n\n# OpenClaw Tesla (tescmd) — Setup Guide\n\nThis plugin connects Tesla vehicles to the OpenClaw Gateway via the [tescmd](https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd) node. Once installed and paired, the plugin automatically registers all tools, commands, slash commands, and telemetry event types.\n\nThis document covers **installation and setup only**. Runtime tool usage, workflows, and error handling are provided by the `tescmd` skill (call `tescmd_help` for the full reference).\n\n**What you get:**\n- 39 agent-callable tools\n- 14 slash commands\n- Real-time telemetry streaming\n- Supercharger discovery (10,000+ locations via supercharge.info)\n- CLI fallback when node is disconnected\n\n**Repositories:**\n- Plugin: https:\u002F\u002Fgithub.com\u002Foceanswave\u002Fopenclaw-tescmd\n- tescmd node (Python CLI): https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd\n\n---\n\n## Architecture\n\n```\nAgent (you)\n  ↓  tool calls\nOpenClaw Gateway\n  ↓  node.invoke.request\nopenclaw-tescmd Plugin\n  ↓  WebSocket dispatch\ntescmd Node (Python)\n  ├─ Tesla Fleet API (REST)\n  ├─ Vehicle Command Protocol (VCSEC — signed commands)\n  └─ Fleet Telemetry Stream (WebSocket)\n  ↓\nTesla Vehicle\n```\n\nThe plugin is the **Gateway-side counterpart** to the tescmd node. It defines tool schemas and routes invocations. The tescmd node handles all direct communication with Tesla.\n\n---\n\n## Setup\n\n### Step 1: Check Prerequisites\n\nBefore starting, verify the required tools are installed and authenticated.\n\n#### Required: git\n\n```bash\ngit --version\n```\n\nIf missing, install it:\n- macOS: `xcode-select --install`\n- Linux: `sudo apt install git` or `sudo dnf install git`\n\n#### Required: GitHub CLI (gh)\n\n```bash\ngh --version\ngh auth status\n```\n\nIf `gh` is not installed:\n- macOS: `brew install gh`\n- Linux: see https:\u002F\u002Fgithub.com\u002Fcli\u002Fcli\u002Fblob\u002Ftrunk\u002Fdocs\u002Finstall_linux.md\n\nIf not logged in:\n```bash\ngh auth login\n```\n\n**Tell the user:** \"Please complete the GitHub CLI login in your terminal. Select your preferences when prompted and finish the browser-based auth flow.\"\n\nWait for the user to confirm they have completed the login before continuing.\n\n#### Required: Python 3.11+\n\n```bash\npython3 --version\n```\n\nMust be 3.11 or higher. If not:\n- macOS: `brew install python@3.12`\n- Linux: `sudo apt install python3.12` or use pyenv\n\n#### Recommended: Tailscale\n\nTailscale provides a public HTTPS endpoint for Tesla Fleet Telemetry streaming with zero infrastructure setup.\n\n```bash\ntailscale version\ntailscale status\n```\n\nIf not installed:\n- macOS: `brew install tailscale` or download from https:\u002F\u002Ftailscale.com\u002Fdownload\n- Linux: `curl -fsSL https:\u002F\u002Ftailscale.com\u002Finstall.sh | sh`\n\nIf not logged in:\n```bash\nsudo tailscale up\n```\n\n**Tell the user:** \"Please complete the Tailscale login in your browser if prompted.\"\n\nWait for the user to confirm before continuing.\n\n---\n\n### Step 2: Install the tescmd OpenClaw Plugin\n\n#### Standard install:\n\n```bash\nopenclaw plugins install @oceanswave\u002Fopenclaw-tescmd\n```\n\n#### Verify installation:\n\n```bash\nopenclaw plugins list\n```\n\nYou should see the plugin listed with version 0.9.0 (or later).\n\n#### Plugin management commands:\n\n| Command | Purpose |\n|---------|---------|\n| `openclaw plugins list` | List installed plugins |\n| `openclaw plugins info openclaw-tescmd` | Plugin details |\n| `openclaw plugins doctor` | Check plugin health |\n| `openclaw plugins update openclaw-tescmd` | Update to latest |\n| `openclaw plugins enable openclaw-tescmd` | Enable the plugin |\n| `openclaw plugins disable openclaw-tescmd` | Disable without uninstalling |\n\n---\n\n### Step 3: Install the tescmd CLI\n\n```bash\npip install tescmd\n```\n\nVerify:\n```bash\ntescmd --version\n```\n\n---\n\n### Step 4: Run tescmd Setup\n\nThe tescmd setup wizard is **interactive** and requires the user to make choices and complete steps in their terminal and browser. You cannot complete this step autonomously.\n\n```bash\ntescmd setup\n```\n\n**Tell the user:** \"I've started the tescmd setup wizard. This is an interactive process that will walk you through:\"\n1. Creating a Tesla Developer application\n2. Generating your EC key pair\n3. Hosting your public key (via GitHub Pages or Tailscale Funnel)\n4. Registering with the Tesla Fleet API\n5. Completing OAuth2 login in your browser\n6. Pairing the key with your vehicle (requires physical presence at the vehicle)\n\n\"Please follow the prompts in your terminal and let me know when setup is complete.\"\n\n**Wait for the user to confirm setup is finished before proceeding.**\n\n#### Verify Setup\n\nAfter the user confirms, check auth status:\n```bash\ntescmd auth status\n```\n\nThis should show a valid token. If it shows expired or missing, the user needs to re-run:\n```bash\ntescmd auth login\n```\n\n---\n\n### Step 5: Identify the Vehicle\n\nList vehicles on the account to get the VIN:\n```bash\ntescmd vehicle list\n```\n\nNote the VIN — it is needed for the serve command.\n\n---\n\n### Step 6: Start the tescmd Node and Pair with the Gateway\n\nThe tescmd node bridges the Tesla Fleet API to the OpenClaw Gateway. The first connection requires a one-time pairing approval.\n\n#### First-time pairing:\n\nStart the node with just the Gateway URL (no token needed):\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url>\n```\n\nThe node sends a `node.pair.request` to the Gateway and waits for approval. The pending request expires after **5 minutes**, so approve it promptly.\n\n**In a separate terminal**, approve the pairing:\n```bash\nopenclaw nodes pending                # View waiting pair requests\nopenclaw nodes approve \u003CrequestId>    # Approve the node\n```\n\nOn approval the Gateway issues an authentication token. The node receives it, saves it to `~\u002F.config\u002Ftescmd\u002Fbridge.json`, and establishes the authenticated connection. No manual token handling is needed.\n\n**Tell the user:** \"Start the tescmd node with `tescmd serve \u003CVIN> --openclaw \u003Cgateway_url>`, then in another terminal run `openclaw nodes pending` and `openclaw nodes approve \u003CrequestId>` to complete pairing.\"\n\n**Wait for the user to confirm pairing is complete before continuing.**\n\n#### Subsequent connections (already paired):\n\nOnce paired, the node reconnects automatically using the stored token:\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url>\n```\n\nYou can also pass the token explicitly if needed:\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url> --openclaw-token \u003Cgateway_token>\n```\n\n#### Node management commands:\n\n| Command | Purpose |\n|---------|---------|\n| `openclaw nodes pending` | View pending pair requests |\n| `openclaw nodes approve \u003Cid>` | Approve a node |\n| `openclaw nodes reject \u003Cid>` | Reject a node |\n| `openclaw nodes status` | List paired nodes and their status |\n\n#### Operating modes:\n\n| Mode | Command | Description |\n|------|---------|-------------|\n| **Full** (default) | `tescmd serve \u003CVIN> --openclaw \u003Curl>` | MCP server + telemetry + OpenClaw bridge |\n| **Bridge only** | `tescmd serve \u003CVIN> --no-mcp --openclaw \u003Curl>` | Telemetry + OpenClaw, no MCP server |\n| **With Tailscale** | `tescmd serve \u003CVIN> --tailscale --openclaw \u003Curl>` | Exposes MCP via Tailscale Funnel |\n| **Dry run** | `tescmd serve \u003CVIN> --dry-run` | Log events as JSONL, no Gateway connection |\n\n#### Key flags reference:\n\n| Flag | Description |\n|------|-------------|\n| `\u003CVIN>` | Vehicle Identification Number (positional) |\n| `--openclaw \u003Cws_url>` | Gateway WebSocket URL (e.g. `ws:\u002F\u002Fhost:18789`) |\n| `--openclaw-token \u003Ctoken>` | Gateway authentication token (auto-stored after pairing) |\n| `--openclaw-config \u003Cpath>` | Bridge config JSON (default: `~\u002F.config\u002Ftescmd\u002Fbridge.json`) |\n| `--transport \u003Ctype>` | MCP transport: `streamable-http` (default) or `stdio` |\n| `--port \u003Cnum>` | MCP HTTP port (default: 8080) |\n| `--host \u003Caddr>` | MCP bind address (default: 127.0.0.1) |\n| `--telemetry-port \u003Cnum>` | Telemetry WebSocket port (default: 4443) |\n| `--fields \u003Cpreset>` | Telemetry fields: `driving`, `charging`, or `all` |\n| `--interval \u003Csec>` | Telemetry polling interval in seconds |\n| `--no-telemetry` | Disable telemetry streaming |\n| `--no-mcp` | Disable MCP server |\n| `--no-log` | Disable CSV telemetry logging |\n| `--dry-run` | Log events as JSONL without connecting to Gateway |\n| `--tailscale` | Expose MCP via Tailscale Funnel |\n| `--client-id \u003Cid>` | MCP OAuth client ID |\n| `--client-secret \u003Csecret>` | MCP OAuth client secret |\n\n#### Environment variables (alternative to flags):\n\nThese can be set in `~\u002F.config\u002Ftescmd\u002F.env`:\n```bash\nTESLA_CLIENT_ID=your-client-id\nTESLA_CLIENT_SECRET=your-client-secret\nTESLA_VIN=5YJ3E1EA1NF000000\nTESLA_REGION=na                    # na, eu, or cn\nOPENCLAW_GATEWAY_URL=ws:\u002F\u002Fgateway.example.com:18789\nOPENCLAW_GATEWAY_TOKEN=your-token\nTESLA_COMMAND_PROTOCOL=auto        # auto, signed, or unsigned\n```\n\n---\n\n### Step 7: Verify the Connection\n\nOnce the node is running and paired, confirm it connected to the Gateway:\n```bash\nopenclaw nodes status\n```\n\nOr use the agent tool:\n- Call `tescmd_node_status` to check connection status\n\nIf connected, the plugin's tools are ready. Call `tescmd_help` for the full runtime reference including tool usage, workflows, and error handling.\n\n---\n\n## Troubleshooting Setup\n\n| Problem | Solution |\n|---------|----------|\n| \"no node connected\" | Start the node: `tescmd serve \u003CVIN> --openclaw \u003Curl>` |\n| Pairing request not visible | Check `openclaw nodes pending` — requests expire after 5 minutes. Restart the node to generate a new request. |\n| Node connects then disconnects | Check Gateway URL. Run `tescmd auth status` to verify Tesla auth. |\n| Auth\u002Ftoken errors | Re-authenticate: `tescmd auth login` |\n| Setup wizard issues | Re-run `tescmd setup` or check https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd |\n| Plugin not loading | Run `openclaw plugins doctor`. Check `openclaw plugins list` for the plugin entry. |\n| Triggers say \"not available\" | Restart node with telemetry: remove `--no-telemetry` or add `--fields all` |\n\n---\n\n## Configuration\n\nMinimal — the tescmd node handles all vehicle-specific configuration.\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-tescmd\": {\n        \"enabled\": true,\n        \"config\": {\n          \"debug\": false\n        }\n      }\n    }\n  }\n}\n```\n\n---\n\n## CLI Quick Reference\n\n### tescmd CLI Commands\n\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Curl>                              # Start node (uses stored token)\ntescmd serve \u003CVIN> --openclaw \u003Curl> --openclaw-token \u003Ctoken>     # Start node (explicit token)\ntescmd setup                        # Interactive setup wizard\ntescmd auth status                  # Check auth token status\ntescmd auth login                   # Re-authenticate with Tesla\ntescmd vehicle list                 # List vehicles on account\ntescmd vehicle info                 # Full vehicle data snapshot\ntescmd cache status                 # Check cache stats\n```\n","# OpenClaw Tesla (tescmd) — Setup Guide\n\nThis plugin connects Tesla vehicles to the OpenClaw Gateway via the [tescmd](https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd) node. Once installed and paired, the plugin automatically registers all tools, commands, slash commands, and telemetry event types.\n\nThis document covers **installation and setup only**. Runtime tool usage, workflows, and error handling are provided by the `tescmd` skill (call `tescmd_help` for the full reference).\n\n**What you get:**\n- 39 agent-callable tools\n- 14 slash commands\n- Real-time telemetry streaming\n- Supercharger discovery (10,000+ locations via supercharge.info)\n- CLI fallback when node is disconnected\n\n**Repositories:**\n- Plugin: https:\u002F\u002Fgithub.com\u002Foceanswave\u002Fopenclaw-tescmd\n- tescmd node (Python CLI): https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd\n\n---\n\n## Architecture\n\n```\nAgent (you)\n  ↓  tool calls\nOpenClaw Gateway\n  ↓  node.invoke.request\nopenclaw-tescmd Plugin\n  ↓  WebSocket dispatch\ntescmd Node (Python)\n  ├─ Tesla Fleet API (REST)\n  ├─ Vehicle Command Protocol (VCSEC — signed commands)\n  └─ Fleet Telemetry Stream (WebSocket)\n  ↓\nTesla Vehicle\n```\n\nThe plugin is the **Gateway-side counterpart** to the tescmd node. It defines tool schemas and routes invocations. The tescmd node handles all direct communication with Tesla.\n\n---\n\n## Setup\n\n### Step 1: Check Prerequisites\n\nBefore starting, verify the required tools are installed and authenticated.\n\n#### Required: git\n\n```bash\ngit --version\n```\n\nIf missing, install it:\n- macOS: `xcode-select --install`\n- Linux: `sudo apt install git` or `sudo dnf install git`\n\n#### Required: GitHub CLI (gh)\n\n```bash\ngh --version\ngh auth status\n```\n\nIf `gh` is not installed:\n- macOS: `brew install gh`\n- Linux: see https:\u002F\u002Fgithub.com\u002Fcli\u002Fcli\u002Fblob\u002Ftrunk\u002Fdocs\u002Finstall_linux.md\n\nIf not logged in:\n```bash\ngh auth login\n```\n\n**Tell the user:** \"Please complete the GitHub CLI login in your terminal. Select your preferences when prompted and finish the browser-based auth flow.\"\n\nWait for the user to confirm they have completed the login before continuing.\n\n#### Required: Python 3.11+\n\n```bash\npython3 --version\n```\n\nMust be 3.11 or higher. If not:\n- macOS: `brew install python@3.12`\n- Linux: `sudo apt install python3.12` or use pyenv\n\n#### Recommended: Tailscale\n\nTailscale provides a public HTTPS endpoint for Tesla Fleet Telemetry streaming with zero infrastructure setup.\n\n```bash\ntailscale version\ntailscale status\n```\n\nIf not installed:\n- macOS: `brew install tailscale` or download from https:\u002F\u002Ftailscale.com\u002Fdownload\n- Linux: `curl -fsSL https:\u002F\u002Ftailscale.com\u002Finstall.sh | sh`\n\nIf not logged in:\n```bash\nsudo tailscale up\n```\n\n**Tell the user:** \"Please complete the Tailscale login in your browser if prompted.\"\n\nWait for the user to confirm before continuing.\n\n---\n\n### Step 2: Install the tescmd OpenClaw Plugin\n\n#### Standard install:\n\n```bash\nopenclaw plugins install @oceanswave\u002Fopenclaw-tescmd\n```\n\n#### Verify installation:\n\n```bash\nopenclaw plugins list\n```\n\nYou should see the plugin listed with version 0.9.0 (or later).\n\n#### Plugin management commands:\n\n| Command | Purpose |\n|---------|---------|\n| `openclaw plugins list` | List installed plugins |\n| `openclaw plugins info openclaw-tescmd` | Plugin details |\n| `openclaw plugins doctor` | Check plugin health |\n| `openclaw plugins update openclaw-tescmd` | Update to latest |\n| `openclaw plugins enable openclaw-tescmd` | Enable the plugin |\n| `openclaw plugins disable openclaw-tescmd` | Disable without uninstalling |\n\n---\n\n### Step 3: Install the tescmd CLI\n\n```bash\npip install tescmd\n```\n\nVerify:\n```bash\ntescmd --version\n```\n\n---\n\n### Step 4: Run tescmd Setup\n\nThe tescmd setup wizard is **interactive** and requires the user to make choices and complete steps in their terminal and browser. You cannot complete this step autonomously.\n\n```bash\ntescmd setup\n```\n\n**Tell the user:** \"I've started the tescmd setup wizard. This is an interactive process that will walk you through:\"\n1. Creating a Tesla Developer application\n2. Generating your EC key pair\n3. Hosting your public key (via GitHub Pages or Tailscale Funnel)\n4. Registering with the Tesla Fleet API\n5. Completing OAuth2 login in your browser\n6. Pairing the key with your vehicle (requires physical presence at the vehicle)\n\n\"Please follow the prompts in your terminal and let me know when setup is complete.\"\n\n**Wait for the user to confirm setup is finished before proceeding.**\n\n#### Verify Setup\n\nAfter the user confirms, check auth status:\n```bash\ntescmd auth status\n```\n\nThis should show a valid token. If it shows expired or missing, the user needs to re-run:\n```bash\ntescmd auth login\n```\n\n---\n\n### Step 5: Identify the Vehicle\n\nList vehicles on the account to get the VIN:\n```bash\ntescmd vehicle list\n```\n\nNote the VIN — it is needed for the serve command.\n\n---\n\n### Step 6: Start the tescmd Node and Pair with the Gateway\n\nThe tescmd node bridges the Tesla Fleet API to the OpenClaw Gateway. The first connection requires a one-time pairing approval.\n\n#### First-time pairing:\n\nStart the node with just the Gateway URL (no token needed):\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url>\n```\n\nThe node sends a `node.pair.request` to the Gateway and waits for approval. The pending request expires after **5 minutes**, so approve it promptly.\n\n**In a separate terminal**, approve the pairing:\n```bash\nopenclaw nodes pending                # View waiting pair requests\nopenclaw nodes approve \u003CrequestId>    # Approve the node\n```\n\nOn approval the Gateway issues an authentication token. The node receives it, saves it to `~\u002F.config\u002Ftescmd\u002Fbridge.json`, and establishes the authenticated connection. No manual token handling is needed.\n\n**Tell the user:** \"Start the tescmd node with `tescmd serve \u003CVIN> --openclaw \u003Cgateway_url>`, then in another terminal run `openclaw nodes pending` and `openclaw nodes approve \u003CrequestId>` to complete pairing.\"\n\n**Wait for the user to confirm pairing is complete before continuing.**\n\n#### Subsequent connections (already paired):\n\nOnce paired, the node reconnects automatically using the stored token:\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url>\n```\n\nYou can also pass the token explicitly if needed:\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Cgateway_ws_url> --openclaw-token \u003Cgateway_token>\n```\n\n#### Node management commands:\n\n| Command | Purpose |\n|---------|---------|\n| `openclaw nodes pending` | View pending pair requests |\n| `openclaw nodes approve \u003Cid>` | Approve a node |\n| `openclaw nodes reject \u003Cid>` | Reject a node |\n| `openclaw nodes status` | List paired nodes and their status |\n\n#### Operating modes:\n\n| Mode | Command | Description |\n|------|---------|-------------|\n| **Full** (default) | `tescmd serve \u003CVIN> --openclaw \u003Curl>` | MCP server + telemetry + OpenClaw bridge |\n| **Bridge only** | `tescmd serve \u003CVIN> --no-mcp --openclaw \u003Curl>` | Telemetry + OpenClaw, no MCP server |\n| **With Tailscale** | `tescmd serve \u003CVIN> --tailscale --openclaw \u003Curl>` | Exposes MCP via Tailscale Funnel |\n| **Dry run** | `tescmd serve \u003CVIN> --dry-run` | Log events as JSONL, no Gateway connection |\n\n#### Key flags reference:\n\n| Flag | Description |\n|------|-------------|\n| `\u003CVIN>` | Vehicle Identification Number (positional) |\n| `--openclaw \u003Cws_url>` | Gateway WebSocket URL (e.g. `ws:\u002F\u002Fhost:18789`) |\n| `--openclaw-token \u003Ctoken>` | Gateway authentication token (auto-stored after pairing) |\n| `--openclaw-config \u003Cpath>` | Bridge config JSON (default: `~\u002F.config\u002Ftescmd\u002Fbridge.json`) |\n| `--transport \u003Ctype>` | MCP transport: `streamable-http` (default) or `stdio` |\n| `--port \u003Cnum>` | MCP HTTP port (default: 8080) |\n| `--host \u003Caddr>` | MCP bind address (default: 127.0.0.1) |\n| `--telemetry-port \u003Cnum>` | Telemetry WebSocket port (default: 4443) |\n| `--fields \u003Cpreset>` | Telemetry fields: `driving`, `charging`, or `all` |\n| `--interval \u003Csec>` | Telemetry polling interval in seconds |\n| `--no-telemetry` | Disable telemetry streaming |\n| `--no-mcp` | Disable MCP server |\n| `--no-log` | Disable CSV telemetry logging |\n| `--dry-run` | Log events as JSONL without connecting to Gateway |\n| `--tailscale` | Expose MCP via Tailscale Funnel |\n| `--client-id \u003Cid>` | MCP OAuth client ID |\n| `--client-secret \u003Csecret>` | MCP OAuth client secret |\n\n#### Environment variables (alternative to flags):\n\nThese can be set in `~\u002F.config\u002Ftescmd\u002F.env`:\n```bash\nTESLA_CLIENT_ID=your-client-id\nTESLA_CLIENT_SECRET=your-client-secret\nTESLA_VIN=5YJ3E1EA1NF000000\nTESLA_REGION=na                    # na, eu, or cn\nOPENCLAW_GATEWAY_URL=ws:\u002F\u002Fgateway.example.com:18789\nOPENCLAW_GATEWAY_TOKEN=your-token\nTESLA_COMMAND_PROTOCOL=auto        # auto, signed, or unsigned\n```\n\n---\n\n### Step 7: Verify the Connection\n\nOnce the node is running and paired, confirm it connected to the Gateway:\n```bash\nopenclaw nodes status\n```\n\nOr use the agent tool:\n- Call `tescmd_node_status` to check connection status\n\nIf connected, the plugin's tools are ready. Call `tescmd_help` for the full runtime reference including tool usage, workflows, and error handling.\n\n---\n\n## Troubleshooting Setup\n\n| Problem | Solution |\n|---------|----------|\n| \"no node connected\" | Start the node: `tescmd serve \u003CVIN> --openclaw \u003Curl>` |\n| Pairing request not visible | Check `openclaw nodes pending` — requests expire after 5 minutes. Restart the node to generate a new request. |\n| Node connects then disconnects | Check Gateway URL. Run `tescmd auth status` to verify Tesla auth. |\n| Auth\u002Ftoken errors | Re-authenticate: `tescmd auth login` |\n| Setup wizard issues | Re-run `tescmd setup` or check https:\u002F\u002Fgithub.com\u002Foceanswave\u002Ftescmd |\n| Plugin not loading | Run `openclaw plugins doctor`. Check `openclaw plugins list` for the plugin entry. |\n| Triggers say \"not available\" | Restart node with telemetry: remove `--no-telemetry` or add `--fields all` |\n\n---\n\n## Configuration\n\nMinimal — the tescmd node handles all vehicle-specific configuration.\n\n```json\n{\n  \"plugins\": {\n    \"entries\": {\n      \"openclaw-tescmd\": {\n        \"enabled\": true,\n        \"config\": {\n          \"debug\": false\n        }\n      }\n    }\n  }\n}\n```\n\n---\n\n## CLI Quick Reference\n\n### tescmd CLI Commands\n\n```bash\ntescmd serve \u003CVIN> --openclaw \u003Curl>                              # Start node (uses stored token)\ntescmd serve \u003CVIN> --openclaw \u003Curl> --openclaw-token \u003Ctoken>     # Start node (explicit token)\ntescmd setup                        # Interactive setup wizard\ntescmd auth status                  # Check auth token status\ntescmd auth login                   # Re-authenticate with Tesla\ntescmd vehicle list                 # List vehicles on account\ntescmd vehicle info                 # Full vehicle data snapshot\ntescmd cache status                 # Check cache stats\n```\n",{"name":5,"slug":5,"version":37,"homepage":38,"metadata":39,"description":7,"displayName":41},"0.9.7","https:\u002F\u002Fgithub.com\u002Foceanswave\u002Fopenclaw-tescmd",{"node":40,"category":28,"platform":26},"tescmd","OpenClaw Tesla (tescmd)","main","f4cb2d49f7667e79ef7804f50396d5aaffdf1f56","网页与前端开发\u002Fopenclaw-tescmd",1,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification","https:\u002F\u002Fgithub.com\u002FKernel8901","a little little little dobe in life but science geek","2026-04-05 16:43:56",{"source":8,"skillName":5,"commands":51,"prompt":61,"zipAvailable":62},[52,55,58],{"tool":53,"command":54},"npx","npx skills add Kernel8901\u002Fai-agent-skills-classification --skill openclaw-tescmd",{"tool":56,"command":57},"bunx","bunx skills add Kernel8901\u002Fai-agent-skills-classification --skill openclaw-tescmd",{"tool":59,"command":60},"pnpm","pnpm dlx skills add Kernel8901\u002Fai-agent-skills-classification --skill openclaw-tescmd","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Fopenclaw-tescmd\u002FSKILL.md",true,[64],{"path":65,"resourceType":66,"resourceTypeDesc":67,"sizeBytes":68,"sourceHtmlUrl":69},"_meta.json","REFERENCE","参考文档",455,"https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F网页与前端开发\u002Fopenclaw-tescmd\u002F_meta.json",[71,95,131,142,152,179],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":77,"publishedAt":32},"01M6Q5R6WZ06RRB9RQTW54B34B","zyfai","Earn yield on any Ethereum wallet on Base, Arbitrum, and Plasma. Use when a user wants passive DeFi yield on their funds. Deploys a non-custodial subaccount (Safe) linked to their EOA, enables automated yield optimization, and lets them deposit\u002Fwithdraw anytime.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzyfai-sdk\u002FSKILL.md",[],[73,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],"safe","ethereum","defi","Optimization","user","use","Wallet","base","deposit","withdraw","yield","arbitrum","non-custodial","passive","defi yield","earn","yield optimization",{"skillNo":96,"name":97,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":113,"publishedAt":32},"01M6Q5R337B5JSNER4P4YS03TN","zerion-api","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api\u002FSKILL.md",[100,105,108],{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000010","后端与接口","SCENARIO","使用场景",{"categoryNo":106,"categoryName":107,"taxonomyType":103,"taxonomyTypeDesc":104},"01JBSEEDCAT000000000000023","Skill与智能体开发",{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000030","开发工程师","PROFESSION","适用职业",[114,115,116,117,118,119,120,80,121,84,122,123,124,125,126,127,128,129,130],"api","zerion api","zerion","MCP","mcp server","server","blockchain","transactions","crypto wallet","crypto","evm","solana","query","across","positions","token","prices",{"skillNo":132,"name":133,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":134,"categories":135,"keywords":139,"publishedAt":32},"01M6Q5QZFYTDAZMZ27BN5VZXAR","zerion-api-skill","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-skill\u002FSKILL.md",[136,137,138],{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},{"categoryNo":106,"categoryName":107,"taxonomyType":103,"taxonomyTypeDesc":104},{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[114,140,141,115,116,117,118,119,120,80,121,84,123,124,125,126,127,128,129,130],"api skill","zerion api skill",{"skillNo":143,"name":144,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":145,"categories":146,"keywords":150,"publishedAt":32},"01M6Q5QW17QW98RA3FE45E4RD8","zerion-api-mcp","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fzerion-api-mcp\u002FSKILL.md",[147,148,149],{"categoryNo":101,"categoryName":102,"taxonomyType":103,"taxonomyTypeDesc":104},{"categoryNo":106,"categoryName":107,"taxonomyType":103,"taxonomyTypeDesc":104},{"categoryNo":109,"categoryName":110,"taxonomyType":111,"taxonomyTypeDesc":112},[117,114,151,115,116,118,119,80,121,84,122,123,124,125,126,127,128,129,130],"zerion api mcp",{"skillNo":153,"name":154,"nameZh":6,"description":155,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":156,"categories":157,"keywords":161,"publishedAt":32},"01M6Q5QQYZB7A501BDEQWKGSJT","yahoo-finance-forex","Fetches real-time FOREX news and market data from Yahoo Finance for major currency pairs (EUR\u002FUSD, GBP\u002FUSD, USD\u002FJPY, etc.). Analyzes sentiment and provides trading context.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-forex\u002FSKILL.md",[158],{"categoryNo":159,"categoryName":160,"taxonomyType":111,"taxonomyTypeDesc":112},"01JBSEEDCAT000000000000040","财务",[162,163,164,165,166,20,23,167,168,169,170,171,172,173,174,175,176,177,178,31],"finance","yahoo finance","forex","yahoo","yahoo finance forex","sentiment","real-time","python3","install","Market","usd","news","time","currency","gbp","pip","market data",{"skillNo":180,"name":181,"nameZh":6,"description":182,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":6,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":183,"categories":184,"keywords":186,"publishedAt":32},"01M6Q5QM6VS84WZVM7BKXXPF32","yahoo-finance","This skill should be used when the user asks to \"get stock prices\", \"check stock quotes\", \"look up earnings\", \"get financial data\", \"find trending stocks\", or needs stock market data from Yahoo Finance.","https:\u002F\u002Fgithub.com\u002FKernel8901\u002Fai-agent-skills-classification\u002Fblob\u002Fmain\u002F金融\u002Fyahoo-finance-cli\u002FSKILL.md",[185],{"categoryNo":159,"categoryName":160,"taxonomyType":111,"taxonomyTypeDesc":112},[162,163,165,187,188,189,190,191,192,171,193,194,195,196,197,198,199,200,130,178],"cli","homebrew","find","check","brew","up","local","get","stock","link","trending","sf","quotes","ln"]