mcpField
O
oapps-fun

oapps-fun

github.com/bounded-sh开发052 次安装2 天前更新
代码仓库

关于 oapps-fun

oapps-fun 是面向 openapps.xyz 应用构建与发布的技能,介绍 Bounded 运行时的限制、能力检查、发布门槛及从 Open 到 Commence 的流程。

主要功能

  1. 01oApp 生命周期指导
  2. 02Bounded 预检与演练步骤
  3. 03能力查询和申请流程
  4. 04无个人凭证的应用设计规则
  5. 05发布准备与检查清单

适用场景

  1. 01为应用准备 Open 和 Commence
  2. 02检查依赖能力是否可用
  3. 03设计不依赖创建者密钥的应用

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/bounded-sh/skill --skill oapps-fun

安装后在 Claude Code 中输入/oapps-fun确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

docs/
capability-ladder.md
checklist.md
launch-gate.md
lifecycle.md
rehearse.md

详细介绍

为 openapps.xyz(oApps)构建

oApp 是一款能够超越其创建者而持续存在的应用:它在 openapps.xyz 上启动(旧地址 oapps.fun 和 oapps.org 会重定向至此),获得代币、构建资金和由社区治理的机制。Bounded 是负责运营它的管理者。

本技能中的所有内容都源自一个设计目标:

**创建者不能抽走应用的资金或将其关闭。**不是“承诺不会”; 而是在结构上做不到。

因此,对于 oApps:

  • **所有内容都必须由 Bounded 所有。**托管、数据、身份验证、支付、 钱包、链上访问、AI:全部由运行时提供,费用从应用自己的信用额度池中扣除,并由其经过验证的策略治理。
  • **不允许任何密钥。**不允许 API 密钥、供应商账户,也不允许任何人私自保管凭据。创建者名下的密钥正是规则要移除的控制手段,因此 oApp 函数不接受 secrets。
  • **Bounded 做不到的事,你也做不到。**没人能扼杀的小应用,胜过带有终止开关的大应用。Bounded 目前尚不能提供的能力,只能申请一次,由平台统一处理,绝不能用个人密钥绕过。

参考路由

只阅读当前步骤对应的页面。

任务或术语阅读
Local -> Bounded -> Open -> Commence、sitePrivate、每个创建者应用只能启动一次、oapp_creator_already_launched、/a/<slug>、Open 会发布的内容、sourcePush生命周期
publish-oapp 拒绝的情况、必需的 boundaries 行、boundaries.egress、service:cap 和 service:x402 授权、gov-frozen、可复现的 dist(static / built)、无前端应用、bounded propose启动门槛
某项所需能力:原生或实时、可通过 x402 调用,或提出申请;就绪状态;禁止使用的依赖项;X402_FETCH;bounded services request能力阶梯
bounded oapp preflight(结合能力阶梯,查看 Open 会拒绝的所有内容)、bounded oapp rehearse、从零数据开始引导演练
Open 和 Commence 前需要确认的所有事项检查清单

策略、函数、钱包、支付等机制见 bounded-backend、 bounded-frontend 和 bounded-onchain。

一屏了解生命周期

  1. **Local。**普通代码仓库;尚未部署任何内容。
  2. Bounded(开发阶段)。bounded init、bounded verify、bounded deploy、 bounded site deploy dist --with-source。应用会获得一个开发地址, 例如 myapp-x7k2.bounded.page;请保持其为私有状态(sitePrivate),不要自行将其改为公开。创建者应用必须保留创建时使用的协议:切勿将其重新创建为 realtime_mainnet,也不要传入 --protocol。主网部分由 Open 处理。
  3. **Open(公开,等待 Commence)。**完成 Open 后,会在 Solana 主网上创建一个由场所所有的根节点和工作负载(由平台设置;链上所有者是由 Bounded 托管的密钥,而非你的钱包),并在 https://<workloadAppId>.bounded.page 发布工作负载站点和源代码,以及在 /a/<slug> 发布场所页面(旧版 /l/ 链接会重定向)。你的创建者应用仍是一个断开连接的沙盒;绝不要在已打开的根节点或工作负载上运行 bounded deploy。Open 要求创建者策略的出口授权 service:cap 和 service:x402;先运行 bounded oapp preflight,查看 Open 会拒绝的所有内容。
  4. **Commence。**一项明确的操作,用于在 openapps.xyz 上认领应用的 slug、写入列表信息、创建代币销售并启动 Gauntlet。一个创建者应用恰好只能启动一次:Commence 后 slug 将永久固定,无法更改;再次开启会被拒绝,并返回 oapp_creator_already_launched(409)。请在 Commence 前选定 slug;如需启动第二个 oApp,请创建另一个应用。

onchain: true 集合目前尚不能 Open (oapp_opening_onchain_policy_unsupported);嵌入式钱包、支付和插件调用均可使用。请如实说明并停止,不要尝试绕过限制。

启动经济模型

密封头部选择 transfer-fee-v1 的启动项目会使用 CCA,并以 USDC 分配 65% 给 Treasury、30% 给初始流动性、2.5% 给创作者、2.5% 给 OpenApps。 最低金额为 5,000 美元,此外还必须在扣除设置成本后保留六个月的基准运营成本,并假设未来没有交易收入。 应用代币固定 1% 的转账费用全部以应用代币形式归 Treasury 所有。 规范 DAMM v2 池设有单独固定的 0.5% USDC 费用,并禁用 OnlyB 和动态费用。 扣除 Meteora 的 20% 协议份额后,指定启动头寸的实际净收入按 50% 给创作者、50% 给 OpenApps 分配。 其他应用头寸为应用带来收益,产品收入则全部归应用所有。 现有启动项目保留其密封模型。 累计的转账费用会显示为待领取代币;它们不是可支用的 USDC,也不是预付的 Bounded 额度。 托管 brain 可以在不经过持有者提案的情况下,申请收取费用并设定额度上限。 Treasury 策略会固定提款权限和目的地;Bounded 提供收取基础设施、交易签名和额度计费。 由持有者治理的储备金转换目标是覆盖六个月的基准 USDC 开支,默认在低于三个月时启动。

有关收取费用和待处理余额,请参阅代币转账费用。

能力阶梯

对于用户提出的每项能力需求,都必须按以下顺序逐级查找,绝不能直接跳到 变通方案。bounded services search "<need>" 会告知你所在的阶梯:每个项目都标记为 live、callable 或 requestable。

  1. 优先使用原生或现有能力:ctx.ai、ctx.email、文件、身份验证、集合、 支付渠道、嵌入式钱包以及 DEX/代币插件,或在函数中通过 ctx.services.invoke("<slug>", ...) 调用,并使用应用的 service:cap 授权的现有目录操作。
  2. 其次通过 x402 调用:服务对方使用 x402 定价,因此 Bounded 会代表应用从托管中继钱包按次付款,无需审批 (通过 ctx.services.invoke("X402_FETCH", ...),并使用 service:x402)。
  3. 提出申请,再说明限制:bounded services request "<what you need>" 会通过 Capability Hub 提交一次申请;功能上线后,Hub 会发邮件通知你。说明目前无法实现的内容、需要依赖哪些由个人持有的资源、规则存在的原因,以及最接近的合规替代方案。然后构建合规版本。绝不要“临时”添加由用户持有的密钥。

详情、就绪状态、禁止的依赖项和中继语义:docs/capability-ladder.md。

放手之前

  • 提前写明边界:posture: "closed"、binding: "all",声明的 egress 允许列表包含 service:cap 和 service:x402 两项授权 (以及任何无需凭据的主机),并且只对 openApps 设置 "mode": "locked" 冻结。绝不要冻结 boundaries,也不要在创作者应用上设置 amend;平台会在已启动的克隆应用上派生这些设置。
  • bounded oapp preflight 显示 READY:它是 Open 门槛的试运行,并会为每项会拒绝的依赖标明其能力阶梯。
  • policy.json 中没有依赖用户持有凭据的规则、函数或 egress;bounded verify 通过;每项外部 egress 都已声明。
  • 源码随部署一起提交(sourcePush: true 或 --with-source),同步的目录树是实际完整的项目,并且部署的 dist 可由该目录树重现。
  • 用户了解 Open 会公开网站、源码和边界;没有前端的应用,其主页就是公开的代码仓库视图。

完整清单:docs/checklist.md。

评论

支持 Markdown