Suimo——人工智能代理的授权数据(由海象和Sui提供支持)
Suimo允许AI代理在征得同意、计量和即时结算的情况下,在Sui上以WAL代币获取和使用授权内容。内容blob公开存储在海象上,用Seal加密,并通过策略门控解密在链上解锁。
由海象和隋提供技术支持
- 海象仓库:所有数据资源(文件、数据集)都以blob形式存储在海象上。
- 印章加密:在上传之前,数据在客户端使用Mysten的印章进行加密。
- 策略门控访问:解密密钥仅在链上支付验证后发布给授权方(平台)。
- Sui付款:在Sui测试网上使用WAL代币进行实时结算。
- MCP网关:AI代理发现、购买和使用这些去中心化资源的标准界面。
目录
- 先决条件 - 服务器环境(Server/.env) - 客户端环境(Client/.env) - 在本地运行
______________________________________________________________________
1) Suimo做什么
- 同意代理首先访问提供者资源(站点、数据集、文件)
- WAL代币的基于使用量的定价(固定或每KB)
- 结算:即时将WAL从消费者转移到平台,然后再从平台转移到提供商
- 隐私:客户端加密(盖章)→ 公共blob存储(海象)→ 策略门控解密
2) 它是如何工作的
- 代理通过MCP(OAuth 2.1+PKCE)进行身份验证和发现资源。
- 对于文件/数据集上传,客户端使用Seal进行本地加密,并上传加密的信封;服务器将其存储在海象上。
- 对于提取,Suimo计算WAL成本,从消费者的托管钱包执行转账,向提供商付款,从海象提取密文,通过Seal(策略会话)授权解密,并返回明文块。
- 每次访问都会产生一个Ed25519签名的收据,其中包含指向Sui Explorer的付款链接。
3) 建筑
- 客户端(React+Vite)
- 消费者和提供商仪表板、钱包链接(Sui钱包标准)、资源管理
- 服务器(Fastify+TypeScript+MongoDB)
- 身份验证:电子邮件/密码和Sui钱包登录;OAuth 2.1 for MCP - MCP运行时间: suimo-mcp 用于发现和获取的工具 - 结算方式:托管WAL钱包管理+链上支付 - 存储:海象blob写/读/删除;策略门控访问的密封解密流程 - 收据:Ed25519 JWT签名,隋探险家链接
4) 协议和标准
- MCP(模型上下文协议):用于代理集成的标准化工具
- OAuth 2.1+PKCE:授权代理对Suimo的受保护资源使用MCP工具
- Sui+WAL:供应商以WAL代币支付;Sui Explorer的收据链接
- 海象:用于加密有效载荷的公共内容寻址blob存储
- Seal(Mysten):客户端加密和链上策略门控解密
5) 核心数据模型
资源字段包括:
- 身份和定价:
title,type(site|dataset|file),format,visibility,price_flat,price_per_kb,modes(raw|summary) - 存储和加密:
walrus_blob_id,walrus_blob_object_id,walrus_quilt_id?,cipher_meta(大小,尺寸)size_bytes,seal_policy_id - 来源:
domain(对于网站),verified,tags,sample_preview|summary
6) 安装程序
先决条件
- Node.js 20+
- MongoDB(本地或Atlas)
服务器环境(Server/.env)
最低要求:
PORT=3000MONGODB_URI=mongodb://localhost:27017/suimoKEY_ENCRYPTION_KEY=(加密内部机密)CLIENT_APP_URL=http://localhost:5173
OAuth/收据(Ed25519 JWT):
ED25519_PRIVATE_KEY_PATH=/path/to/private-key.pem(PKCS#8种子用于签名)OAUTH_ISSUER=https://your-domain.com(对于生产环境,设置为您的实际域;默认为https://suimo.local)OAUTH_RESOURCE=https://your-domain.com/mcp(对于生产环境,设置为您的实际域;默认为/mcp)
Sui+支付:
SUI_RPC_URL=https://fullnode.testnet.sui.ioSUI_PLATFORM_PRIVATE_KEY=(平台签名人)- `SUI_PAYTO=
` (保管收款人/付款来源)
WAL_COIN_TYPE=0x8270feb7375eee355e64fdb69c50abb6b5f9393a722883c1cf45f8e26048810a::wal::WALWAL_DECIMALS=9
海象+海豹:
WALRUS_NETWORK=testnet|mainnet- `SEAL_POLICY_PACKAGE=0x
`
会话Cookie(可选):
SESSION_COOKIE_NAME=suimo_session,SESSION_COOKIE_DOMAIN=,SESSION_COOKIE_SECURE=false,SESSION_COOKIE_MAX_AGE=604800
客户端环境(Client/.env)
VITE_API_BASE_URL=http://localhost:3000VITE_SUI_RPC_URL=https://fullnode.testnet.sui.ioVITE_WALRUS_NETWORK=testnet|mainnet- `VITE_SEAL_POLICY_PACKAGE=0x
`
VITE_SEAL_KEY_SERVERS=
在本地运行
服务器:
cd server
npm install
cp .env.example .env
npm run dev # http://localhost:3000客户:
cd client
npm install
cp .env.example .env
npm run dev # http://localhost:5173生产:
cd server && npm run build && npm start7) MCP工具
基地: https://api.suimo.com/mcp (或您当地的基地)
发现资源
- 输入:
{ query: string, mode?: 'raw'|'summary', filters?: { format?: string[], maxCost?: number } } - 输出:
{ results: Array, recommended?: string }
食品成分
- 输入:
{ resourceId: string, mode: 'raw'|'summary', constraints?: { maxCost?: number, maxBytes?: number } } - 行为:退货
{ content, receipt }哪里content是{ chunks: string[] }和receipt链接到隋探索者
8) 收据和验证
- Ed25519服务器端签名的JWT收据(用公钥验证)
- 字段包括计费字节数、价格、总计、支出交易摘要和签名
- UI链接到Sui Explorer进行支付交易
9) 域名验证
- DNS TXT:添加
suimo-verify= - 文件:主机
/.well-known/suimo.txt将令牌作为文件内容
10) 故障排除
- 解密被阻止:确认
VITE_SEAL_KEY_SERVERS,VITE_SEAL_POLICY_PACKAGE和隋RPC - 上传失败:验证服务器上的海象网络和平台签名者
- 付款失败:确保
SUI_PLATFORM_PRIVATE_KEY有效且资金充足;WAL_COIN_TYPE适合您的网络
