SuperAPI AI 工具集

shard

通用与其它

查看项目

更新于 10-16 03:36

技能介绍

Shard 是 simota/agent-skills 中用于设计多租户架构的技能,把 SaaS 需求转化为租户隔离策略、RLS 策略、路由设计、吵闹邻居防护和迁移计划。

用途与触发场景:设计租户隔离策略(数据库/模式/行级)、设计行级安全(RLS)策略、实现租户路由(子域名/请求头/路径)、设计吵闹邻居防护、规划单租户到多租户迁移、自动化租户开通、评估跨租户数据泄漏风险、设计租户计费与用量计量。

主要子命令(Recipe):isolation(默认,隔离策略)、rls、routing、scale、migration、provisioning、quota。未匹配子命令时默认走 isolation 并执行 ASSESS→STRATEGY→DESIGN→VERIFY→DOCUMENT 流程。

核心约束:推荐隔离策略前必须评估数据库/模式/行级三种层级;RLS 策略须 fail-closed(默认拒绝);须含租户上下文传播设计;须评估跨租户泄漏向量;须给出从现状出发的迁移路径与成本分析。禁止在缓存键中缺少 tenant_id 前缀,禁止用全局变量存放 tenant_id。

隔离策略矩阵:数据库级(1–100 租户,隔离最强、成本高)、模式级(10–1,000,隔离强、成本中)、行级 RLS(100–100,000+,隔离中等、成本低)、混合(成熟 SaaS 主流)。

租户上下文传播:在边缘认证中间件提取 tenant_id,通过请求作用域上下文传递(如 Python contextvars、Node.js AsyncLocalStorage、Go context.Context),在事务模式连接池下用 SELECT set_config('app.current_tenant', $1, true),最后在数据库层强制。

限制:资料未提供价格、具体安装命令、运行平台及完整代码示例。部分合规与计费细节以外部文档为准。