@bnbagent/ studio-runtime (英语)
Bnbagent-studio销售代理商背后的 TypeScript 运行时间库:配置,钱包保管,签名政策,审计,ERC-8004身份,ERC-8183商业,x402或MPP支付超过B402,Pieverse信用,可交付存储,并只读链工具.
大多数用户不应该从这个软件包的编程开始. 安装 @bnbagent/studio-cli运行 bag skills install,并使用 /bnbagent-studio 在克劳德代码或克塞尔。 技能设计工作流程; bag init 生成代理;生成的代理导入此运行时间.
运行时间正在积极开发中,可能会引入1.0前的突破变化. 从 BSC 测试网和相容的 Pin Studio 和 SDK 版本开始.
其所坐处
Claude Code / Cursor
│ /bnbagent-studio
▼
@bnbagent/studio-cli (`bag`) design, scaffold, diagnose, deploy, operate
│ generates
▼
your app/agent source business value, prompts, faces, fixed signing
│ imports
▼
@bnbagent/studio-runtime config, custody, policy, commerce, storage, tools
│ uses
▼
@bnbagent/sdk + BNB Chain protocol and on-chain implementation
运行时间是部署的依赖;CLI不是. 如果全球CLI被删除, 被排放的代理会继续运行 。 工作室发布CLI,运行时间一起 所以新生成的代码,运行时间表面保持对齐.
运行时间提供
- 一贯
studio.toml以及用于当地和部署执行的工作空间发现模式. - 3个钱包后端:加密
evm-local,信任钱包代理 Kittwak,和限定会期altana。 。 。 . - 固定签署政策,并花出ERC-8183和x402操作的边界.
- ERC-8004 注册,解析,元数据,以及服务端点对账.
- ERC-8183 引文校验外加购买,提交,取回,并结算工作流程.
- 保护x402和本地的MPP+B402购买者,其主机、接收方、资产、网络、按要求、重试/发送、接收和每日预算检查.
- 协议选择B402销售商,配有替代品x402和MPP适配器,在工作前结算支付请求,明确FREE通过,并进行回放保护.
- Pieverse认证,模型发现,使用,信用,x402上架,以及更新的构件.
- 当地或IPFS可交付存储和仅由附件编辑的审计活动.
- 15个只读工具,可以被包为Vercel AI SDK,MCP或另一个代理框架.
安装
建议:让Studio给你电线
npm install --global @bnbagent/studio-cli
bag skills install
然后请所安装的技能创建或扩展销售者:
/bnbagent-studio Create a BNB Chain seller agent named researchagent and help me
choose its commerce rail, service faces, wallet, LLM, storage, and deployment.
bag init 写入兼容的运行时间和 SDK 依赖性 app/agent/package.json。 。 。 .
直接图书馆安装
npm install @bnbagent/studio-runtime @bnbagent/sdk
要求和软件包格式:
- 22号节点或更新;
- 同伴依赖
@bnbagent/sdk >=0.6.1 <0.7.0(0.6.1是安全层:它携带SDKbug-bounty修复销售门并依赖钱包流动); - 无害环境管理、共同JS和TypeScript关于根和每个有记录的子路径的声明;
- 框架中性核心:此软件包没有导入代理框架或网络服务器.
LLM模型分辨率使用Vercel AI SDK. 链式接入和交易类型 viem 财务报告和审定财务报表 @bnbagent/sdk。 。 。 .
根 API
根导出有意小并符合生成代码所使用的方便 :
import {
findProjectRoot,
getPolicy,
getWallet,
loadStudioToml,
} from "@bnbagent/studio-runtime";
const projectRoot = findProjectRoot();
if (projectRoot === null) {
throw new Error("studio.toml was not found");
}
const config = loadStudioToml();
const policy = getPolicy();
const wallet = getWallet();
console.log({
projectRoot,
project: config.project,
walletAddress: wallet.address,
policy,
});
根也出口 Policy 和遥测 emit 帮手 从子路径导入焦点化的 API , 这样依赖性和安全边界在您的代码中仍然可见 .
公共子路径
| 导入 | 主要责任 |
|---|---|
@bnbagent/studio-runtime | 项目发现加上配置、政策、遥测和钱包便利. |
@bnbagent/studio-runtime/config | 查找工作空间和代理根, 载入 studio.toml,加载本地嵌入值,并读取代理注册. |
@bnbagent/studio-runtime/policy | 构造被冻结的运行时间 Policy 用于生成代码. |
@bnbagent/studio-runtime/secretWrite | 原子创建只拥有者的秘密文件. |
@bnbagent/studio-runtime/networks | BSC 网络和 U-token 注册、 RPC 选择和小数字符串/bigint 转换. |
@bnbagent/studio-runtime/wallet | 构建 evm-local, (中文(简体) ), twak,或 altana 钱包提供者和应用程序签名策略. |
@bnbagent/studio-runtime/llm | 将 Studio LLM 配置解析为 Vercel AI SDK 语言模型. |
@bnbagent/studio-runtime/storage | 选择本地开发存储或持久IPFS存储可交付产品. |
@bnbagent/studio-runtime/audit | 记录、查询、尾端和将操作包装为仅由附件编辑的审计事件. |
@bnbagent/studio-runtime/erc8004 | 注册和确定身份;更新元数据和特定协议的服务终点. |
@bnbagent/studio-runtime/erc8183 | 谈判,核实,购买,检查,提交,取回,结算代管工作. |
@bnbagent/studio-runtime/x402 | 守卫了x402买方,预算分类账,付款签章,卖方保单,B402卖方,以及HTTP信封中件. |
@bnbagent/studio-runtime/mpp | 原生MPP+B402引出/购买客户端,商家信任政策,支付结果错误,以及EIP-3009只发送. |
@bnbagent/studio-runtime/b402 | 协议中性B402销售商,犬类政策,X402/MPP适配器选择,销售-路径解析,MPP再播放-存储注入,和HTTP信封中间软件. |
@bnbagent/studio-runtime/pieverse | SIWE/API-键生命周期,模式目录,用法,信用分配,上调,以及自动更新支持. |
@bnbagent/studio-runtime/tools | 15个纯粹只读的钱包,链条,身份,商业,交易,块,合同视图,和网络工具. |
生成的 .d.ts 与软件包一起运出的文件是每个入口的确切符号和参数引用.
共同一体化
仅读链式工具
工具模块不暴露签名. 您可以为 LLM 框架直接调用它或包接所选的函数 :
import {
balanceNative,
balanceU,
networkInfo,
walletAddress,
} from "@bnbagent/studio-runtime/tools";
const address = await walletAddress();
const [native, u, network] = await Promise.all([
balanceNative(address, "bsc-testnet"),
balanceU(address, "bsc-testnet"),
networkInfo("bsc-testnet"),
]);
console.log({ native, u, network });
完整的只读集是 walletInfo, (中文(简体) ), walletList, (中文(简体) ), walletAddress, (中文(简体) ), balanceNative, (中文(简体) ), balanceU, (中文(简体) ), pieverseUsage, (中文(简体) ), agentInfo, (中文(简体) ), agentByAddress, (中文(简体) ), jobStatus, (中文(简体) ), jobList, (中文(简体) ), jobCount, (中文(简体) ), txStatus, (中文(简体) ), blockInfo, (中文(简体) ), contractCallView,以及 networkInfo。 。 。 .
守卫x402购买
买方首先探测了受保护的URL,根据保单验证了退回的付款要求,在限定的付款上签了名,并重新审查了付款请求。 在使用前配置或信任商家; 允许的主机不允许向任意的收件人支付.
平行的磁共振购买者住在 @bnbagent/studio-runtime/mpp它只接受本地 b402.charge 并允许一个EIP-3009付费发送。 丢失的成功接收或丢失的发送后回复报告为 unknown; 呼叫者不得自动重试。 P0 需要一个 evm-local- 兼容 sign.typed_data 钱包.
import { loadStudioToml } from "@bnbagent/studio-runtime/config";
import { getWallet } from "@bnbagent/studio-runtime/wallet";
import {
fetchWithPayment,
X402BuyerPolicy,
} from "@bnbagent/studio-runtime/x402";
const policy = X402BuyerPolicy.fromToml(loadStudioToml());
const result = await fetchWithPayment("https://merchant.example/resource", {
wallet: getWallet(),
maxUsd: Math.min(0.25, policy.maxPerRequestUsd),
allowedHosts: [...policy.effectiveAllowedHosts],
});
console.log({
status: result.statusCode,
paidUsd: result.paidUsd,
body: result.json,
});
使用 bag x402 trust 将一个商地钉在它预期的付款地址和每个呼叫的上限上。 运行时字节比对被挑战者,限制网络和资产,应用更紧的调用者和政策上限,并与其他付费电话共享所配置的日分类账.
ERC-8183 工作流程
ERC-8183子路径将关键阶段分开,而不是暴露出一般交易原始:
negotiateWithSeller获得卖方签名的报价;verifySignedJob检查链上供资工作是否仍然符合已签署的条件和预期的卖方;buyWorkflow履行买方方的创建、登记、预算和资金序列;submitWorkflow提交卖方可交付的参考材料;fetchWorkflow检索提交的交付品;settleWorkflow执行授权的批准、拒绝或争议决定;getJobSummary读取当前链上状态.
生成的销售者代码在 src/signing.ts。LLM只执行下列工作: src/sellerCore.ts;它不选择价格,不参见原始的签名方法,也不决定某项工作是否获得资助.
ERC-8004 身份标识
身份的子路径提供 register, (中文(简体) ), show, (中文(简体) ), resolve, (中文(简体) ), resolveService, (中文(简体) ), setMetadata, (中文(简体) ), updateEndpoint,以及 updateServiceEndpoint。协议意识帮助器将 A2A 代理卡和 MCP 可流端规范化,因此更新一个服务不会抹去另一个服务.
在生成的项目中,偏好 bag deploy verify --provider <bnb|aws> 部署后。 它检查提供者状态,并将活端点与ERC-8004调和. 将 Studio 整合到另一个应用程序并自己拥有生命周期时,直接运行时间功能是合适的.
运行时间公约
项目发现
生成的工作空间保留 studio.toml 内 app/agent/ 和敏感的地方状态 .studio/发现从当前进程向上走并了解两个地点。 不移动钱包目录 app/agent/;该目录是可部署代码根.
配置和数额
- 配置和 CLI 边界使用十进制字符串,所以符号数量不会失去精确度 .
- 付款代码转换为
bigint内部. - ERC-8183使用的U有18个小数;一个B402/x402测试符可能使用不同的小数,不可互换.
"0"是一个刻意的FREE价格,而不是一个缺失的价值. ERC-8183在零时跳过代管符;x402在零时完全跳过B402.- RPC的覆接是每个网络. 签名域,被允许的主机,收件人,资产,合同地址,以及预算都是安全配置,而不是化妆品设置.
钱包材料
evm-local读取来自工作空间根的加密密钥.studio/wallets/打开它与WALLET_PASSWORD。 。 。 .twak使用项目专用的"信托"钱包特工克特住宅及其保管人.altana将管理员密钥保存在本地状态, 只给运行时间ALTANA_SESSION。 。 。 .
本地机密不是部署文物的一部分。 CLI收集最小运行时间的材料,并通过所选部署秘密通道发送. 不要手动捆绑 .studio/,回声密钥值,或将密码放入命令行.
储存和审计
当地可交付的储存是用于发展的,而且故意未能做好部署准备,因为它将无法在远程运行期间存活。 IPFS存储是可持久且公开的;配置 Pinning 服务上传端点,并在真正交付前写入密钥. 审计助手编辑敏感字段和附件操作记录,但审计日志并不能取代链上状态的验证.
安全边界
- 一个签名人: 生成的代理是其销售者运行时间的唯一钱包持有人.
- 没有 LLM 签名 : 绝不将钱包签名、任意交易、引号签名或和解包成LLM工具.
- 决定性货币路径 : 价格夹,引文签名,资金状态核实,和x402结算属于固定代码.
- 工作前验证 : 正价 ERC-8183 工作只有在获得资助的工作与所签条件相符之后才开始;正价x402 工作只有在结算后才开始.
- 未关闭 : 接受方,主机,资产,网络,金额,合同,非ce,到期,再试,以及日常预算检查都是授权范围.
- 买方人工结算: a 提交的ERC-8183工作仍然需要经授权的批准、拒绝或争议行动.
- 没有通用交易工具包 : 使用被绑定的工作流程 API,并保持 LLM-face 工具表面只读.
运行时间对 CLI
| 需求 | 使用 |
|---|---|
| 创建、扩展、运行、诊断或部署卖方 | /bnbagent-studio 技术安装 @bnbagent/studio-cli |
| 自动启用已记录的生命周期步骤 | bag 国 际 |
| 执行生成代理的运行时间行为 | @bnbagent/studio-runtime |
| 构建自定义主机或框架集成 | 运行时子路径 API + @bnbagent/sdk |
| 检查精确的命令旗 | bag --help 或者说 bag <command> --help |
| 检查精确的文字符号 | 软件包已运出声明文件 |
免责声明
此运行时间处理钱包访问,签署政策,块链交易,付费请求和可交付存储. 其检查降低了具体风险,但并不使代理、整合、交易对手、智能合同、模型输出、存储供应商、RPC服务、付款促进者或部署平台具有可信度.
如果直接整合运行时间,则负责维护其固定的签名边界,验证配置和对应方,保护密钥和证书,审查交易和结算权限,限制支出,保障基础设施,并支付由此产生的任何网络或云费用. 在使用真实资金之前,先在BSC测试网测试定制代码和合同部署.
此软件包根据 Apache- 2. 0 许可并提供 一样,没有保证或保证。 撰稿人和撰稿人不对资金损失、证书受损、服务中断、意外收费或因使用造成其他损害负责。 本一揽子计划没有金融、投资、法律或税务建议.