Sesión 心理健康平台是 Devtools Skills 合集中由 ara.so 提供的一项技能,面向阿根廷的心理学诊所与独立执业者,定位为一体化 SaaS 平台。根据资料,它把预约排程、WhatsApp 消息自动化、AFIP 电子发票、加密视频咨询和 AI 临床辅助整合在同一个系统中。
用途与定位 平台主要服务于心理学诊所与独立从业者的日常运营:管理患者预约、自动发送提醒与收集确认、开具符合阿根廷税务要求的电子发票、提供线上视频咨询,并借助 Claude 模型提供临床辅助。
主要能力 1)预约排程:提供 NestJS 控制器与服务示例,包含基于 practitionerId、时间区间和状态的冲突检测逻辑,冲突时返回 ConflictException;创建成功后可触发 WhatsApp 确认消息,并支持查询某执业者未来的预约。前端为 SvelteKit 5 页面,使用 Svelte 5 的 $state、$props 等响应式写法展示日程卡片。 2)WhatsApp 自动化:基于 @whiskeysockets/baileys,使用 useMultiFileAuthState 管理会话目录,终端打印二维码;处理 connection.update 与 messages.upsert 事件,实现断线重连与消息接收。支持发送预约提醒,并可识别患者回复的「si/sí/confirmo」进行确认、「no/cancelar」发起取消。还内置危机关键词检测(如 suicidio、matarme、no puedo más、crisis、emergencia),命中后向执业者告警。后台 Worker 使用 @nestjs/schedule 的 Cron,每小时查找约 24 小时后且未发送提醒的预约并发送提醒、更新标记。 3)AFIP 电子发票:基于 @afipsdk/afip.js,使用 CUIT、证书和密钥初始化,支持生产/非生产模式。示例展示了获取最后一个凭证号、构造 Factura B(CbteTipo 6,Concepto 2 服务,DocTipo 96 DNI)并调用 createVoucher,随后保存含 CAE、CAE 到期日、发票号、金额等字段的发票记录,并提供生成 PDF 并上传返回 URL 的接口示例。 4)视频咨询:基于 livekit-server-sdk,创建房间(emptyTimeout 10 分钟、maxParticipants 2),用 AccessToken 为执业者与患者生成 token,并按角色控制 canPublishData(执业者)。前端 Svelte 组件使用 livekit-client 的 Room,开启 adaptiveStream 与 dynacast,订阅轨道后挂载到 video/audio 元素,提供结束会话断开连接的方法。 5)Claude AI 集成:packages/ai 模块负责 Claude AI 编排,环境变量中配置 ANTHROPIC_API_KEY、CLAUDE_OPUS_MODEL 与 CLAUDE_SONNET_MODEL,用于临床辅助(资料在 Claude 服务代码处中断,完整实现细节暂未提供)。
技术架构 仓库为 monorepo,apps 下包含 web(SvelteKit 5)、api(NestJS)、worker(后台任务);packages 下包含 db(Prisma schema 与迁移)、ai(Claude 编排)、whatsapp(Baileys 集成)、video(LiveKit 封装)、billing(AFIP 开票)、shared(公共类型与工具)。
安装与使用方式 前置要求:node >= 18.0.0、pnpm >= 8.0.0、postgresql >= 14.0、redis >= 7.0。步骤为:克隆仓库、pnpm install、复制 .env.example 为 .env 并配置环境变量(数据库、Redis、Anthropic、WhatsApp 会话目录与二维码超时、LiveKit、MercadoPago/Stripe、AFIP CUIT 与证书路径及生产开关、JWT_SECRET、APP_URL、API_URL);随后执行 pnpm prisma migrate dev 与 pnpm prisma db seed。开发命令包括前端 pnpm dev、后端 pnpm api:dev、全栈 pnpm dev:full。
适用场景与限制 适用于阿根廷境内需要整合排程、WhatsApp 沟通、AFIP 开票与在线视频的心理学诊所与独立执业者,也适合开发者参考其 NestJS + SvelteKit + Prisma 的模块化实现。限制方面:平台面向阿根廷税务与业务环境,AFIP 与本地化电子发票依赖相应资质与证书;WhatsApp 通过 Baileys 非官方接口接入,需要扫码登录并自行维护会话;视频依赖 LiveKit 自建或云端服务;AI 功能依赖 Anthropic API 密钥。其余如具体收费、价格、服务等级或实际使用效果,资料中暂未提供。