关于 pp-tesla
pp-tesla 是面向 Tesla 车主与 Agent 的 JSON 优先命令行工具,可检查车辆状态、执行空调和锁车等操作,并分析充电成本。它使用本地 SQLite 汇总行程、充电和电量损耗数据,也提供 MCP 接口。
主要功能
- 01检查车辆状态并执行车控操作
- 02分析充电费用及家庭充电情景
- 03汇总行程和充电时间线
- 04检测停车期间的电量损耗
- 05查看超级充电站空闲桩位
- 06审计已登记的车辆密钥
适用场景
- 01出发前检查车辆是否满足条件
- 02按月份和充电地点统计费用
- 03分析行程、充电记录和电量下降
- 04检查长期未使用的车辆密钥
MCP 相关
README 说明该 CLI 提供供 AI Agent 驱动车辆的 MCP 接口。
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ mvanhorn/ printing-press-library --skill pp-tesla安装后在 Claude Code 中输入/pp-tesla确认已加载。
详细介绍
Tesla — Printing Press CLI
前置条件:安装 CLI
此技能由 tesla-pp-cli 二进制文件驱动。**调用此技能中的任何命令前,必须确认 CLI 已安装。**如果尚未安装,请先安装:
- 使用 Printing Press 安装程序安装。在 macOS/Linux 上,二进制文件默认安装到
$HOME/.local/bin;在 Windows 上,默认安装到%LOCALAPPDATA%\Programs\PrintingPress\bin:npx -y @mvanhorn/printing-press-library install tesla --cli-only - 验证:
tesla-pp-cli --version - 确保所报告的安装目录位于将调用此技能的 Agent/运行时的
$PATH中。
如果 npx 安装失败(没有 Node、处于离线状态等),请改用 Go 直接安装(需要 Go 1.26.6 或更高版本):
go install github.com/mvanhorn/printing-press-library/library/devices/tesla/cmd/tesla-pp-cli@latest
如果安装后 --version 报告“command not found”,则运行时无法在 $PATH 中找到该二进制文件目录。在验证成功前,请勿执行技能命令。
何时使用此 CLI
当你需要面向 Tesla 车主账户的 JSON 优先 CLI 时,可以使用 tesla-pp-cli:检查车辆状态、控制空调/车锁/充电、分析充电成本,以及提供供 AI Agent 控车的 MCP 接口。对于一次性命令,它比 iOS 应用更快;对于 Agent,它比 TeslaPy 更友好;此外,它附带本地 SQLite,可提供 TeslaMate 风格的分析(行程、充电、哨兵耗电、成本账本),无需部署 Postgres+Grafana。最适合使用旧 REST 端点的 2021 年前 Model S/X 或 3/Y 车主;较新的车辆则可通过 tesla reachability 获取清晰的兼容方案。
独特功能
这些功能在其他用于此 API 的工具中均不可用。
基于本地状态的综合判断
-
ready— 用一个是/否答案回答“我能在 5 分钟后出发吗?”,并列出有依据的阻碍原因——电量状态与行程距离、是否已插电、车门是否关闭、哨兵模式是否关闭、车厢温度是否在目标值 3F 范围内、是否没有正在进行的更新安装这是 Tesla 车主最常问的问题;iOS 应用需要点按 6 次才能诊断,Agent 只需调用一次即可获得明确答案
tesla ready 5YJ3E1EA6XXXXXXXX --json
超越仪表板的本地分析
-
cost ledger— 按充电会话统计成本、月度支出、家用充电与 Supercharger 的比例,并按费率时段计算 $/kWh充电成本是 Tesla 车主最常做的电子表格分析;这是首个纯 CLI 工具,可替代 TeslaMate 仪表板
tesla cost ledger --since 2026-04-01 --group supercharger --json -
cost what-if— “如果你只在家充电,过去 90 天就能节省 $X。”将家用 $/kWh 代入 Supercharger 充电会话,重新计算充电记录大多数 Tesla 车主都觉得在家充电可能更省钱,却缺乏证据;此功能能给出具体金额
tesla cost what-if --only-home --since 90d --json -
timeline— 根据同步的 vehicle_states 轮询数据拼接行程与充电记录——起止时间、距离、能耗、效率,以及解析出地址的经纬度让 Agent 能像使用 TeslaMate 一样分析数据,无需部署 Docker+Postgres+Grafana
tesla timeline --since "last week" --json -
vampire— 对比电量状态变化与空闲时长,并标记可疑的哨兵模式时段或应用唤醒事件可用作保修争议的证据,并检测异常哨兵模式耗电;除此之外只有 TeslaMate 仪表板能做到
tesla vampire --threshold 1.5pct/24h --since 30d --json
他处没有的充电情报
-
supercharger watch— 获取已保存 Supercharger 的空闲充电位快照;--watch会每隔 N 秒重复轮询,并以 JSON 行格式输出状态变化避开高峰时段 I-90 Issaquah 的排队;驾车时也可通过 Agent 远程查询
tesla supercharger watch 1000 --free-stalls 2 --watch --json
他处没有的安全审计
-
keys audit— 列出每个已登记的密钥及其最后出现时间、角色和类型;标记超过 90 天未出现、可考虑移除的密钥重视安全的车主会担心旧手机和弃用的 NFC 卡仍与车辆配对;此功能适用于季度审查
tesla keys audit --stale-after 90d --json
可达性缓解
-
doctor— 检测需要签名命令的错误,将车辆归类为适用 REST 或需要签名命令,并在需要时打印 tesla-control 注册 URLTesla 在 2024-2026 年推出的签名命令是所有 Tesla CLI 面向用户时最容易踩的坑;这是唯一能清晰揭示这一问题的工具
tesla doctor --json
发现信号
此 CLI 根据浏览器观测到的流量上下文生成。
- 捕获覆盖范围:60 条网络记录中包含 58 个 API 条目
- 协议:firebase(置信度 75%)、rest_json(置信度 75%)
- 身份验证信号:bearer_token — 请求头:authorization;cookie — Cookie:_abck、bm_sz;api_key — 查询参数:key
- 生成提示:browser_clearance_required、requires_browser_auth
- 候选命令构想:create_auto_conditioning_start — 根据观测到的 POST /api/{id}/vehicles/5YJ3E1EA6XXXXXXXX/command/auto_conditioning_start 流量推导而来;create_auto_conditioning_stop — 根据观测到的 POST /api/{id}/vehicles/5YJ3E1EA6XXXXXXXX/command/auto_conditioning_stop 流量推导而来;create_diagnostic — 根据观测到的 POST /mobile-app/macgyver/diagnostic 流量推导而来;create_door_lock — 根据观测到的 POST /api/{id}/vehicles/5YJ3E1EA6XXXXXXXX/command/door_lock 流量推导而来;create_door_unlock — 根据观测到的 POST /api/{id}/vehicles/5YJ3E1EA6XXXXXXXX/command/door_unlock 流量推导而来;create_fireperf:fetch — 根据观测到的 POST /v1/projects/tesla-prod/namespaces/fireperf:fetch 流量推导而来;create_hermes — 根据观测到的 POST /api/{id}/vehicles/5YJ3E1EA6XXXXXXXX/jwt/hermes 流量推导而来;create_keys — 根据观测到的 POST /api/{id}/users/keys 流量推导而来。
命令参考
charging — 超级充电站排队位置和充电状态
tesla-pp-cli charging— 当前超级充电站排队位置(充电桩编号、预计等待时间)
diagnostics — 车辆诊断功能配置
tesla-pp-cli diagnostics— 车辆诊断功能开关
energy_sites — Powerwall 和太阳能能源站点配置
tesla-pp-cli energy_sites create-set-backup-reserve— 设置 Powerwall 备用电量百分比tesla-pp-cli energy_sites create-set-operation— 设置 Powerwall 运行模式tesla-pp-cli energy_sites get-calendar-history— 按日/月查看历史能源数据tesla-pp-cli energy_sites get-live-status— 实时查看 Powerwall、太阳能、电网和电池功率tesla-pp-cli energy_sites get-rate-tariffs— 用于 Powerwall 调度的公用事业费率计划tesla-pp-cli energy_sites get-site-info— 能源站点配置(容量、类型、地址)tesla-pp-cli energy_sites get-site-status— 备用电量和运行模式
logs — 客户端遥测接收端
tesla-pp-cli logs— 转发客户端日志事件(主要供内部使用)
notification_preferences — 推送通知设置
tesla-pp-cli notification_preferences— 更新推送通知偏好设置
products — 用户拥有的车辆、Powerwall 和太阳能产品
tesla-pp-cli products— 列出用户拥有的车辆、Powerwall 和太阳能产品
users — 账户配置、功能开关、订单以及密钥/凭据管理
tesla-pp-cli users create-keys— 添加虚拟手机钥匙或 BLE 钥匙tesla-pp-cli users get-app-config— 移动应用功能开关和运行时配置tesla-pp-cli users get-feature-config— 账户级功能控制tesla-pp-cli users get-orders— Tesla 订单(新车交付、配件购买)
vehicles — 单车数据、温控、车锁、远程启动和 Hermes 遥测令牌
tesla-pp-cli vehicles create-actuate-trunk— 打开/关闭后备箱或前备箱;which_trunk = front | reartesla-pp-cli vehicles create-add-charge-schedule— 添加充电计划(位置 + 时间范围)tesla-pp-cli vehicles create-add-precondition-schedule— 添加预处理计划tesla-pp-cli vehicles create-adjust-volume— 将音量设为指定级别tesla-pp-cli vehicles create-auto-conditioning-start— POST /api/1/vehicles/{vehicle_id}/command/auto_conditioning_starttesla-pp-cli vehicles create-auto-conditioning-stop— POST /api/1/vehicles/{vehicle_id}/command/auto_conditioning_stoptesla-pp-cli vehicles create-bioweapon-mode— 切换生化武器防御模式(HEPA 循环)tesla-pp-cli vehicles create-cancel-software-update— 取消待处理的软件更新tesla-pp-cli vehicles create-charge-max-range— 将充电上限设为最大续航(100%)tesla-pp-cli vehicles create-charge-port-door-close— 关闭充电接口tesla-pp-cli vehicles create-charge-port-door-open— 打开充电接口tesla-pp-cli vehicles create-charge-standard— 将充电上限设为标准(约 90%)tesla-pp-cli vehicles create-charge-start— 开始充电tesla-pp-cli vehicles create-charge-stop— 停止充电tesla-pp-cli vehicles create-climate-keeper-mode— 空调保持模式:0=关闭,1=开启,2=宠物,3=露营tesla-pp-cli vehicles create-door-lock— POST /api/1/vehicles/{vehicle_id}/command/door_locktesla-pp-cli vehicles create-door-unlock— POST /api/1/vehicles/{vehicle_id}/command/door_unlocktesla-pp-cli vehicles create-erase-user-data— 擦除访客会话用户数据tesla-pp-cli vehicles create-flash-lights— 闪烁前灯tesla-pp-cli vehicles create-guest-mode— 启用/停用访客模式tesla-pp-cli vehicles create-hermes— POST /api/1/vehicles/{vehicle_id}/jwt/hermestesla-pp-cli vehicles create-honk-horn— 鸣笛tesla-pp-cli vehicles create-max-defrost— 切换最大除霜tesla-pp-cli vehicles create-media-next-favorite— 切换到下一个收藏电台tesla-pp-cli vehicles create-media-next-track— 切换到下一首曲目tesla-pp-cli vehicles create-media-prev-favorite— 切换到上一个收藏电台tesla-pp-cli vehicles create-media-prev-track— 切换到上一首曲目tesla-pp-cli vehicles create-media-toggle-playback— 切换播放/暂停tesla-pp-cli vehicles create-media-volume-down— 调低音量tesla-pp-cli vehicles create-media-volume-up— 调高音量tesla-pp-cli vehicles create-navigation-gps-request— 将纬度/经度直接发送到导航系统tesla-pp-cli vehicles create-remote-start-drive— POST /api/1/vehicles/{vehicle_id}/command/remote_start_drivetesla-pp-cli vehicles create-remove-charge-schedule— 按 ID 删除充电计划tesla-pp-cli vehicles create-remove-precondition-schedule— 按 ID 删除预处理计划tesla-pp-cli vehicles create-reset-valet-pin— 重置代客泊车 PINtesla-pp-cli vehicles create-schedule-software-update— 安排待处理的软件更新tesla-pp-cli vehicles create-seat-heater-request— 设置座椅加热级别(0-3)和座椅位置(0=驾驶员,1=乘客,2-5=后排)tesla-pp-cli vehicles create-set-charge-limit— 设置充电上限百分比(50-100)tesla-pp-cli vehicles create-set-charging-amps— 设置充电电流tesla-pp-cli vehicles create-set-sentry-mode— 启用/停用哨兵模式tesla-pp-cli vehicles create-set-temps— 设置驾驶员和乘客区域的空调温度(摄氏度)tesla-pp-cli vehicles create-set-valet-mode— 启用/停用代客泊车模式,可选 PINtesla-pp-cli vehicles create-share— 将导航目的地发送到车辆(地址或坐标)tesla-pp-cli vehicles create-speed-limit-activate— 激活限速模式tesla-pp-cli vehicles create-speed-limit-clear-pin— 清除限速 PINtesla-pp-cli vehicles create-speed-limit-deactivate— 停用限速模式tesla-pp-cli vehicles create-speed-limit-set-limit— 设置限速值(mph)tesla-pp-cli vehicles create-steering-wheel-heater-request— 切换方向盘加热器tesla-pp-cli vehicles create-sun-roof-control— 天窗:state = vent | closetesla-pp-cli vehicles create-trigger-homelink— 触发 HomeLink 车库门tesla-pp-cli vehicles create-wake-up— 唤醒休眠中的车辆tesla-pp-cli vehicles create-window-control— 打开通风或关闭所有车窗;command = vent | closetesla-pp-cli vehicles get-compose-image— 为已配置的车辆合成渲染图像tesla-pp-cli vehicles get-data-charge-state— 充电状态子集(比完整的 vehicle_data 更快)tesla-pp-cli vehicles get-data-climate-state— 空调状态子集tesla-pp-cli vehicles get-data-drive-state— 行驶状态(位置、速度、挡位)子集tesla-pp-cli vehicles get-data-gui-settings— GUI 设置(单位、时间格式)tesla-pp-cli vehicles get-data-vehicle-config— 车辆配置(型号、选项、配置)tesla-pp-cli vehicles get-data-vehicle-state— 车辆状态(车锁、软件、哨兵模式)子集tesla-pp-cli vehicles get-mobile-enabled— 车辆是否启用了手机控制tesla-pp-cli vehicles get-nearby-chargers— 附近的 Supercharger 站点及其充电桩可用情况字段tesla-pp-cli vehicles get-release-notes— 当前/排队中的软件更新的发行说明tesla-pp-cli vehicles get-service-data— 此车辆的未完成维修预约和近期维修记录tesla-pp-cli vehicles get-vehicle-data— 完整车辆状态快照:充电、空调、行驶、GUI、车辆配置和软件
查找合适的命令
当你知道想做什么,但不知道该用哪个命令时,可以直接询问 CLI:
tesla-pp-cli which "<capability in your own words>"
which 会根据自然语言能力查询,从此 CLI 精选的功能索引中匹配最合适的命令。退出代码 0 表示至少找到一项匹配;退出代码 2 表示没有可信的匹配结果——此时可改用 --help,或缩小查询范围。
使用示例
先快照,再检查就绪状态
tesla snap --all --json && tesla ready 5YJ3E1EA6XXXXXXXX --json
获取账户中每辆车的状态,然后检查你的主用车辆是否已准备好行驶。
早晨就绪检查
tesla ready 5YJ3E1EA6XXXXXXXX --json --select ready,blockers
返回一个 JSON 对象:汽车是否已准备好行驶;如果没有,原因是什么。对于 Agent,可使用 --select 限制响应大小。
月度充电费用报告
tesla cost ledger --since 30d --group supercharger,home --json --select total_usd,sessions,kwh_added,supercharger_ratio
按月细分,并使用点分路径 --select,让 Agent 仅查看汇总字段,而非每次充电会话的数据。
出发前预先调节车内温度
tesla vehicles create-auto-conditioning-start 5YJ3E1EA6XXXXXXXX --json
启动空调预调节。十分钟后运行 tesla ready <vin>,确认车厢已暖和。
超级充电站排队监视器
tesla supercharger watch 1000 --free-stalls 2 --watch --json
订阅已保存站点的空闲车位状态变化;每次变化都会输出一行 JSON。可通过管道传给 Agent,以便发送提醒。
通过分析查看本地 SOC 历史记录
tesla-pp-cli analytics --select battery_level,captured_at --limit 30 --json
从本地 SQLite 提取最近 30 条车辆状态记录,用于趋势分析;这些数据与 TeslaMate 在 Grafana 中展示的数据相同。
示例:随时随地发送远程命令(Fleet 路径 — 默认)
# 1. Install tesla-control (clone+build, not go install @latest)
git clone https://github.com/teslamotors/vehicle-command.git
cd vehicle-command && go build -o tesla-control ./cmd/tesla-control
mv tesla-control ~/go/bin/ && cd ..
# 2. Generate keypair and scaffold public-key host
tesla-pp-cli auth fleet-template --gen-key --dest ./tesla-keys-host
cd tesla-keys-host && vercel deploy --prod
# 3. Register at developer.tesla.com with the Vercel hostname, copy client_id and client_secret
# 4. Register with Tesla (key-file auto-detected from ~/.tesla/)
tesla-pp-cli auth fleet-register \
--public-key-domain <your-host>.vercel.app \
--client-id <id> \
--client-secret-file <secret-file>
# 5. User OAuth login
tesla-pp-cli auth fleet-login
# 6. ONE-TIME: Enroll virtual key at the car (BLE+NFC required, must be at car)
tesla-control -ble -vin <VIN> add-key-request owner cloud_key
# Tap NFC card or phone key when the car prompts
# 7. Now remote commands work from anywhere
tesla-pp-cli command climate_on --vehicle <name> --send
tesla-pp-cli command unlock --vehicle <name> --send
在车辆旁完成一次性 BLE+NFC 配对后,所有已签名的命令都可通过互联网从任何地方发送。每次调用的费用为 $0.001;如果车辆处于休眠状态,则需额外支付 $0.02 唤醒费用。在每月 $10 的个人使用额度内,实际费用约为 $0。
示例:在不同路径之间切换
--via 标志会覆盖默认传输方式:
tesla-pp-cli command set_charge_limit --vehicle <name> --send -- percent=80
tesla-pp-cli command unlock --vehicle <name> --send --via fleet
tesla-pp-cli command flash_lights --vehicle <name> --send --via ble
tesla-pp-cli command honk_horn --vehicle <name> --send --via hermes
默认情况下,2021 年之前的车辆使用 REST;2021 年之后的车辆在完成注册后使用 Fleet。使用 --via=hermes 强制走 Hermes 中继路径(免费,但仅适用于信息娱乐命令——充电、空调、鸣笛和媒体)。使用 --via=ble 发送本地蓝牙命令。
示例:将 Tesla Agent 部署到云端 Mac mini
# On laptop:
tesla auth export --out tesla-bundle.enc
scp tesla-bundle.enc user@mac-mini:~/
# On Mac mini:
tesla auth import ~/tesla-bundle.enc
tesla-pp-cli command honk_horn --vehicle <name> --send --via fleet
导出操作会将 REST bearer、Fleet bearer 和已注册的 ECDSA 密钥对打包,并使用 Argon2id 和 AES-256-GCM 加密。通过 Tailscale 或任何安全渠道复制此文件。在远程设备上导入并输入密码后,同一组 Fleet 凭据和同一个已注册密钥即可在新主机上使用。车辆无需重新注册;密钥身份由密钥对保持不变。
路径选择流程图
文本形式(在各种 SKILL.md 查看器中均可一致呈现):
Is the vehicle pre-2021?
Yes -> REST (default path, no extra setup)
No -> Continue.
Is Fleet API enrolled?
Yes -> Fleet API (default for all signed commands, roughly $0/mo within personal-use credit)
No -> Continue.
Is the car within Bluetooth range of this host?
Yes -> BLE (free, all commands, no internet needed)
No -> Continue.
Is Hermes relay running and only need infotainment commands?
Yes -> Hermes (free, but only charge/climate/honk/media — no unlock/lock/trunk)
No -> Set up Fleet API (see Auth Setup below)
Deploying to a second host (cloud Mac mini, Pi)?
Use Fleet + `tesla auth export` and `tesla auth import` on the remote.
身份验证设置
第 1 步:安装 tesla_auth(必需)
CLI 需要 tesla_auth 进行 OAuth 登录。请先安装:
cargo install tesla_auth
# or on macOS: brew install adriankumpf/tap/tesla_auth
第 2 步:Owner API 登录
tesla-pp-cli auth login
此操作会启动 tesla_auth 子进程,并在原生窗口中打开 Tesla 的 OAuth 页面。在该页面登录(MFA、验证码、短信验证码均由 Tesla 处理——我们不会接触这些信息),tesla_auth 会捕获令牌。CLI 会将令牌存储在 ~/.config/tesla-pp-cli/config.toml(权限模式为 0600)。Bearer 令牌有效期为 8 小时;遇到 401 时,CLI 会使用长期有效的刷新令牌静默重新签发令牌。
已有刷新令牌时的无头/CI 备用方式:
auth login --paste— 从标准输入读取刷新令牌auth login --refresh-token <tok>— 通过标志传入令牌
步骤 3:适用于 2021 年及之后的车辆(Fleet API + Virtual Key)
2021 年及之后的 Tesla 需要通过 Fleet API 发送签名命令。这是一次性设置:
-
安装 tesla-control(克隆并构建——
go install @latest会因上游替换指令而失败):git clone https://github.com/teslamotors/vehicle-command.git cd vehicle-command go build -o tesla-control ./cmd/tesla-control mv tesla-control ~/go/bin/ # or somewhere on your $PATH -
搭建公钥主机并生成密钥对:
tesla-pp-cli auth fleet-template --gen-key --dest ./tesla-keys-host cd tesla-keys-host && vercel deploy --prod -
在 developer.tesla.com 注册:创建一个应用,将允许的来源/重定向地址设为已部署的主机和
http://localhost:8585/callback。复制client_id和client_secret。 -
向 Tesla 注册(会自动从
~/.tesla/检测--key-file):tesla-pp-cli auth fleet-register \ --client-id <id> \ --client-secret-file <secret-path> \ --public-key-domain <your-host>.vercel.app -
完成用户 OAuth 流程:
tesla-pp-cli auth fleet-login -
在车辆上注册 Virtual Key(需要 BLE+NFC——车辆必须在附近):
tesla-control -ble -vin <VIN> add-key-request owner cloud_key # Tap your NFC card or phone key when the car prompts此步骤无法远程完成——你必须在车辆旁,并使用蓝牙和 NFC 凭证。
运行 tesla-pp-cli doctor 验证设置。
Agent 模式
为任意命令添加 --agent。它会展开为:--json --compact --no-input --no-color --yes。
-
可通过管道传递——JSON 输出到 stdout,错误输出到 stderr
-
可筛选——
--select保留部分字段。带点号的路径可深入嵌套结构;数组会逐项遍历。对于内容冗长的 API,这对控制上下文大小至关重要:tesla-pp-cli charging --agent --select id,name,status -
可预览——
--dry-run显示请求但不发送 -
适合离线使用——有本地 SQLite 存储时,同步/搜索命令可以使用它
-
非交互式——不会提示输入,所有输入都通过标志指定
-
明确重试——仅当已存在的创建结果应视为成功时,才使用
--idempotent
响应封装
从本地存储或 API 读取的命令会将输出封装在来源信息信封中:
{
"meta": {"source": "live" | "local", "synced_at": "...", "reason": "..."},
"results": <data>
}
解析 .results 获取数据,并查看 .meta.source 以确认数据来自实时 API 还是本地存储。只有当 stdout 是终端且未设置机器格式标志(--json、--csv、--compact、--quiet、--plain、--select)时,才会将便于阅读的 N results (live) 摘要输出到 stderr——通过管道接收的内容、Agent 消费的内容以及使用显式格式运行的命令,都会在 stdout 输出纯 JSON。
Agent 反馈
当你(或 Agent)发现此 CLI 有不妥之处时,请记录下来:
tesla-pp-cli feedback "the --since flag is inclusive but docs say exclusive"
tesla-pp-cli feedback --stdin < notes.txt
tesla-pp-cli feedback list --json --limit 10
条目会存储在本地 ~/.tesla-pp-cli/feedback.jsonl 中。只有设置了 TESLA_FEEDBACK_ENDPOINT,并且传入了 --send 或设置了 TESLA_FEEDBACK_AUTO_SEND=true 时,才会发送 POST 请求。默认仅存储在本地。
写下让你感到意外的地方,而不是提交错误报告。简短、具体,写成一行:这才是能够不断累积价值的内容。
输出传递
每个命令都接受 --deliver <sink>。除了输出到 stdout(或替代 stdout)之外,输出还会发送到指定的接收端,因此 Agent 无需手动通过管道传递,就能路由命令结果。支持三种接收端:
| 接收端 | 效果 |
|---|---|
stdout | 默认;仅输出到 stdout |
file:<path> | 将输出原子写入 <path>(临时文件 + 重命名) |
webhook:<url> | 将输出正文 POST 到 URL(使用 --compact 时,内容类型为 application/json 或 application/x-ndjson) |
不支持的方案会被拒绝,并返回结构化错误,指出支持的方案。Webhook 失败时会返回非零状态码,并在 stderr 中记录 URL 和 HTTP 状态码。
命名配置文件
配置文件是保存的一组标志值,可在多次调用中重复使用。当计划任务中的 Agent 每次运行都以相同配置调用同一命令时,可使用配置文件——这是 HeyGen 的“Beacon”模式。
tesla-pp-cli profile save briefing --json
tesla-pp-cli --profile briefing charging
tesla-pp-cli profile list --json
tesla-pp-cli profile show briefing
tesla-pp-cli profile delete briefing --yes
显式标志始终优先于配置文件中的值;配置文件中的值优先于默认值。agent-context 会在 available_profiles 下列出所有可用配置文件,方便进行自省的 Agent 在运行时发现它们。
退出代码
| 代码 | 含义 |
|---|---|
| 0 | 成功 |
| 2 | 用法错误(参数错误) |
| 3 | 未找到资源 |
| 4 | 需要身份验证 |
| 5 | API 错误(上游问题) |
| 7 | 请求过于频繁(等待后重试) |
| 10 | 配置错误 |
参数解析
解析 $ARGUMENTS:
- 为空、
help或--help→ 显示tesla-pp-cli --help的输出 - 以
install开头 → 以mcp结尾 → 安装 MCP;否则 → 参见上文的前提条件 - 其他任何内容 → 直接使用(作为 CLI 命令执行,并添加
--agent)
MCP 服务安装
从此 CLI 发布的公共库条目或预构建版本安装 MCP 二进制文件,然后进行注册:
claude mcp add tesla-pp-mcp -- tesla-pp-mcp
验证:claude mcp list
直接使用
- 检查是否已安装:
which tesla-pp-cli如果未找到,则提供安装选项(参见本技能顶部的前提条件)。 - 将用户查询与上文「独特功能」和「命令参考」中最合适的命令匹配。
- 使用
--agent标志执行:tesla-pp-cli <command> [subcommand] [args] --agent - 如果存在歧义,则查看子命令帮助:
tesla-pp-cli <command> --help。