关于 Smitline
Smitline 是可自托管的服务,让 AI Agent 能拨打电话并加入 Zoom、Microsoft Teams 和 Google Meet 会议。它可实时交谈,将文字记录和结果返回发起请求的聊天,并在本地保存密钥与记录。
主要功能
- 01通过 SignalWire 或 Twilio 拨打电话
- 02加入 Zoom、Teams 和 Google Meet
- 03返回结果、文字记录和行动项
- 04查看实时文字记录并接管通话
- 05在本地保存密钥和通话记录
适用场景
- 01致电餐厅预订座位
- 02询问服务商的空档和价格上限
- 03加入会议并向 Agent 返回笔记
MCP 相关
提供 MCP 接口供 Agent 发起电话和加入会议,并将结果返回发起请求的聊天。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
docker run -i --rm ghcr.io/kaelorlabs/smitline:0.3.0本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。
ghcr.io/kaelorlabs/smitline:0.3.0Streamable HTTP工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
让你的 Agent 拨打电话。
为任何 AI Agent 提供电话和会议功能。Smitline 为你的 Agent 提供电话号码,并让它加入 Zoom、Microsoft Teams 和 Google Meet,与人们实时交谈,然后将结果发回发送请求的聊天。
不想自行运行?Kaelor Labs 提供的托管版本 Smitline Cloud,网址为 smitline.com。
功能
像向可靠的助手提问一样向你的 Agent 提出请求:
“给 Luigi's 打电话,订一张 7 点钟的 4 人桌。”
“给水管工打电话,问问他们今天能不能来。费用不要超过 150 美元。”
“加入我下午 3 点的 Zoom 会议并帮我做笔记。”
Smitline 会拨打电话,用自然的语音与接听者交谈,并将结果发回你的聊天:通话内容、你需要的详情(时间、价格、确认号码)、决策、待办事项、完整转录记录,以及通话费用。
- 可以拨打任何电话。 餐厅、办公室、水管工、朋友;通过你的 SignalWire 或 Twilio 账户使用你自己的号码。
- 可以加入会议。 加入 Zoom、Microsoft Teams 和 Google Meet,作为参会者倾听,并在被提问时作答。
- 适配你的 Agent。 Claude Code、Codex、Cursor、Claude Desktop、OpenClaw、Hermes,以及任何能使用 MCP、命令行或 REST API 的工具。
- 在你的电脑上运行。 一个 Docker 容器,使用你自己的 OpenAI 和电话服务密钥,采用 Apache-2.0 许可证开源。
工作原理
- 向你的 Agent 提出请求。 它会写一份简短说明:目标、需要了解的内容、可以同意的事项,以及需要保密的内容。
- Smitline 发起通话。 它会以你的名字开场并说明来电原因,在通话过程中表明自己是你的 AI 助手,并使用 OpenAI's GPT-Live 实时交谈,始终遵循说明内容。
- 你可以实时跟进。 电脑上的仪表板会显示实时转录内容,你可以随时用自己的手机接管通话。
- 结果会返回到发起请求的聊天中:通话结果、详细信息、待办事项、转录内容和费用。
左:正在进行的通话。车库建议增加一项 160 美元的维修,Smitline 将此事交由你决定,而不是自行批准。右:会议结束后返回的内容。
## 开始使用将以下内容粘贴给你的 Agent(Claude Code、Codex、Cursor、OpenClaw、Hermes 或类似工具):
Set up Smitline for me from https://github.com/kaelorlabs/smitline. Follow SETUP.md in that repository. Ask me only what you need, and never ask me to paste keys into this chat.
你的 Agent 会通过一条 Docker 命令启动 Smitline,在你的电脑上打开一个设置页面供你输入密钥,并拨打你的电话让你听听效果,然后自动完成连接。你的密钥会输入到该页面,而不是聊天中。你的 Agent 可能会要求你自行运行 Docker 命令,因为 Smitline 需要通过 Docker 访问会议;这是正常的。
所需条件
- **Docker:**Mac 或 Windows 上的 Docker Desktop(4.34 或更高版本,且已登录),或者 Linux 上的 Docker Engine。使用 Docker Desktop 时,请先启用主机网络:依次选择 Settings > Resources > Network > Enable host networking,然后点击 Apply and restart。如果不启用,仪表板 http://127.0.0.1:8095 将无法加载。
- **OpenAI:**可使用 GPT-Live 的 API 密钥(已启用计费)。
- **拨打电话:**SignalWire 账户或已充值的 Twilio 账户。SignalWire 免费试用版只能拨打你在 SignalWire 验证过的号码(最多 10 个);绑定银行卡并充值 5 美元后,即可拨打任意号码。
- **参加会议:**无需其他条件。Smitline 会像访客一样通过浏览器加入会议。
- **磁盘空间:**下载约需 600 MB,首次加入会议还需 1.8 GB。
准备好这些后,设置大约需要 10 分钟。
使用 SignalWire 拨打电话的费用约为每分钟 6 美分:电话线路费用约为 0.011 美元(每次通话另加 0.006 美元),GPT-Live 费用为 0.05 美元。我们曾拨打两分钟的测试电话给一位水管工,费用为 14 美分。
然后只需提出请求:“拨打 +1 … 和 …”、“先跟我练习一下这通电话”,或 “加入这个会议:<link>”。仪表板地址为 http://127.0.0.1:8095。
想自行设置?
SETUP.md 列出了所有步骤。启动 Smitline 本身只需一条命令:
docker run -d --name smitline --restart unless-stopped --network host -v smitline:/data -v /var/run/docker.sock:/var/run/docker.sock ghcr.io/kaelorlabs/smitline
Docker 套接字(-v /var/run/docker.sock…)可让 Smitline 启动会议容器,同时也会让该容器控制你电脑上的 Docker,这相当于接近管理员级别的访问权限。如果你只想拨打电话,可以省略它:
docker run -d --name smitline --restart unless-stopped --network host -v smitline:/data ghcr.io/kaelorlabs/smitline
在 Windows 的 Git Bash 中,请在命令前加上 MSYS_NO_PATHCONV=1 。然后运行 docker exec smitline smitline setup secrets,打开设置页面。
**在 MCP 目录中查找。**Smitline 已收录在官方 MCP Registry,条目为 io.github.kaelorlabs/smitline;也收录在 Smithery,条目为 kaelorlabs/smitline;以及 Glama。PulseMCP 和 GitHub 的 MCP Registry 等同步 Registry 内容的目录也会收录它。每个条目都指向同一个可自托管容器:你的密钥会留在自己的电脑上。请参阅 MCP 目录。
默认安全
- 始终说明自己是 AI。 每次通话开始时都会说明代表谁联系以及联系原因(“您好,我代表 您的姓名 就……致电”),通话期间会说明自己是您的 AI 助手,并在有人询问时如实作答。Smitline 会检查整段通话,并确保在挂断前已说明。
- 严格遵守要求。 只会同意您允许的事项,绝不透露您标记为私密的内容。其他任何事项都会交由您处理。
- 每次通话都有安全防护。 绝不会拨打紧急号码或高费率号码,只会在对方所在时区上午 8 点至晚上 9 点之间致电;任何人要求停止联系后,就不会再致电,并会限制重复来电。
- 是否允许 Docker 访问由您决定。 会议需要 Smitline 启动自己的会议容器,因此安装时会挂载 Docker 套接字。电话通话不需要 Docker。
- 密钥和记录都由您掌控。 您在自己电脑上的页面中输入密钥,通话记录和转录内容也存储在本地。音频会发送给 OpenAI 和您的电话服务提供商;不会发送给我们,因为 Smitline 没有服务器。
局限性
- 电话通话通过 SignalWire 日常使用。会议已在 Zoom 中进行实时测试;Teams 和 Google Meet 使用相同的运行时,但实时测试较少。
- 回复会有短暂延迟,因此通话比与真人交谈稍慢。通话音频会经过您的电脑,再发送给 OpenAI。
- 试用版电话账户只能拨打您验证过的号码,而 Twilio 的免费试用版无法进行实时通话。
- 可自托管的 Smitline 需要在您的电脑开机时才能运行。如需始终在线的版本,请参阅 Smitline Cloud。
- 在会议中,您需要在加入前将指导内容写入简要说明;Smitline 不会共享或读取屏幕。
文档
| 指南 | 内容 |
|---|---|
| 通话 | 简要说明、结果、费用和 REST API |
| 电话通话 | SignalWire 和 Twilio、安全防护、录音、设置 |
| 会议 | 加入 Zoom、Teams 和 Meet,以及会议控制台 |
| Agent | MCP、命令行、SDK,以及供云端 Agent 使用的远程连接器 |
| MCP 目录 | Smitline 收录在哪些目录,以及如何在那里发布版本 |
| 安全与隐私 | 哪些内容保留在本地、数据会发送到哪里,以及如何受到保护 |
| 架构 | 各部分如何协同工作 |
| 开发 | 从代码检出版本运行、测试、项目结构 |
| 故障排除 | 常见问题及解决方法 |
| 路线图 | 后续计划 |
贡献
欢迎贡献。请先阅读面向人类和编码 Agent 编写的 AGENTS.md,以及开发指南。如需报告安全问题,请参阅 SECURITY.md。
如果 Smitline 对您有帮助,请在 GitHub 上点个星,帮助更多人发现它。
致谢与许可
由 Lourd Arun Raj 和 Ankit Luthra 在 Kaelor Labs 创建。根据 Apache License 2.0 授权。
会议浏览器基于 Joinly(MIT)构建;请参阅 THIRD_PARTY.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。