voice-skill

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Voice Skill - Talk to Claude About Your Code

Voice Skill - 与Claude讨论你的代码

Enable voice conversations with Claude Opus 4.5 about your projects. Have Claude call you or call Claude directly to discuss problems, brainstorm ideas, and get real-time code reviews.
启用与Claude Opus 4.5就你的项目进行语音对话的功能。你可以让Claude致电给你,也可以直接致电Claude,讨论问题、头脑风暴想法以及获取实时代码评审。

When to Use This Skill

何时使用此Skill

  • Discussing complex code problems hands-free
  • Brainstorming architecture decisions
  • Getting verbal code reviews
  • Explaining code while walking/commuting
  • Pair programming via voice
  • Quick questions without typing
  • 无需动手即可讨论复杂代码问题
  • 头脑风暴架构决策
  • 获取口头代码评审
  • 走路/通勤时讲解代码
  • 通过语音进行结对编程
  • 无需打字快速提问

How It Works

工作原理

  1. Claude Calls You: Initiate outbound calls from Claude
  2. You Call Claude: Call your Vapi number to reach Claude
  3. Live Context: Claude has access to your project during calls
  4. Transcripts: All calls automatically saved as markdown
  1. Claude致电你:从Claude发起外呼电话
  2. 你致电Claude:拨打你的Vapi号码联系Claude
  3. 实时上下文:通话过程中Claude可访问你的项目
  4. 通话记录:所有通话自动保存为Markdown格式

Setup

设置步骤

Prerequisites

前置条件

  • Vapi account with API key
  • Phone number (~$2/month)
  • Node.js (for localtunnel)
  • Python 3.8+
  • 拥有API密钥的Vapi账户
  • 电话号码(约2美元/月)
  • Node.js(用于localtunnel)
  • Python 3.8及以上版本

1. Install

1. 安装

bash
pip install claude-code-voice-skill
bash
pip install claude-code-voice-skill

2. Setup Credentials

2. 设置凭据

bash
voice-skill setup
Prompts for:
  • Vapi API key
  • Your phone number
  • Your name (for personalized greetings)
bash
voice-skill setup
提示输入:
  • Vapi API密钥
  • 你的电话号码
  • 你的姓名(用于个性化问候)

3. Register Project

3. 注册项目

bash
cd /path/to/your/project
voice-skill register
Captures project snapshot for context.
bash
cd /path/to/your/project
voice-skill register
捕获项目快照以获取上下文。

4. Start Service

4. 启动服务

bash
voice-skill start
Launches server and tunnel.
bash
voice-skill start
启动服务器和隧道。

Commands

命令说明

Have Claude Call You

让Claude致电你

bash
voice-skill call
Claude calls your registered number and greets you by name.
bash
voice-skill call
Claude会拨打你注册的号码,并以你的姓名问候你。

Check Status

检查状态

bash
voice-skill status
Shows service status and active sessions.
bash
voice-skill status
显示服务状态和活跃会话。

Update Name

更新姓名

bash
voice-skill config name "Your Name"
bash
voice-skill config name "Your Name"

View Transcripts

查看通话记录

bash
ls ~/.voice-skill/transcripts/
bash
ls ~/.voice-skill/transcripts/

What Claude Can Do During Calls

通话中Claude可执行的操作

Read Files

读取文件

"Claude, what's in the main.py file?" → Claude reads and explains the file
"Claude,main.py文件里有什么内容?" → Claude会读取并解释该文件

Search Code

搜索代码

"Can you find where we handle authentication?" → Claude searches and reports findings
"你能找到我们处理身份验证的位置吗?" → Claude会搜索并报告结果

Check Git Status

检查Git状态

"What files have I changed today?" → Claude reports git diff summary
"我今天修改了哪些文件?" → Claude会报告git diff摘要

Review Code

评审代码

"Review the changes I made to the API module" → Claude provides verbal code review
"评审我对API模块所做的修改" → Claude会提供口头代码评审

Brainstorm

头脑风暴

"I need to add caching - what approaches should I consider?" → Claude discusses options with pros/cons
"我需要添加缓存功能,应该考虑哪些方案?" → Claude会讨论不同方案的优缺点

Example Conversation

对话示例

[Phone rings]

Claude: "Hey Alex! I see you're working on the user-service
project. What would you like to discuss?"

You: "I'm having trouble with the authentication middleware.
Can you take a look at auth.py?"

Claude: "Sure, let me read that... I see you're using JWT
tokens. The issue might be on line 45 where you're checking
the expiry. You're comparing timestamps in different formats..."

You: "Oh, that makes sense. What's the fix?"

Claude: "You should convert both to Unix timestamps before
comparing. I'd suggest using datetime.timestamp() on line 45..."
[电话响起]

Claude:"嘿,Alex!我看到你正在处理user-service项目。你想讨论什么内容?"

你:"我在身份验证中间件上遇到了问题,能帮我看看auth.py吗?"

Claude:"没问题,让我看看……我发现你使用了JWT令牌。问题可能出在第45行的过期时间检查上,你在比较不同格式的时间戳……"

你:"哦,原来是这样。怎么修复呢?"

Claude:"你应该在比较前将两者都转换为Unix时间戳。我建议在第45行使用datetime.timestamp()……"

Transcripts

通话记录

Calls are automatically transcribed and saved:
markdown
undefined
通话会自动转录并保存为:
markdown
undefined

Call Transcript - 2025-01-12 10:30 AM

通话记录 - 2025-01-12 10:30 AM

Project: user-service Duration: 8 minutes
项目: user-service 时长: 8分钟

Summary

摘要

Discussed JWT authentication bug in auth.py. Identified timestamp comparison issue on line 45.
讨论了auth.py中的JWT身份验证漏洞。 确定了第45行的时间戳比较问题。

Full Transcript

完整通话记录

Claude: Hey Alex! I see you're working on... You: I'm having trouble with... ...
undefined
Claude: 嘿,Alex!我看到你正在处理…… 你: 我在……遇到了问题 ...
undefined

Configuration

配置说明

Config File Location

配置文件位置

~/.voice-skill/config.yaml
~/.voice-skill/config.yaml

Options

配置选项

yaml
user:
  name: "Your Name"
  phone: "+1234567890"

vapi:
  api_key: "your-key"
  phone_number: "+1987654321"

preferences:
  greeting_style: casual  # casual, professional
  auto_transcript: true
  transcript_dir: ~/.voice-skill/transcripts
yaml
user:
  name: "你的姓名"
  phone: "+1234567890"

vapi:
  api_key: "你的密钥"
  phone_number: "+1987654321"

preferences:
  greeting_style: casual  # casual, professional(随意、专业)
  auto_transcript: true
  transcript_dir: ~/.voice-skill/transcripts

Voice Provider Options

语音提供商选项

The skill supports different voice providers:
  • Default Vapi voices
  • ElevenLabs integration
  • Custom voice configurations
此Skill支持多种语音提供商:
  • 默认Vapi语音
  • ElevenLabs集成
  • 自定义语音配置

Security

安全性

  • API keys stored locally
  • Calls encrypted via Vapi
  • Transcripts stored locally only
  • No data sent to third parties (beyond Vapi)
  • API密钥本地存储
  • 通话通过Vapi加密
  • 通话记录仅本地存储
  • 除Vapi外,无数据发送至第三方

Troubleshooting

故障排除

"Connection failed"

"连接失败"

  • Check internet connection
  • Verify Vapi API key
  • Restart with
    voice-skill start
  • 检查网络连接
  • 验证Vapi API密钥
  • 使用
    voice-skill start
    重启服务

"Project not found"

"未找到项目"

  • Run
    voice-skill register
    in project directory
  • 在项目目录中运行
    voice-skill register

"Call not connecting"

"无法接通电话"

  • Verify phone number format (+country code)
  • Check Vapi account balance
  • 验证电话号码格式(需包含国家代码前缀+)
  • 检查Vapi账户余额

Use Cases

使用场景

  • Code Reviews: Verbal feedback while looking at code
  • Debugging: Talk through problems out loud
  • Architecture: Discuss design decisions
  • Learning: Explain code concepts
  • Accessibility: Hands-free coding assistance
  • 代码评审:查看代码时获取口头反馈
  • 调试:大声讨论问题
  • 架构设计:讨论设计决策
  • 学习:讲解代码概念
  • 无障碍使用:无需动手的编码辅助

Credits

致谢

Created by abracadabra50. Licensed under MIT.
abracadabra50开发。基于MIT许可证开源。