消费方接入指南

四个消费方(wesclaw / wescode / wescraft / teleclaw)接入 wesgine 的共同契约、CellSpec 装配要点和典型差异。


消费方总览

消费方形态Cell 粒度Boot 模式Actor
wesclaw desktopElectron + Go1 用户 = 1 Cell ("main")Go 嵌入weisyn uid / "local"
wesclaw saas独立进程平台 active-cellGo 嵌入JWT uid
wescodeVS Code Fork + Go1 workspace = 1 Cell (ws-{hash})Go 嵌入"local"
wescraftElectron + Go个人 "personal" / 团队 "team-{id}"Go 嵌入"local" / SSO uid
teleclawSpring Boot + HTTP1 部门 = 1 Cell (dept-{id})HTTP 二进制JWT userId

共同的 Boot 契约

所有 Go 嵌入消费方遵循相同的三步流程:

// 1. 启动引擎(只挂身份骨架)
eng, err := engine.StartEngine(ctx, engine.Config{DataDir: dataDir})

// 2. 绑定进程 hook(GetOrCreate 之前)
spec.ProviderLiveKeyFn = liveTokens.Key
spec.HostEnvironment = host
spec.OnStarted = onStarted

// 3. 创建或获取 Cell
cell, err := eng.Hypervisor.Cells().GetOrCreate(ctx, spec)

禁止:


ProviderLiveKeyFn 绑定时机

当 CellSpec 中存在 wes: 或 org: 类型的 Provider(SourceLive)时,必须在 GetOrCreate 之前绑定 live-key getter。

src := &providerid.LiveTokenSource{}
spec.ProviderLiveKeyFn = src.Key

// auth 构造完成后绑定 JWT accessor
src.Bind(auth.IdentityAccessToken, auth.ValidAccessToken)

缺少 getter 时引擎 fail-loud(INV-CELL-08)。


CellSpec 装配要点

必填字段

关键可选字段

字段说明典型值
Governance治理策略DefaultGovernance() / RegulatedPreset()
ProviderStrategyProvider 策略own_only / shared_only / own_first
Compliance合规等级standard / financial / pii-strict
DenyPaths禁止访问的路径hypervisor.db、配置文件
Quotas配额并发 Run 数、Token/分钟

不要填的字段


各消费方的特殊之处

wesclaw desktop

wescode

wescraft

teleclaw(HTTP 模式)


相关文档