create-assistant by vapiai/skills
npx skills add https://github.com/vapiai/skills --skill create-assistant使用 Vapi API 创建功能齐全的语音 AI 助手。助手结合了语言模型、语音和转录器,用于处理实时电话和网络对话。
设置: 确保已设置
VAPI_API_KEY。如有需要,请参阅setup-api-key技能。
curl -X POST https://api.vapi.ai/assistant \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support Assistant",
"firstMessage": "Hello! How can I help you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a friendly phone support assistant. Keep responses concise and under 30 words."
}
]
},
"voice": {
"provider": "vapi",
"voiceId": "Elliot"
},
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en"
}
}'
import { VapiClient } from "@vapi-ai/server-sdk";
const vapi = new VapiClient({ token: process.env.VAPI_API_KEY! });
const assistant = await vapi.assistants.create({
name: "Support Assistant",
firstMessage: "Hello! How can I help you today?",
model: {
provider: "openai",
model: "gpt-4.1",
messages: [
{
role: "system",
content: "You are a friendly phone support assistant. Keep responses concise and under 30 words.",
},
],
},
voice: {
provider: "vapi",
voiceId: "Elliot",
},
transcriber: {
provider: "deepgram",
model: "nova-3",
language: "en",
},
});
console.log("Assistant created:", assistant.id);
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
import requests
import os
response = requests.post(
"https://api.vapi.ai/assistant",
headers={
"Authorization": f"Bearer {os.environ['VAPI_API_KEY']}",
"Content-Type": "application/json",
},
json={
"name": "Support Assistant",
"firstMessage": "Hello! How can I help you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a friendly phone support assistant. Keep responses concise and under 30 words.",
}
],
},
"voice": {"provider": "vapi", "voiceId": "Elliot"},
"transcriber": {"provider": "deepgram", "model": "nova-3", "language": "en"},
},
)
assistant = response.json()
print(f"Assistant created: {assistant['id']}")
为助手提供智能支持的语言模型。
| 提供商 | 模型 | 备注 |
|---|---|---|
openai | gpt-4o, gpt-4o-mini, gpt-4-turbo | 最受欢迎,工具调用能力最佳 |
anthropic | claude-3-5-sonnet-20241022, claude-3-5-haiku-20241022 | 推理能力强 |
google | gemini-1.5-pro, gemini-1.5-flash | 支持多模态 |
groq | llama-3.1-70b-versatile, llama-3.1-8b-instant | 超快速推理 |
deepinfra | meta-llama/Meta-Llama-3.1-70B-Instruct | 开源模型 |
openrouter | 多种 | 可访问 100+ 模型 |
perplexity | llama-3.1-sonar-large-128k-online | 支持网络连接 |
together-ai | 多种开源 | 性价比高 |
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"maxTokens": 1000,
"messages": [
{
"role": "system",
"content": "Your system prompt here. Define the assistant's personality, rules, and behavior."
}
]
}
}
助手的文本转语音声音。
| 提供商 | 热门语音 | 备注 |
|---|---|---|
vapi | Elliot, Lily, Rohan, Paola, Kian | Vapi 优化语音,延迟最低 |
11labs | 使用 ElevenLabs 的语音 ID | 高质量,语音种类多 |
playht | 使用 PlayHT 的语音 ID | 富有表现力的语音 |
cartesia | 使用 Cartesia 的语音 ID | 快速,高质量 |
openai | alloy, echo, fable, onyx, nova, shimmer | OpenAI TTS 语音 |
azure | Azure 语音名称 | 企业级 |
deepgram | aura-asteria-en, aura-luna-en | 低延迟 |
rime-ai | 使用 Rime 的语音 ID | 专业语音 |
{
"voice": {
"provider": "vapi",
"voiceId": "Elliot"
}
}
用于理解来电者的语音转文本引擎。
| 提供商 | 模型 | 备注 |
|---|---|---|
deepgram | nova-3, nova-2 | 最快,最准确 |
google | latest_long, latest_short | Google Cloud STT |
gladia | fast, accurate | 欧洲提供商 |
assembly-ai | best, nano | 高准确度 |
speechmatics | 多种 | 企业级 STT |
talkscriber | 默认 | 专业 |
{
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en",
"keywords": ["Vapi:2", "AI:1"]
}
}
keywords 字段可提升特定词语的识别率(格式为 词语:提升值,提升值范围 1-10)。
{
"firstMessage": "Hello! Thanks for calling Acme Corp. How can I help you today?",
"firstMessageMode": "assistant-speaks-first"
}
firstMessageMode 选项:
"assistant-speaks-first" — 助手立即问候(默认)"assistant-waits-for-user" — 助手等待来电者先说话"assistant-speaks-first-with-model-generated-message" — LLM 生成问候语{
"backgroundSound": "office"
}
选项:"off", "office", "static"
启用自然的对话确认("嗯"、"我明白了"):
{
"backgroundDenoisingEnabled": true,
"backchannelingEnabled": true
}
{
"hipaaEnabled": true
}
启用后,Vapi 不会存储通话录音或转录文本。
附加工具,以便助手在通话期间可以执行操作。
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"toolIds": ["tool-id-1", "tool-id-2"],
"messages": [{"role": "system", "content": "..."}]
}
}
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"tools": [
{
"type": "function",
"function": {
"name": "check_availability",
"description": "Check appointment availability for a given date",
"parameters": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date in YYYY-MM-DD format"
}
},
"required": ["date"]
}
},
"server": {
"url": "https://your-server.com/api/tools"
}
}
],
"messages": [{"role": "system", "content": "..."}]
}
}
在特定通话事件发生时自动执行操作。详情请参阅 钩子参考。
{
"hooks": [
{
"on": "customer.speech.timeout",
"options": {
"timeoutSeconds": 10,
"triggerMaxCount": 3
},
"do": [
{
"type": "say",
"exact": "Are you still there?"
}
]
},
{
"on": "call.ending",
"filters": [
{
"type": "oneOf",
"key": "call.endedReason",
"oneOf": ["pipeline-error"]
}
],
"do": [
{
"type": "tool",
"tool": {
"type": "transferCall",
"destinations": [
{
"type": "number",
"number": "+1234567890"
}
]
}
}
]
}
]
}
curl https://api.vapi.ai/assistant \
-H "Authorization: Bearer $VAPI_API_KEY"
curl https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
curl -X PATCH https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstMessage": "Updated greeting!"
}'
curl -X DELETE https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
{
"name": "Customer Support",
"firstMessage": "Thank you for calling! How can I assist you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a helpful customer support agent for Acme Corp. Be empathetic, concise, and solution-oriented. If you cannot resolve an issue, offer to transfer to a human agent. Keep responses under 30 words."
}
]
},
"voice": { "provider": "vapi", "voiceId": "Lily" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "en" },
"backchannelingEnabled": true
}
{
"name": "Appointment Scheduler",
"firstMessage": "Hi there! I can help you schedule an appointment. What date works best for you?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are an appointment scheduling assistant. Collect the customer's preferred date, time, and service type. Confirm details before booking. Be friendly and efficient."
}
],
"tools": [
{
"type": "function",
"function": {
"name": "book_appointment",
"description": "Book an appointment for the given date, time, and service",
"parameters": {
"type": "object",
"properties": {
"date": { "type": "string", "description": "YYYY-MM-DD" },
"time": { "type": "string", "description": "HH:MM in 24h format" },
"service": { "type": "string", "description": "Type of service" },
"name": { "type": "string", "description": "Customer name" }
},
"required": ["date", "time", "service", "name"]
}
},
"server": { "url": "https://your-server.com/api/book" }
}
]
},
"voice": { "provider": "vapi", "voiceId": "Paola" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "en" }
}
{
"name": "Multilingual Support",
"firstMessage": "Hello! How can I help you? / Hola! Como puedo ayudarte?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a multilingual support assistant. Detect the caller's language and respond in the same language. You support English and Spanish."
}
]
},
"voice": { "provider": "vapi", "voiceId": "Paola" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "multi" }
}
此技能仓库包含一个 Vapi 文档 MCP 服务器 (vapi-docs),它使您的 AI 代理能够访问完整的 Vapi 知识库。使用 searchDocs 工具查找本技能未涵盖的任何内容 — 高级配置、故障排除、SDK 详情等。
自动配置: 如果您克隆或安装了这些技能,MCP 服务器已通过 .mcp.json (Claude Code)、.cursor/mcp.json (Cursor) 或 .vscode/mcp.json (VS Code Copilot) 配置好。
手动设置: 如果您的代理未自动检测到配置,请运行:
claude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server
有关所有支持的代理的完整设置说明,请参阅 README。
每周安装次数
305
仓库
GitHub 星标数
22
首次出现
2026年2月19日
安全审计
安装于
cursor272
kimi-cli269
gemini-cli269
github-copilot269
amp269
codex269
Create fully configured voice AI assistants using the Vapi API. Assistants combine a language model, voice, and transcriber to handle real-time phone and web conversations.
Setup: Ensure
VAPI_API_KEYis set. See thesetup-api-keyskill if needed.
curl -X POST https://api.vapi.ai/assistant \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Support Assistant",
"firstMessage": "Hello! How can I help you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a friendly phone support assistant. Keep responses concise and under 30 words."
}
]
},
"voice": {
"provider": "vapi",
"voiceId": "Elliot"
},
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en"
}
}'
import { VapiClient } from "@vapi-ai/server-sdk";
const vapi = new VapiClient({ token: process.env.VAPI_API_KEY! });
const assistant = await vapi.assistants.create({
name: "Support Assistant",
firstMessage: "Hello! How can I help you today?",
model: {
provider: "openai",
model: "gpt-4.1",
messages: [
{
role: "system",
content: "You are a friendly phone support assistant. Keep responses concise and under 30 words.",
},
],
},
voice: {
provider: "vapi",
voiceId: "Elliot",
},
transcriber: {
provider: "deepgram",
model: "nova-3",
language: "en",
},
});
console.log("Assistant created:", assistant.id);
import requests
import os
response = requests.post(
"https://api.vapi.ai/assistant",
headers={
"Authorization": f"Bearer {os.environ['VAPI_API_KEY']}",
"Content-Type": "application/json",
},
json={
"name": "Support Assistant",
"firstMessage": "Hello! How can I help you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a friendly phone support assistant. Keep responses concise and under 30 words.",
}
],
},
"voice": {"provider": "vapi", "voiceId": "Elliot"},
"transcriber": {"provider": "deepgram", "model": "nova-3", "language": "en"},
},
)
assistant = response.json()
print(f"Assistant created: {assistant['id']}")
The language model powering the assistant's intelligence.
| Provider | Models | Notes |
|---|---|---|
openai | gpt-4o, gpt-4o-mini, gpt-4-turbo | Most popular, best tool calling |
anthropic | claude-3-5-sonnet-20241022, claude-3-5-haiku-20241022 | Strong reasoning |
google |
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"temperature": 0.7,
"maxTokens": 1000,
"messages": [
{
"role": "system",
"content": "Your system prompt here. Define the assistant's personality, rules, and behavior."
}
]
}
}
The text-to-speech voice for the assistant.
| Provider | Popular Voices | Notes |
|---|---|---|
vapi | Elliot, Lily, Rohan, Paola, Kian | Vapi's optimized voices, lowest latency |
11labs | Use voice IDs from ElevenLabs | High quality, many voices |
playht |
{
"voice": {
"provider": "vapi",
"voiceId": "Elliot"
}
}
The speech-to-text engine for understanding callers.
| Provider | Models | Notes |
|---|---|---|
deepgram | nova-3, nova-2 | Fastest, most accurate |
google | latest_long, latest_short | Google Cloud STT |
gladia | fast, |
{
"transcriber": {
"provider": "deepgram",
"model": "nova-3",
"language": "en",
"keywords": ["Vapi:2", "AI:1"]
}
}
The keywords field boosts recognition of specific words (word:boost format, boost 1-10).
{
"firstMessage": "Hello! Thanks for calling Acme Corp. How can I help you today?",
"firstMessageMode": "assistant-speaks-first"
}
firstMessageMode options:
"assistant-speaks-first" — Assistant greets immediately (default)"assistant-waits-for-user" — Assistant waits for caller to speak first"assistant-speaks-first-with-model-generated-message" — LLM generates the greeting{
"backgroundSound": "office"
}
Options: "off", "office", "static"
Enable natural conversational acknowledgments ("uh-huh", "I see"):
{
"backgroundDenoisingEnabled": true,
"backchannelingEnabled": true
}
{
"hipaaEnabled": true
}
When enabled, Vapi won't store call recordings or transcripts.
Attach tools so the assistant can take actions during calls.
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"toolIds": ["tool-id-1", "tool-id-2"],
"messages": [{"role": "system", "content": "..."}]
}
}
{
"model": {
"provider": "openai",
"model": "gpt-4.1",
"tools": [
{
"type": "function",
"function": {
"name": "check_availability",
"description": "Check appointment availability for a given date",
"parameters": {
"type": "object",
"properties": {
"date": {
"type": "string",
"description": "Date in YYYY-MM-DD format"
}
},
"required": ["date"]
}
},
"server": {
"url": "https://your-server.com/api/tools"
}
}
],
"messages": [{"role": "system", "content": "..."}]
}
}
Automate actions when specific call events occur. See hooks reference for details.
{
"hooks": [
{
"on": "customer.speech.timeout",
"options": {
"timeoutSeconds": 10,
"triggerMaxCount": 3
},
"do": [
{
"type": "say",
"exact": "Are you still there?"
}
]
},
{
"on": "call.ending",
"filters": [
{
"type": "oneOf",
"key": "call.endedReason",
"oneOf": ["pipeline-error"]
}
],
"do": [
{
"type": "tool",
"tool": {
"type": "transferCall",
"destinations": [
{
"type": "number",
"number": "+1234567890"
}
]
}
}
]
}
]
}
curl https://api.vapi.ai/assistant \
-H "Authorization: Bearer $VAPI_API_KEY"
curl https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
curl -X PATCH https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"firstMessage": "Updated greeting!"
}'
curl -X DELETE https://api.vapi.ai/assistant/{id} \
-H "Authorization: Bearer $VAPI_API_KEY"
{
"name": "Customer Support",
"firstMessage": "Thank you for calling! How can I assist you today?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a helpful customer support agent for Acme Corp. Be empathetic, concise, and solution-oriented. If you cannot resolve an issue, offer to transfer to a human agent. Keep responses under 30 words."
}
]
},
"voice": { "provider": "vapi", "voiceId": "Lily" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "en" },
"backchannelingEnabled": true
}
{
"name": "Appointment Scheduler",
"firstMessage": "Hi there! I can help you schedule an appointment. What date works best for you?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are an appointment scheduling assistant. Collect the customer's preferred date, time, and service type. Confirm details before booking. Be friendly and efficient."
}
],
"tools": [
{
"type": "function",
"function": {
"name": "book_appointment",
"description": "Book an appointment for the given date, time, and service",
"parameters": {
"type": "object",
"properties": {
"date": { "type": "string", "description": "YYYY-MM-DD" },
"time": { "type": "string", "description": "HH:MM in 24h format" },
"service": { "type": "string", "description": "Type of service" },
"name": { "type": "string", "description": "Customer name" }
},
"required": ["date", "time", "service", "name"]
}
},
"server": { "url": "https://your-server.com/api/book" }
}
]
},
"voice": { "provider": "vapi", "voiceId": "Paola" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "en" }
}
{
"name": "Multilingual Support",
"firstMessage": "Hello! How can I help you? / Hola! Como puedo ayudarte?",
"model": {
"provider": "openai",
"model": "gpt-4.1",
"messages": [
{
"role": "system",
"content": "You are a multilingual support assistant. Detect the caller's language and respond in the same language. You support English and Spanish."
}
]
},
"voice": { "provider": "vapi", "voiceId": "Paola" },
"transcriber": { "provider": "deepgram", "model": "nova-3", "language": "multi" }
}
This skills repository includes a Vapi documentation MCP server (vapi-docs) that gives your AI agent access to the full Vapi knowledge base. Use the searchDocs tool to look up anything beyond what this skill covers — advanced configuration, troubleshooting, SDK details, and more.
Auto-configured: If you cloned or installed these skills, the MCP server is already configured via .mcp.json (Claude Code), .cursor/mcp.json (Cursor), or .vscode/mcp.json (VS Code Copilot).
Manual setup: If your agent doesn't auto-detect the config, run:
claude mcp add vapi-docs -- npx -y mcp-remote https://docs.vapi.ai/_mcp/server
See the README for full setup instructions across all supported agents.
Weekly Installs
305
Repository
GitHub Stars
22
First Seen
Feb 19, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
cursor272
kimi-cli269
gemini-cli269
github-copilot269
amp269
codex269
AI Elements:基于shadcn/ui的AI原生应用组件库,快速构建对话界面
54,900 周安装
gemini-1.5-pro, gemini-1.5-flash |
| Multimodal capable |
groq | llama-3.1-70b-versatile, llama-3.1-8b-instant | Ultra-fast inference |
deepinfra | meta-llama/Meta-Llama-3.1-70B-Instruct | Open-source models |
openrouter | Various | Access 100+ models |
perplexity | llama-3.1-sonar-large-128k-online | Web-connected |
together-ai | Various open-source | Cost-effective |
| Use voice IDs from PlayHT |
| Expressive voices |
cartesia | Use voice IDs from Cartesia | Fast, high quality |
openai | alloy, echo, fable, onyx, nova, shimmer | OpenAI TTS voices |
azure | Azure voice names | Enterprise-grade |
deepgram | aura-asteria-en, aura-luna-en | Low latency |
rime-ai | Use voice IDs from Rime | Specialized voices |
accurate| European provider |
assembly-ai | best, nano | High accuracy |
speechmatics | Various | Enterprise STT |
talkscriber | Default | Specialized |