跳转到内容

CLI —— 接入已有项目

@curless/cli 用一条命令把 agentbank 接入已有项目。 create-agentbank 生成一个项目,而 curless init 把集成写进你已经有的仓库。它支持两种角色(由你在 init 时选择):

  • --role receive —— 一个向 agent 出售店面后端:它开启一笔定价结账,钱进你的账户。使用 merchant SDK。
  • --role paywall(默认) —— 对 agent 按次收费。检测你的框架 (MCP server / Next.js / Express / Python)并把付费墙放进去。
Terminal window
# Receive agent payments (a storefront backend)
npx @curless/cli init --role receive --merchant curless_mch_… --api https://mcp.curless.ai
# Or a per-call paywall (framework auto-detected)
npx @curless/cli init --role paywall --product prd_2UU8ZRCR --amount 4900 \
--currency USD --api https://mcp.curless.ai

init 会解析出对应的 recipe(--role receivestorefront recipe;--role paywall → 你被检测到的框架),从 AgentBank API (GET /v1/integrations/recipes/:type)拉取它,把脚手架写进你的仓库,并配置好 .env.local(在 .gitignore 里为它加上保护)。recipe 的环境变量是服务端驱动的 —— CLI 只写这个 recipe 需要的那些键,填好非机密的部分(API base、商户 id、货币),并把每一个机密项都留空由你填写

这些 recipe 使用生产版 SDK:店面 recipe 接好 @curless/agentbank-merchant-sdk;付费墙 recipe 使用 @curless/agentbank-mcp-paywithPaywall(MCP),HTTP 框架则接好它的付款校验(verify)握手。

参数 含义
--role receive | paywall(默认 paywall
--product, -p Curless 商品引用(prd_…
--merchant, -m 你的商户 id(curless_mch_…
--amount 价格,以最小货币单位计(例如 4900
--currency ISO 货币(默认 USD
--api AgentBank API base —— 必填(或设置 $CURLESS_BASE_URL);本地开发:http://localhost:3000
--target, -t 强制指定 recipe 类型 —— storefront | mcp-server | mcp-server-python | nextjs | express
--force 覆盖已存在的脚手架文件
  • 一个脚手架文件 —— receivesrc/agentbank-storefront.tspaywall 用对应框架的付费墙文件 (src/curless-paywall.tsapp/api/unlock/route.ts 等)。
  • 带着该 recipe 环境变量键的 .env.localreceive 角色写入 AGENTBANK_API_URLAGENTBANK_MERCHANT_IDMERCHANT_CURRENCY(已填)以及 AGENTBANK_MERCHANT_TOKEN留空);paywall 角色写入 CURLESS_BASE_URL(已填)和 CURLESS_SECRET_KEY留空)。机密项绝不会替你写入。
  • .gitignore 里加上一条 .env.local

没有 --force 时它绝不覆盖脚手架文件,也绝不会冲掉你已经设好的环境变量值。