360 Secure SkillHub
360 安全技能中心

Call My Agent

核心功能是为用户与OpenClaw代理创建私人语音会话,支持主动呼叫或代理回呼,无需Twilio或租用手机号。复用现有OpenClaw的OpenAI授权,通过Tailscale实现安全远程访问,全程本地运行无托管后端。典型场景为需语音交互使用OpenClaw但不想依赖第三方电话服务的用户。输入为指定触发词,输出包含语音线路配置及验证结果,关键操作需用户确认保障安全。

mrbese
mrbese
热度 32.30
最近更新 2026-05-22 01:43:25
分类:自动化依赖:代码执行 / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add call-my-agent
Metadata
name
call-my-agent
version
0.1.3
description
Create a private phone line between you and your OpenClaw agent. Call your agent from your phone, or let your agent call you, without Twilio or phone number rental. Runs locally, uses existing OpenClaw OpenAI auth profiles, and exposes access safely through Tailscale.
triggers
["call my agent","can I call you","can you call me","agent call me","let my agent call me","direct phone line with my agent","private phone line with my OpenClaw agent","OpenClaw voice without phone number","call OpenClaw from my phone","voice call with my OpenClaw agent","no Twilio voice agent","use OpenClaw voice without Twilio"]
tools
["shell","filesystem"]
mutating
true

Call My Agent

Source

  • ClawHub code package: @mrbese/call-my-agent
  • Public app repository: https://github.com/mrbese/call-my-agent
  • V1 runtime: OpenClaw only.
  • Roadmap only: Hermes, custom command adapters, Codex, and ChatGPT App.

Prefer installing and running from the ClawHub code package. Keep GitHub as the public source and provenance link, not the normal install path.

Security Review Notes

This skill describes setup for a local voice app. It must treat the following actions as explicit user-confirmation gates:

  • Installing or updating the ClawHub package.
  • Cloning, downloading, or updating the external app repository.
  • Running npm install or any package install command.
  • Writing or enabling macOS LaunchAgent or Linux systemd user-service files.
  • Enabling, changing, or disabling Tailscale Serve routes.
  • Starting a long-running local service.

The agent must show the package and source before install:

ClawHub package: @mrbese/call-my-agent
Source: https://github.com/mrbese/call-my-agent

The agent must prefer a pinned ClawHub package version. If installing from GitHub instead of ClawHub, it must say so plainly before proceeding.

The agent must not request, print, paste, or store OpenAI API keys in chat. OpenAI keys should be resolved from existing OpenClaw auth profiles first. If a new key is needed, use OpenClaw's normal local auth flow.

The app must bind to 127.0.0.1 by default. If the user explicitly asks for another bind host, explain the LAN/public exposure risk and ask for confirmation before changing it. Never silently bind to 0.0.0.0.

Remote access must use Tailscale Serve by default, not a public tunnel, and must require confirmation before it is enabled.

Every persistence or remote-access setup path must include the corresponding teardown command before or immediately after enabling it.

Contract

This skill guarantees:

  • Sets up one private voice line for one OpenClaw agent, usually main.
  • Reuses existing OpenClaw openai:* auth profiles before asking for a key.
  • Stores any newly supplied OpenAI key in OpenClaw auth, not in a Call My Agent-specific secret store.
  • Runs the voice app locally and binds to 127.0.0.1 by default.
  • Uses Tailscale Serve as the default remote access boundary.
  • Prints a privacy check that explains what leaves the machine.

Phases

  1. Inspect the host.
    • Confirm OpenClaw is installed.
    • List available OpenClaw agents.
    • Default to main unless the user chooses another agent.
    • Check whether Tailscale is installed and logged in.
  2. Resolve OpenAI auth.
    • Check the target agent's OpenClaw openai:* auth profiles.
    • Honor OpenClaw provider order when profiles exist.
    • If no usable profile exists, ask for an OpenAI API key once and save it through OpenClaw's normal auth flow.
    • Do not send keys to any Call My Agent service. There is no hosted backend.
  3. Prepare the packaged app.
    • Prefer the ClawHub-installed package root for @mrbese/call-my-agent.
    • Ask for confirmation before installing or updating the package.
    • Ask for confirmation before running npm install.
    • Run npm run setup:openclaw to generate .env.local, preserve existing local values, create a local incoming-call token, and inspect OpenClaw auth without printing secrets.
    • Use npm run setup:openclaw -- --install only when dependency install was explicitly approved.
    • Keep generated local state out of publishable artifacts.
  4. Configure service management.
    • Start the app bound to 127.0.0.1 by default.
    • If the user requests another bind host, explain the exposure risk and ask for confirmation before changing it.
    • Offer, but do not silently install, deploy/macos/ai.openclaw.call-my-agent.plist.
    • Offer, but do not silently install, deploy/linux/call-my-agent.service.
    • Ask for confirmation before writing or enabling any persistence file.
    • Provide the clean stop/uninstall path before or immediately after enabling persistence.
  5. Configure private phone access.
    • Offer Tailscale Serve for remote access: npm run tailscale:setup.
    • Use npm run tailscale:teardown to disable the Serve route.
    • Do not set up public tunnels by default.
    • Ask for confirmation before enabling or changing Tailscale Serve.
    • For incoming calls, require a call token when remote access is enabled.
  6. Verify and report.
    • Run npm run doctor.
    • Check that the local page loads.
    • Check that /api/tools returns the expected tools.
    • Check that OpenAI Realtime session creation works.
    • Print the private Tailscale URL and privacy check.

Output Format

Good setup output looks like:

Call My Agent is ready.

Agent:             OpenClaw main
Local URL:         http://127.0.0.1:3000
Private phone URL: https://your-machine.your-tailnet.ts.net:8443/

Privacy check:
App hosting:        your machine
Voice transport:    OpenAI Realtime API
Agent runtime:      local OpenClaw
Remote access:      your Tailscale network
Phone provider:     none
Hosted backend:     none
Call My Agent API:  none
App account:        none
API keys collected: no

Anti-Patterns

  • Claiming this creates carrier/PSTN phone calls. These are private internet voice sessions.
  • Asking users to create a Twilio account or rent a phone number.
  • Binding the app to 0.0.0.0 during default setup.
  • Creating a public tunnel as the default remote access path.
  • Storing OpenAI keys in a Call My Agent-specific remote service.
  • Presenting Hermes, Codex, ChatGPT Apps, or custom command support as v1 features before those adapters exist.

Tools Used

  • Shell commands for OpenClaw, npm, Tailscale, LaunchAgent, and systemd setup.
  • Filesystem edits for local app configuration and service files.
  • OpenClaw auth profile commands for key storage and provider ordering.