cal.diy 应用商店集成 Clara:让网站 AI 转化助手直接预订 Cal.com 会议时段
Clara 是 cal.diy(Cal.com 开源调度平台)应用商店中一款以“自动化/外链型”形态上架的第三方应用:它以一段代码嵌入你的网站,用真人语音在访客自己的语言下回答关于你站点的提问,并直接在对话中读取你的 Event Type 实时可用性、完成 Cal.com 预订。本文以仓库内 Clara 的 DESCRIPTION.md 为线索,结合 config.json、静态素材目录 与 app-store 的自动生成清单,讲清 Clara 能做什么、如何接入,以及这类外链应用在 cal.diy 应用商店中的落地方式。读完你既能理解 Clara 的会话预订链路,也能掌握为 cal.diy 应用商店贡献一个“链接型应用”所需的最小文件结构与规范。
Clara 是什么:不止会打字,还会开口说话的转化代理
按官方描述,Clara 是"the website conversion agent"——它的目标是把你网站的访客直接转化为已确认的 Cal.com 会议预订,而且它不只打字,还会开口说话:
- 真人语音回复:Clara 会以访客自己的语言大声回答,内置十种语言的母语级发音——美式英语、英式英语、德语、西班牙语、法语、意大利语、葡萄牙语、印地语、日语与中文;
- 在对话里预订真实时段:Clara 从你的 Event Type 拉取实时可用性,并在聊天界面内直接完成预订,访客不需要跳转到独立页面,也无需人工"日历拼图";
- 无需训练:Clara 自动读取你的网站内容即可开箱作答;
- 绝不订坏时段:每次预订前都会再次与 Cal.com 校验可用性,并且只使用访客实际输入的联络方式;
- 先筛选再预订:Clara 先处理疑问与异议,落到你日历上的会议是"准备出席"的意向客户。
从仓库目录结构可以看到,该应用目录只包含 DESCRIPTION.md、config.json 与 static 素材目录(内含 6 张 1200×900 的说明截图与 1 张 1024×1024 的 icon.png),没有任何 api/、lib/、types/ 目录——这说明 Clara 并不在 cal.diy 服务端驻留业务代码,而是一个在应用商店中展示、引导用户跳转到第三方站点完成接线的“外链应用”。
核心能力速览
| 能力 | 说明 | 文档/仓库依据 |
|---|---|---|
| 多语言语音对话 | 十种语言原生语音(含美/英英语、德语、西班牙语、法语、意大利语、葡萄牙语、印地语、日语、中文) | DESCRIPTION.md |
| 聊天内预订 | 拉取 Event Type 实时可用性并就地完成 Cal.com 预订 | DESCRIPTION.md |
| 站点自学习问答 | 自动读取网站内容,无需构建/训练 bot | DESCRIPTION.md |
| 预订前二次校验 | 每次订前都对 Cal.com 重新核实时段,避免"坏时段" | DESCRIPTION.md |
| 商机筛选 | 先解答疑问、处理异议,再引导预订,提升到场率 | DESCRIPTION.md |
| 十语言语音 & 会话内可用时段展示 | 截图佐证对话式预订界面 | static/1.png、static/2.png、static/3.png |
三步接入:从一段代码到自动成交
DESCRIPTION.md 给出了从零开始的标准接线流程,全部发生在你的网站与应用商店之外(Clara 的引导页):
- 在你的网站加入 Clara——官方宣称只需一行代码即可完成嵌入;
- 粘贴 Cal.com API Key 并选择会议类型——告诉 Clara 该预订哪一个 Event Type;
- Clara 开始工作——将访客转化为已确认的 Cal.com 预订。
也就是说,Clara 依赖 Cal.com API Key + 指定 Event Type 两个输入,本质上是把 cal.diy 的调度能力作为"预订后端"供给第三方前端使用。引导入口指向外部站点(见下节 config.json 中的 url 与 externalLink),这也是 cal.diy 应用商店对“非自研、需跳转第三方页面授权”应用的统一处理形态。
仓库证据一:config.json 如何定义这个外链应用
clara/config.json 是应用商店识别该应用的核心元数据文件,其注释明确要求 不要改动 slug(如确需修改,应通过 CLI 编辑命令处理)。逐字段解读:
{
"name": "Clara",
"slug": "clara",
"type": "clara_automation",
"logo": "icon.png",
"url": "https://claraconverts.com/guide/cal-com",
"variant": "automation",
"categories": ["automation"],
"publisher": "ClaraConverts",
"email": "support@claraconverts.com",
"description": "Add Cal.com to Clara — the AI website agent that talks to your visitors in 10 languages and books meetings right in the chat.",
"isTemplate": false,
"__createdUsingCli": true,
"__template": "link-as-an-app",
"externalLink": {
"url": "https://claraconverts.com/guide/cal-com",
"newTab": true
}
}
值得注意的字段含义:
type: "clara_automation"/variant: "automation"/categories: ["automation"]:三者一致声明它属于"自动化"品类,而非日历、视频会议等需要凭证(Credential)才能使用的集成类型;externalLink.url+newTab: true:这是判断"外链应用"的决定性标志——应用商店点击安装/使用将直接在新标签页打开https://claraconverts.com/guide/cal-com,cal.diy 侧不持有、不存储该应用的 OAuth 凭证;logo: "icon.png":指向 static/icon.png,且不写路径前缀;这与 app-store 贡献规范一致;description字段限长:仓库在 packages/app-store/CONTRIBUTING.md 中规定该字段"不应超过 10 个词(否则会在应用商店里被截断)"——Clara 恰好遵守了这一约定;__createdUsingCli/__template: "link-as-an-app":说明该应用由 cal.diy 官方app-storeCLI 的"链接型应用"模板生成,进一步印证其无后端代码的形态。
从源码结构看,config.json 会被构建产物消费:例如 apps.metadata.generated.ts 在第 18 行 import clara_config_json from "./clara/config.json" 后,将 clara 键映射到该配置对象,供应用商店元数据使用。
仓库证据二:Clara 是"重定向应用"清单的一员
在自动生成的 packages/app-store/redirect-apps.generated.ts 中,REDIRECT_APPS 数组的第 12 项即为 "clara"。该文件头部注明"由 yarn app-store:build --watch 自动生成,请勿手工修改",与 config.json 中 __template: "link-as-an-app"、externalLink 字段形成闭环:
- 凡是被列入
REDIRECT_APPS的应用(还包括linear、zapier、n8n、wordpress、raycast、framer、vimcal、pipedream、retell-ai等同类型产品),应用商店前端都会以"跳转外部完成接入"的方式呈现; - Clara 目录下不存在
api/add.ts之类的凭证写入处理器,也与该清单的存在相互印证:这类应用不会在 cal.diy 内创建Credential记录。
DESCRIPTION.md 的展示素材规范
从 packages/app-store/CONTRIBUTING.md 可看到 DESCRIPTION.md 的编写约束,Clara 的文档正是其范本:
- 图片至少 4 张,可展示"应用运行效果"与"安装步骤"——Clara 在 static/ 中提供了 6 张 1200×900 截图(
1.png到6.png),超出最低要求; - 图片只写文件名、不写路径(写
1.png而非/app-store/clara/1.png),文件实际存放在static/子目录,且渲染与获取会由仓库内的资源解析逻辑处理; - description 应说明"该集成让用户能做什么",例如"把 Clara 加进 Cal.com——这个能用 10 种语言和访客对话、直接在聊天里预订会议的 AI 网站代理"。
此外,Clara 的 DESCRIPTION.md 头部使用了 YAML front matter 的 items: 列表按序声明 6 张图片,正文则以加粗分点 + 无序列表组织,便于应用商店详情页将截图与文案结构化渲染。
常见疑问与注意点
- "一行代码"的具体内容在哪? DESCRIPTION.md 只承诺"add Clara to your website — it's one line of code",具体嵌入脚本需通过官方引导页获取。仓库内并不包含该前端脚本源码,因此请以 cal.diy 应用商店"使用/查看"按钮(
externalLink目标页)给出的安装步骤为准,本文不臆测脚本细节。 - Clara 会替你存 API Key 吗? 不会。Clara 属于
REDIRECT_APPS外链型应用,你是在其第三方引导页自行粘贴 Cal.com API Key 并选择 Event Type,由 Clara 一方保管密钥并代表你调用 Cal.com API。对 API Key 权限范围有顾虑的团队,建议签发最小权限或短期有效的 Key。 - 它与其他"自动化"目录下的 App 有何差异? 同为自动化品类的应用,有的会通过 api/add.ts 处理器 在 cal.diy 内部登记;而 Clara 这类纯外链应用目录下没有处理器,redirect-apps.generated.ts 与
config.json#externalLink是其被正确识别与跳转的依据。
小结
通过这篇应用目录,可以看到 cal.diy 应用商店对第三方 SaaS 的接入提供了两套并行的落地路径:一类是仓库内实现 api/lib/types、可被声明式处理器调用的原生 App;另一类则是如 Clara 这样,仅凭 DESCRIPTION.md + config.json + static/ 素材三件套即可上架的外链重定向应用。Clara 的价值主张很清晰:把网站访客的即时疑问、异议处理与 Cal.com 的实时时段校验、会议预订整合在同一次对话里,从而用语音与自动化把"流量"变成"日历上确定的会"。如果你正在开发同类 AI 接线/转化工具,参考 Clara 的目录结构、externalLink 配置与 REDIRECT_APPS 清单,是接入 cal.diy 生态成本最低的起点。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python08
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00

