Licence fields
许可证按六个维度写明授权内容。
一份许可证是一个签过名的文件。
实例启动和运行时按它决定能做什么。
- 模块。业务接口、后台任务、模型节点、Agent 运行时;要启动的模块未授权,实例不启动。
- 功能。分析、协同编辑、单点登录等功能逐项授权。
- 应用。列出可运行的应用;写「*」表示全部。
- 套件。列出可用的套件;不在清单里的套件,整套安装被拒绝。
- 席位。每个组织的默认席位上限。
- 期限。签发与到期时间,也可以不过期;到期后的只读宽限天数。
{
"sku": "private",
"customer": "local-test",
"seats": 50,
"modules": ["app-api", "k3-control", "worker", "llm-node"],
"features": [],
"brandFields": ["productName", "logo", "tokens", "terms", "links", "email", "domains"]
}
签发前的文件;签发时补 issuedAt,写入 signature
Offline verification
许可证在客户的机器上离线验签。
许可证用 Ed25519 签名,实例用厂商的公钥验证。
私钥只在签发方。平台不做实时用量回传。
- 改动即失效。任何字段被改、签名缺失、换了别人的密钥,验签都不通过。
- 坏文件不顶掉好许可证。换上一个无法信任的文件,正在运行的实例继续用原来的许可证,运营台报告问题。
- 到期只读宽限。到期后进入只读宽限期,默认 30 天;宽限过后托管应用停止,数据仍可读取和导出,不删除任何数据。
- 续期不用重启。新文件放回原处即可生效;席位、应用、套件、到期状态即时更新,只有模块与功能要重启。
kwork license keygen ./keys # 一次:生成 vendor.key(私钥种子,妥善保管)与 vendor.pub(公钥)
kwork license sign ./keys/vendor.key in.json out.json # 签发:补 issuedAt,写入 signature
kwork license verify ./keys/vendor.pub out.json # 检查
kwork license check # 在实例的环境里:serve 会不会信任这个文件、授权的模块够不够(install.sh 启动前先跑)
Your brand
交付给客户的产品可以用自己的品牌。
私有化实例的品牌由实例的品牌文件决定。
组织能改哪些品牌字段,由许可证里的白标授权决定。
- 名称、标志与颜色。产品名称、标志、页面封面,浅色与深色各一套颜色;文字对比度达不到 WCAG AA 时不能保存。
- 术语与登录页。助手和草稿的称呼可以改,覆盖工作台、登录页与系统邮件。
- 域名。组织专属的平台子域名,或经 DNS 验证的自定义域名;自定义域名同样由许可证授权。
- 没有授权时。管理员仍能打开品牌页,但保存会被拒绝,页面写明「当前许可不包含白标」。
- 名称与标志
- 颜色与封面
- 登录页
- 术语与链接
名称
产品叫 云康,显示在侧栏、标签页和登录页。
保存后整个工作台刷新
放弃修改保存品牌
Marketplace
应用也可以经应用市场上架、计费与结算。
上架到市场的应用经过审核,组织只与平台结算,平台再按规则向开发者分账。
提交版本版本不可变;先过契约、扫描、体积、依赖等自动检查。
人工审核看权限是否最小、出网是否必要、描述是否合规;驳回写明原因。
组织订阅月付或年付,试用同一组织一次;按期开票,复式、只追加的账本记账。
按期结算比例、阶梯、保底三种分账规则之一;最终结算单不可修改。
结算单只含金额与订阅数,开发者看不到组织的业务数据。支付宝与微信支付只对网关模拟器验证过。