关于 oapps-fun
oapps-fun 是面向 openapps.xyz 应用构建与发布的技能,介绍 Bounded 运行时的限制、能力检查、发布门槛及从 Open 到 Commence 的流程。
主要功能
- 01oApp 生命周期指导
- 02Bounded 预检与演练步骤
- 03能力查询和申请流程
- 04无个人凭证的应用设计规则
- 05发布准备与检查清单
适用场景
- 01为应用准备 Open 和 Commence
- 02检查依赖能力是否可用
- 03设计不依赖创建者密钥的应用
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ bounded-sh/ skill --skill oapps-fun安装后在 Claude Code 中输入/oapps-fun确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
docs/capability-ladder.mdchecklist.mdlaunch-gate.mdlifecycle.mdrehearse.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。
一屏了解生命周期
- **Local。**普通代码仓库;尚未部署任何内容。
- Bounded(开发阶段)。
bounded init、bounded verify、bounded deploy、bounded site deploy dist --with-source。应用会获得一个开发地址, 例如myapp-x7k2.bounded.page;请保持其为私有状态(sitePrivate),不要自行将其改为公开。创建者应用必须保留创建时使用的协议:切勿将其重新创建为realtime_mainnet,也不要传入--protocol。主网部分由 Open 处理。 - **Open(公开,等待 Commence)。**完成 Open 后,会在 Solana 主网上创建一个由场所所有的根节点和工作负载(由平台设置;链上所有者是由 Bounded 托管的密钥,而非你的钱包),并在
https://<workloadAppId>.bounded.page发布工作负载站点和源代码,以及在/a/<slug>发布场所页面(旧版/l/链接会重定向)。你的创建者应用仍是一个断开连接的沙盒;绝不要在已打开的根节点或工作负载上运行bounded deploy。Open 要求创建者策略的出口授权service:cap和service:x402;先运行bounded oapp preflight,查看 Open 会拒绝的所有内容。 - **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。
- 优先使用原生或现有能力:
ctx.ai、ctx.email、文件、身份验证、集合、 支付渠道、嵌入式钱包以及 DEX/代币插件,或在函数中通过ctx.services.invoke("<slug>", ...)调用,并使用应用的service:cap授权的现有目录操作。 - 其次通过 x402 调用:服务对方使用 x402 定价,因此 Bounded 会代表应用从托管中继钱包按次付款,无需审批
(通过
ctx.services.invoke("X402_FETCH", ...),并使用service:x402)。 - 提出申请,再说明限制:
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。