本页目录

文档

快速开始

入口有四个。托管应用需要一个账户,提供目录、规划器和发布功能;模拟器只需要一个浏览器;自托管节点把完整的注册表、规划器、托管和 MCP server 放在你自己的机器上;智能体可以通过 MCP 使用节点。订单与放款目前只在模拟器和节点里可用,都是测试模式:支付为模拟,没有任何真实资金流动。

选择路径

路径你需要真实的部分耗时
托管应用一个浏览器和一个邮箱账户、搜索、规划器、发布、GitHub 导入、组织和 API 令牌。结账、订单、收入和众筹项目即将推出。5 分钟
模拟器一个浏览器规划与托管规则,在浏览器里对示例条目运行,用的是模拟资金。2 分钟
自己的节点Python 3、git、终端仓库里的全部功能:账本、注册表、规划器、托管(测试模式)、项目、MCP。10 分钟
通过 MCP 接入智能体一个支持 MCP 的智能体,加上令牌(托管应用)或一个节点命令行使用的同一套工具,由智能体调用。托管应用和节点都可以。再加 5 分钟

路径一:托管应用

/app/ 上的应用已经开放使用。它是一个目录、规划器和发布平台,但你还不能在那里购买任何东西:结账、订单、收入和众筹项目即将推出,目前它们的页面只是占位页。所有支付都是测试模式,没有任何真实资金流动。应用界面目前只有英文。

创建账户

  1. 打开 /app/signup。选择一个 2 到 39 个字符的用户名(handle):小写字母、数字和单个连字符。它会成为你的公开地址 /app/HANDLE。以 reuseforge 或 repoblock 开头的用户名被保留。
  2. 填写邮箱和至少 10 个字符的密码,并同意服务条款。如果部署开启了 GitHub 登录,页面还会提供 Sign up with GitHub。它不会按邮箱自动并入已有账户:如果该邮箱已被注册,请用密码登录,再到 Settings,Connections 里关联 GitHub。
  3. 收到邮件后验证你的邮箱。发布免费上架信息不需要验证,发布付费上架信息需要。
  4. 可选:在 Settings,Security 里开启两步验证(验证器应用)。

Explore 会搜索所有公开的上架信息。可以按类型、价格、评分、能力、许可证和标签筛选,并按最佳匹配、热门、星标、下载量、最新、最近更新、评分或价格排序。整个查询都保存在地址栏里,所以可以把一次搜索当作链接分享。

Plan a build 会在这份目录上运行规划器。

  1. 用最多 500 个字符描述目标,并填写以美元计的预算。0 表示只用免费上架信息,留空表示不设上限。
  2. 页面会列出它识别出的需求。可以删除其中一项,或从菜单里添加一项,方案随即更新。
  3. 阅读推荐方案,用名称下方的菜单替换任意一个部件,并在“成本与匹配度”图上比较其他方案。
  4. 把 Agent brief 复制给你的编码智能体。如果方案用到 MCP server,也复制生成的 .mcp.json,并在批准前读一遍每条命令。Copy link to this plan 会把目标、预算和需求编码成 URL 分享出去。

规划器能识别英文单词和一份简体中文词表,其他语言的目标需要先翻译。Checkout 按钮会跳到一个占位页,因为结账功能即将推出。

发布或导入条目

自己填写上架信息,用 Publish;从公开仓库生成上架信息,用 Import from GitHub。字段、限制和 API 调用见发布与出售。你的仪表盘会显示 30 天内的浏览、下载和星标。

创建 API 令牌

打开 Settings,API tokens,选择名称、权限范围和有效期。

范围允许
read读取你的私有条目、合集和账户数据。
write以你的名义发布和编辑条目、版本、评价和讨论。
orders用于订单和购买记录,这部分即将推出。目前还没有订单,所以它暂时不会解锁任何内容。
admin管理员 API,仅向管理员账户提供。

有效期从 7 天到 1 年,也可以不设期限。令牌以 rf_ 开头,只显示一次。你最多可以同时持有 50 个有效令牌。令牌在其范围内行事,但只有浏览器会话才能修改密码、邮箱、会话和令牌。

bash
export REUSEFORGE_TOKEN=rf_...
curl -H "Authorization: Bearer $REUSEFORGE_TOKEN" https://reuseforge.com/api/me
curl "https://reuseforge.com/api/items?q=invoice&kind=skill&per_page=5"          # 搜索不需要令牌
curl -X POST https://reuseforge.com/api/items/import \
  -H "Authorization: Bearer $REUSEFORGE_TOKEN" -H "Content-Type: application/json" \
  -d '{"url":"https://github.com/owner/repo"}'

403 insufficient_scope 表示令牌缺少该调用所需的范围;401 表示令牌已过期或被撤销。错误的格式始终是 {"error": {"code", "message"}},列表返回 {"results", "total", "page", "per_page"},每页最多 50 条。

组织

在 /app/orgs/new 创建组织,每人最多 10 个。可以按用户名或邮箱邀请成员,邀请有效期 14 天。角色:owner 可以做所有事,包括删除组织;admin 管理成员、设置和条目;write 发布和编辑条目;read 可以查看私有条目。组织拥有的条目位于 /app/ORG/SLUG,有 write 权限的成员在 Publish as 菜单里选择该组织。

星标、评价与合集

已登录的用户可以给上架信息加星标、写一条 1 到 5 星的评价(不能评价自己的上架信息)、发起讨论、关注其他账户,并把上架信息整理成合集。对某条上架信息的举报会交给管理员处理。

API 与 SDK

应用使用 /api/ 下的平台接口,上面的令牌示例调用的也是它们。带版本号的 /api/v1/ 定义在 API 参考和 api/openapi.yaml 里,在托管应用上,它提供身份、令牌、条目、版本、方案、webhook 和元信息;订单、放款、收入、众筹项目和账本事件相关的操作在这些功能推出前返回 501 not_implemented。自托管节点提供同一份契约,其中包括测试模式下的订单和众筹项目(见 docs/API.md)。JavaScript SDK(sdk/js,包名 @reuseforge/sdk)和 Python SDK(sdk/python,包名 reuseforge)都由同一份接口契约生成,版本均为 0.1.0,放在仓库里,请从克隆下来的仓库使用。它们会读取 REUSEFORGE_TOKEN,默认地址是 https://reuseforge.com/api/v1。

js
import { ReuseForge } from './sdk/js/src/index.js';
const rf = new ReuseForge();            // 令牌取自 REUSEFORGE_TOKEN
console.log(await rf.getMe());          // GET /api/v1/me

Python 客户端的方法名相同,只是改为蛇形命名,例如把 sdk/python 加入路径后调用 reuseforge.Client().get_me()。

托管应用上还没有的功能

  • 即将推出:结账、订单、托管、收入和收款地址。这些页面目前只是占位页,上面没有任何资金流动。
  • 即将推出:众筹项目。规划结果里发起众筹的链接会跳到占位页。
  • /api/v1/ 中订单、放款、收入、众筹项目和账本事件相关的操作,以及封装它们的 MCP 工具。它们返回 not_implemented。
  • 已安装好的 reuseforge 命令行工具。源码在仓库里(cli/,版本 0.1.0),请从克隆下来的仓库运行。

路径二:试用模拟器

打开模拟器。它在浏览器里运行,使用一批内置的免费开源条目,以及几个标有 DEMO 的付费条目。

  1. 输入一个目标,例如 RAG chatbot over my PDF invoices with a dashboard and crypto checkout,并设置美元预算。
  2. 查看推荐方案和 Pareto 前沿上的其他方案。调低预算,观察方案如何变化。
  3. 检查付费条目清单,然后依次走完托管流程:存入、卖家交付、验收或提出争议。

模拟器是简化版。在这里提出争议会立即退款;在真实节点上,则由仲裁方决定放款还是退款。详见争议与退款。

路径三:运行自己的节点

节点会保存一份签名事件日志,把它折叠成条目注册表(节点里称为模块 block,所以它的命令、路由和 JSON 字段里写的是 block),负责规划目标、运行托管,并提供 JSON API 和一个小型网页界面。除非你另选通道,托管使用模拟通道,默认没有真实资金流动。Python 包仍叫 repoblock,那是项目的旧名字。

bash
git clone https://github.com/Longfordjames/Claude-1.git reuseforge
cd reuseforge
pip install -r requirements.txt     # 唯一的依赖是 cryptography
python -m repoblock seed            # 示例模块;付费的带有 DEMO 标记
python -m repoblock plan "RAG chatbot over my PDF invoices with a dashboard and crypto checkout" --budget 50

最后一条命令会以 JSON 输出识别到的需求和推荐方案。加上 --online,还会到 GitHub、MCP registry、arXiv 和 Hugging Face 搜索网络中尚没有的条目。

内置的关键词规划器能识别英文词和一份简体中文词表。其他语言的目标请先翻译,或加上 --llm 让 Claude 来拆分。

bash
python -m repoblock serve                       # 网页界面和 API:http://127.0.0.1:8420
python -m repoblock sync http://other-node:8420 # 与另一个节点交换事件
python -m unittest discover -s tests            # 运行测试

没有设置令牌时,请只在本机回环地址上运行。节点默认监听 127.0.0.1,所有者端点(发布、订单、项目、同步)只响应本机请求。要监听公网地址,必须传入 --admin-token <secret>;此后所有者端点需要携带 Authorization: Bearer <secret>。读取和事件同步仍然是开放的。

运行中的节点把账本保存在内存里。你用命令行(publish、verify)写入的事件,要等节点重启后才能看到。请对运行中的节点调用 POST /api/blocks,或在使用命令行写入后重启节点。

命令参考

全局选项写在命令之前:--home DIR(数据目录,默认 ~/.repoblock 或 $REPOBLOCK_HOME)和 --rail mock|usdc-base|usdt-ethereum|btc(默认 mock)。

命令作用
seed发布内置的示例条目。
plan "goal" --budget N [--online] [--llm]规划一个目标。--llm 用 Claude 代替关键词分类来拆分目标(需要 pip install anthropic 和相应凭据)。
search "query"搜索条目,输出得分、ID、价格、类型、名称和链接。
publish file.json [--as NAME]签名并从 JSON 文件发布条目。见发布与出售。
serve [--host H] [--port P] [--admin-token T]运行节点,默认端口 8420。
sync URL与对等节点互相拉取和推送账本事件。
brief "goal" --budget N为目标中必须自建的部分输出一份开发说明。
verify BLOCK_ID [--cmd "..."]克隆条目、运行它的测试,并记录一条签名的验证记录。请先读沙箱警告。
connectors [presets|enable NAME]列出条目来源,显示 MCP 预设目录,启用某个发现来源。
mcp-config "goal"输出智能体完成该目标所需的 .mcp.json 片段。
figma URL把 Figma 文件导入为设计条目,需要 FIGMA_TOKEN。
projects、portfolio [--as NAME]列出众筹项目;查看某个身份的持有份额与分红。
whoami输出节点的公开 ID。
mcp以 stdio 方式作为 MCP server 运行。

环境变量

变量作用
REPOBLOCK_HOME数据目录,内含 ledger.jsonl 和 keys/。
REPOBLOCK_FEE_BPS网络费用,单位为基点。默认 100,即 1%。设置的值高于 1000(即 10%)时,节点拒绝启动。
REPOBLOCK_FEE_ADDRESS费用的收款地址。默认是节点自己的 ID。
REPOBLOCK_ESCROW_ADDRESS告知买家向其付款的地址。
REPOBLOCK_RPC_URL用于校验 USDC 和 USDT 存款的 JSON-RPC 端点。
REPOBLOCK_CONNECTORS指向 connectors.json 的路径,用来列出额外的 MCP 条目来源。
GITHUB_TOKEN、HF_TOKEN可选。提高 GitHub 与 Hugging Face 检索的速率限制。
FIGMA_TOKENfigma 导入需要。

你的密钥保存在 $REPOBLOCK_HOME/keys/NAME.pem,未加密,文件权限为 600。请像对待任何签名密钥一样备份它。谁拿到密钥,谁就能以该身份行事。

让智能体使用它

ReuseForge 本身也是一个 MCP server,托管应用和节点都提供,所以智能体可以搜索条目、规划目标。在节点上,智能体还可以在测试模式下执行托管步骤。

托管 server。让支持 Streamable HTTP 的 MCP 客户端连接 https://reuseforge.com/mcp。不带令牌时,只能使用公开的搜索、规划和发现类工具。带上 Authorization: Bearer rf_...(令牌来自 API 令牌)后,还能看到令牌范围允许的工具,例如 create_item 和 publish_version。通过 OAuth 登录的客户端(claude.ai 自定义连接器、Claude Desktop、Cursor)请改用 https://reuseforge.com/mcp/auth。每次工具调用都与 /api/v1/ 走同一条处理流程,因此限额和错误一致。订单和众筹项目类工具虽然列出,但返回 not_implemented:这些功能即将推出。

节点提供两种传输方式。

Stdio。由智能体自己启动 server。把下面的内容加到项目的 .mcp.json,路径换成你克隆的目录:

.mcp.json
{
  "mcpServers": {
    "reuseforge": {
      "command": "python",
      "args": ["-m", "repoblock", "mcp"],
      "env": { "PYTHONPATH": "/path/to/reuseforge" }
    }
  }
}

HTTP。运行中的节点在 POST /mcp 上提供 MCP。读取类工具是开放的;写入类工具需要节点的管理令牌(作为 bearer token),未设置令牌时则要求请求来自本机。

.mcp.json
{
  "mcpServers": {
    "reuseforge": {
      "type": "http",
      "url": "http://127.0.0.1:8420/mcp"
    }
  }
}

下面是节点 MCP server 的工具:

工具权限用途
search_blocks、get_block读取查找条目;按 ID 获取单个条目的链接、许可证、价格和卖家。
plan_goal读取输入目标和可选的 budget_usd,输出 Pareto 方案。
discover_external读取查询 GitHub、MCP registry、arXiv、Hugging Face 以及你配置的 server。
build_brief、mcp_config、list_connectors读取自建部分的开发说明;方案所需的 MCP server;可用的来源。
list_projects、get_project、portfolio读取众筹项目与持有份额。
create_order、pay_order、accept_order写入测试模式下的托管步骤。pay_order 在模拟通道上存入款项。
back_project、vote_milestone写入为项目出资;批准或否决已交付的里程碑。

节点的 server 还提供资源(repoblock://blocks、repoblock://projects、repoblock://block/{id})和一个提示词 assemble_goal。这个提示词会让智能体依次:做规划、获取免费部分、为付费部分创建订单、付款前先问你、自建缺失部分、验收前先问你。请在智能体设置里保留这两次人工确认,因为验收交付就是放款的那一步(测试模式下放的是模拟资金)。

想知道哪些第三方 MCP server(Figma、Stripe、Playwright 等)适合某个目标,可以运行 python -m repoblock mcp-config "your goal"。在 connectors presets 里标注为 check URL 的预设,尚未对照线上 server 确认过。

最近更新: