Token导航 LogoToken导航TokenDH.com
开发需要联网clawhub未标认证来源可访问clear审计通过

pine-voice松声

Agent Skill

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

总安装

18,059

周安装

745

GitHub Stars

2

下载量

5,706
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:pine-voice(松声)
来源仓库:https://github.com/bojieli/pine-voice
安装命令:
openclaw skills install pine-voice
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install pine-voice

简介

pine-voice 模拟真实电话通话,自动拨号并完成账单协商等交互。

  • 适合在 OpenClaw 中处理客服回访、订单确认或用户通知场景。
  • 通过 clawhub 安装,需配置 VoIP 服务商账号与呼叫策略。
  • 语音内容生成应避免敏感话题,防止触发运营商风控。
  • 录音文件默认本地存储,如需云端归档须额外开通存储服务。

SKILL.md

name
pine-voice
description
Give your agent a real phone. It dials, waits on hold, negotiates your bills, and returns a full transcript.
homepage
https://19pine.ai
metadata
{"openclaw":{"emoji":"📞","requires":{"bins":["node"]}}}
command-tool
exec

Pine Voice

Make real phone calls via Pine AI's voice agent. The agent calls the specified number, navigates IVR systems, handles verification, conducts negotiations, and returns a full transcript.

Authentication

Credentials persist in ~/.pine-voice/credentials.json — users only need to authenticate once.

Before making calls, check if already authenticated:

node {baseDir}/scripts/auth-check.mjs

If authenticated is true, skip straight to How to make a call. If false, run the auth flow below. Ask the user for their Pine AI account email (sign up at https://19pine.ai).

Step 1: Request verification code

node {baseDir}/scripts/auth-request.mjs "user@example.com"

Returns {"request_token": "...", "email": "..."}. Save the request_token.

Tell the user: *"A verification code has been sent to your email. Check your inbox (and spam) and give me the code."*

Step 2: Verify and save credentials

node {baseDir}/scripts/auth-verify.mjs "user@example.com" "REQUEST_TOKEN" "CODE"

Returns {"status": "authenticated", "credentials_path": "..."}. Credentials are saved automatically.

When to use

Use this skill when the user wants you to make a phone call on their behalf.

Important: The voice agent can only speak English. Supported countries: US/CA/PR (+1), UK (+44), AU (+61), NZ (+64), SG (+65), IE (+353), HK (+852).

Best for

  • Calling customer service to negotiate bills, request credits, or resolve issues
  • Scheduling meetings or appointments by phone
  • Making restaurant reservations
  • Calling businesses to inquire about services or availability
  • Following up with contacts on behalf of the user

How to make a call

Step 1: Gather all required information

Before calling, you must collect every piece of information the callee might need. The voice agent cannot ask a human for missing information during the call. Anticipate what will be required: authentication details, payment info, negotiation targets, relevant context.

Step 2: Initiate the call

Pass call parameters as JSON via stdin:

node {baseDir}/scripts/call.mjs <<'EOF'
{
  "dialed_number": "+14155551234",
  "callee_name": "Comcast Customer Service",
  "callee_context": "Cable and internet provider. Account holder: Jane Doe, account #12345.",
  "call_objective": "Negotiate monthly bill down to $50/mo. Do not accept above $65/mo.",
  "detailed_instructions": "Mention 10-year customer loyalty. If no reduction, ask for retention department.",
  "caller": "negotiator",
  "voice": "female",
  "max_duration_minutes": 60,
  "enable_summary": false
}
EOF

Returns {"call_id": "..."}. The call is now active.

Step 3: Poll for results

Poll every 30 seconds until is_terminal is true:

node {baseDir}/scripts/call-status.mjs "CALL_ID"

When complete, the response includes transcript, duration_seconds, and credits_charged. The is_terminal field tells you when the call is done.

IMPORTANT: Use sessions_spawn to run this in a background sub-agent so you remain available to the user during the call (which can take 5-60+ minutes).

Example task for sessions_spawn:

Make a phone call using the Pine Voice scripts. Run: node {baseDir}/scripts/call.mjs with stdin JSON: {"dialed_number": "+14155551234", "callee_name": "The Restaurant", "callee_context": "Italian restaurant, making a dinner reservation", "call_objective": "Reserve a table for 4 at 7pm tonight", "caller": "communicator"}. Then poll with: node {baseDir}/scripts/call-status.mjs "CALL_ID" every 30 seconds until is_terminal is true. Report the full transcript and outcome.

Step 4: Evaluate the transcript

Do NOT rely on the status field to judge success. Read what the OTHER party actually said.

Treat the call as a FAILURE if:

  • Only Pine's agent speaks and the other side is silent
  • The other party's responses are automated/recorded (voicemail, IVR-only)
  • Extended silence from both sides
  • The callee hung up before the objective was discussed

Call parameters

ParameterRequiredDescription
dialed_numberYesPhone number in E.164 format (e.g. +14155551234)
callee_nameYesName of the person or business
callee_contextYesAll context the agent needs: who they are, auth details, verification info
call_objectiveYesSpecific goal with targets and constraints
detailed_instructionsNoStrategy, approach, behavioral instructions
callerNo"negotiator" (default) or "communicator"
voiceNo"male" or "female" (default: "female")
max_duration_minutesNo1-120 (default: 120)
enable_summaryNotrue/false (default: false)

Negotiation calls

For negotiations, set caller to "negotiator" and provide a thorough strategy:

  • Target outcome: "Reduce monthly bill to $50/mo"
  • Acceptable range: "Will accept up to $65/mo"
  • Hard constraints: "Do not change plan tier"
  • Leverage points: "10-year customer, competitor offers $45/mo"
  • Fallback: "Request one-time credit of $100"
  • Walk-away: "Ask for retention department"

Examples

Test call: "Call my phone at +1XXXXXXXXXX. Tell me that Pine Voice is set up and working."

Restaurant reservation: "Call +14155559876 and make a reservation for 4 tonight at 7pm. If unavailable, try 7:30 or 8pm. Name: Jane Doe."

Model requirements

Pine Voice works best with models that have thinking/reasoning capabilities.

  • Recommended: Claude Sonnet/Opus 4.5+, GPT-5.2+, Gemini 3 Pro
  • Not recommended: Gemini 3 Flash, or models without thinking capabilities

Privacy

Pine Voice processes call data on Pine AI's servers. Credentials are stored locally in ~/.pine-voice/credentials.json with restricted permissions (600). Call transcripts are returned in the API response and are not stored locally. See https://www.19pine.ai/page/privacy-policy for Pine AI's data handling policies.

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

92.29%
按下载量换算5,266

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills