十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Dograh多组织与多租户架构解析:Organization配置与配额管理

Dograh多组织与多租户架构解析:Organization配置与配额管理 Dograh多组织与多租户架构解析Organization配置与配额管理【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograhDograh 是一个开源的语音 AI 平台也是 Vapi 与 Retell 的自托管替代方案。它的多组织多租户能力建立在Organization 模型之上每个组织独立持有 API 密钥、模型配置、电话线路与用量数据配额则由统一的信用检查服务在每次通话前完成校验。本文带你快速看懂这套 Organization 配置与配额管理架构是如何实现的。为什么多租户架构对语音 AI 平台很重要Dograh 支持在同一个实例上运行多个团队组织每个组织拥有独立的️资源隔离工作流、录音、知识库、集成配置全部按organization_id归属独立密钥API Key 与模型服务商 Key 按组织隔离独立计费配额与信用额度按组织核算互不干扰这种设计让一家公司可以把 Dograh 作为内部平台为每个业务线开通独立租户而无需部署多套系统。三层数据模型用户 → 组织 → 业务资源多租户的核心定义在 api/db/models.py 中一共三个关键模型1️⃣ 用户模型记住当前组织UserModel通过多对多关系关联多个组织并用selected_organization_id记录用户当前所在组织见 api/db/models.py 中的 api/db/models.py。这意味着一个用户可以属于多个团队登录后切换组织只改一个字段权限判断天然围绕当前组织展开。2️⃣ 组织模型租户的根节点OrganizationModelapi/db/models.py是租户的根节点provider_id在登录提供商侧的唯一标识price_per_second_usd组织级每秒通话单价关系聚合成员用户、集成、用量周期、组织配置、API 密钥值得注意的是早期的配额字段quota_type、quota_dograh_tokens、quota_reset_day等已标记为Deprecated注释明确写道Deprecated. MPS owns quota and credit ledger state——配额账本已交给托管模型服务MPS统一管理本地只保留报表聚合数据。3️⃣ API 密钥组织级凭证APIKeyModelapi/db/models.py只存密钥哈希key_hash与展示前缀key_prefix从不落明文删除组织时密钥级联清理ondeleteCASCADE。Organization 配置中心Key-Value 的通用存储Dograh 没有为每种配置建表而是用一个通用的键值配置表OrganizationConfigurationModelapi/db/models.py字段作用organization_idkey唯一约束保证每个组织每个键只有一条配置valueJSON 值可存任意结构模型配置、偏好设置、引导状态等last_validated_at记录最后一次配置校验时间便于前端提示配置需重新验证组织级的 v2 AI 模型配置LLM / STT / TTS / 嵌入就存在这张表里。前端通过/organization/context接口api/services/organization_context.py拿到当前组织上下文与配置来自哪里organization_v2、legacy_user_v1或empty实现从旧的用户级配置平滑迁移到组织级配置。配额管理每次通话前的信用检查配额检查逻辑集中在 api/services/quota_service.py入口函数是authorize_workflow_run_start——在任何可计费的通话/文本运行启动前统一拦截最低消费门槛一次通话至少需要MINIMUM_DOGRAH_CREDITS_FOR_CALL 0.10信用点余额不足直接拒绝并返回友好提示。双部署模式托管版Hosted按组织扣减 MPS 信用额度开源版OSS按服务密钥Service Key逐个校验余额并支持 managed-v2 关联 ID 机制实现精准计费。失败策略讲究数据库等配置错误一律fail closed宁可拒绝也不放过未校验的请求而 MPS 网络不可达时fail open并记录失败日志避免上游故障把整个平台锁死。成员校验发起运行的用户必须是目标组织的成员否则统一返回工作流不存在防止跨租户探测。用量报表侧由OrganizationUsageCycleModelapi/db/models.py按周期聚合组织的通话总时长与花费used_amount_usd并保证每个周期唯一unique_org_period约束支撑前端的用量历史与每日明细接口api/routes/organization_usage.py。租户自助开通带租约的组织引导新组织首次使用时Dograh 会自动完成托管模型服务密钥与 SIP 线路的开通逻辑在 api/services/organization_bootstrap.py数据库租约并发请求中只有一个持有者执行开通租约 5 分钟过期可被其他请求接管防止半成品状态互相踩踏状态驱动以配置是否完整为准而非创建时标记失败后可自动重试补齐永不抛错开通失败只记录告警绝不阻塞用户登录认证迁移历史与延伸阅读从 Alembic 迁移目录api/alembic/versions/可以清晰看到多租户的演进路线建组织表f6f19156bcb7_add_organisation_table.py加组织配置表1225ac786848_add_organization_configurations.py工作流挂组织477b47ce346b_add_organisation_id_in_workflow.py用户加当前组织字段45fa7fec2993_add_selected_organisation_id_field_in_.py配额表落地2159d4ac431a_added_quota_tables.py配套的单元测试 api/tests/test_quota_service.py、api/tests/test_organization_bootstrap.py 覆盖了配额拒绝、租约竞争等边界场景值得参考。小结Dograh 的多租户架构可以概括为四句话Organization 是根所有业务表按organization_id隔离用户通过selected_organization_id切换租户配置走键值表组织级模型配置、偏好、引导状态统一存在organization_configurations扩展零成本配额在通话前校验quota_service以最小信用门槛 双部署模式 严谨的失败策略守住计费底线开通自动化基于数据库租约的组织引导让新租户开箱即用且可重试如果你想为自己的 SaaS 产品构建类似的多组织与配额体系Dograh 的这套组织根节点 键值配置 前置信用校验组合是一个干净、可借鉴的开源范例。【免费下载链接】dograhOpen source voice AI platform. Self-hosted alternative to Vapi and Retell. On Prem, BYOK across Speech to Speech or LLM/STT/TTS, with a visual workflow builder, MCP native and telephony support.项目地址: https://gitcode.com/GitHub_Trending/do/dograh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表