GoLive开发者指南:用Capabilities与Links为你的应用扩展新供应商支持(含代码实战)

发布时间:2026/10/10 17:24:41

GoLive开发者指南:用Capabilities与Links为你的应用扩展新供应商支持(含代码实战) GoLive开发者指南用Capabilities与Links为你的应用扩展新供应商支持含代码实战【免费下载链接】golive-skillTake your agent-built product live: hosting, database, domain, email, payments — on your own accounts. Open-source Agent Skill zero-dependency Node CLI: detect → plan → approve → apply → verify. No GoLive account, backend or telemetry.项目地址: https://gitcode.com/gh_mirrors/go/golive-skillGoLive是一个开源 Agent Skill 零依赖 Node CLI帮助你把 AI 代理构建的应用真正上线托管、数据库、域名、邮箱、支付——全部跑在你自己的账号上无需 GoLive 账号、后端或遥测。本文面向想为 GoLive 集成新供应商Provider的开发者带你理解Capabilities能力与Links跨供应商链路这两块核心扩展机制并给出从 0 到 1 添加供应商支持的代码实战步骤。为什么 GoLive 加新供应商只需一个适配器传统做法里每接入一个支付商就要为每种托管环境重写一套支付 → 托管环境变量的对接代码组合爆炸。GoLive 用三层设计解掉了这个问题层角色一句话理解Adapter适配器对接单个供应商会说这个供应商的语言并声明自己有哪些能力Capabilities能力供应商暴露的标准接口如 EnvStore、WebhookRegistry、DnsZone 等所有能力定义在 src/core/types.tsLinks链路跨供应商粘合层只面向能力编程写一次即可复用到任意供应商组合正如 src/core/types.ts 顶部的设计注释所说一个 LINK 是针对能力写一次的跨供应商粘合例如支付 webhook → 托管环境变量 托管 URL所以新增供应商永远不需要为每种两两组合重写配方。完整心智模型见 docs/ARCHITECTURE.md 的 Adapters, capabilities and links 一节docs/ARCHITECTURE.md#L136-L143。全景图7 条轴、3 个注册表、1 个执行流程GoLive 把上线拆成 7 条轴Axishosting、db、auth、payments、email、dns、monitoring定义见 src/core/types.ts#L16-L17。每条轴可以独立选择供应商彼此自由组合。注册中心在 src/registry.tssrc/adapters/ → ADAPTERS 供应商适配器 src/links/ → LINKS 跨供应商链路按规划顺序排列 src/checks/ → CHECKS 对真实系统的只读验证执行流程固定为detect → plan → approve → apply → verifydocs/ARCHITECTURE.md#L10-L12。你的新供应商接入后自动融入这条流水线不需要改主流程。能力查找通过adapterFor/cap两个小工具函数完成实现在 src/core/caps.tscap(ctx, payments, webhooks) // 取 payments 轴供应商的 webhook 能力实战三步接入一个新供应商以下示例假设你要接入一个虚构的托管商myhosthosting 轴。步骤 1编写 Adapter声明它支持的 Capabilities一个 Adapter 的最小契约在 src/core/types.ts#L116-L126id、title、axes、automated、auth、capabilities。骨架代码// src/adapters/myhost.ts import type { Adapter } from ../core/types.js; export const myhostAdapter: Adapter { id: myhost, title: MyHost, axes: [hosting], automated: true, async auth(ctx) { // 检查登录状态CLI 登录或环境变量 token返回 { ok, via, howToFix } return { ok: Boolean(ctx.envToken(MYHOST_TOKEN)), via: MYHOST_TOKEN env }; }, capabilities: { project: { /* ProjectLinker选择/创建项目 */ }, env: { /* EnvStorelistNames / set / canSet */ }, url: { /* PublicUrlget 各目标的公网 URL */ }, deploy: { /* Deployerdeploy 并回报 provider 自己的部署 id */ }, }, };关键原则来自代码注释与 docs/ARCHITECTURE.md#L145-L155能力宁缺勿假供应商读不回的数据就返回null或不暴露该能力GoLive 会显式说明原因而不是猜。密钥只在传输边界揭示永远放进Secret包装器见 docs/ARCHITECTURE.md#L223-L229。然后把适配器登记进 src/adapters/index.ts#L17 的ADAPTERS数组注册即生效——这正是 src/registry.ts#L2-L3 注释里说的加一个供应商 加一个 adapter 文件 在这里列一下links 和 checks 通过 capabilities 自动发现它。步骤 2写 Link只面向能力编程Link 是 src/core/plan.ts#L42-L47 定义的接口plan(ctx)返回步骤Steps、人工交接项Handoffs或null不适用时静默退出。以监控链路 src/links/analytics.ts 为模板你可以看到标准姿势// 1. 只查能力不认供应商名字 const r await ready(ctx, monitoring, project); const host await ready(ctx, hosting, env); // 2. 能力缺失时降级为人工交接handoff而不是报错 if (!host) { for (const target of ctx.config.targets) handoffs.push(envHandoff(ctx, adapter, mapped, target)); }所有 Link 按规划顺序登记在 src/links/all.ts#L36。你的新供应商只要能提供outputs/webhooks/sendingDomain等能力现有的payments、email、analytics等链路会直接复用——这是 Capabilities 设计的核心红利。⚠️ 注意顺序约束accounts 必须在最前重置每轮规划缓存所有写 env 的 link 必须在 deploy 之前src/links/all.ts#L22-L34。步骤 3加 Check用真实读取证明真的生效了每个 Check 由applies(ctx)run(ctx)组成产出pass/fail/warn/skip四种明确结论src/core/types.ts#L810-L817。以 src/checks/db-connection.ts 为例applies: (ctx) Boolean(cap(ctx, db, dbConnection)), async run(ctx) { const connection cap(ctx, db, dbConnection); // 只读探测证据全部无密钥 }两个新手常踩的坑skip ≠ pass。供应商不可读就是 skip绝不能用2xx 响应冒充验证成功参见 PostHog/Sentry 的 ingest 检查设计src/links/sentry.ts#L29-L31。注册进 src/checks/index.ts 引用的ALL_CHECKS后即被golive verify自动调度。无法自动化的供应商加入 GUIDED 清单如果供应商没有 API 或 CLI不用写完整适配器——加入引导清单 src/adapters/guided.ts#L15-L46 即可{ id: myprovider, title: MyProvider, axes: [payments] },此时 GoLive 会走guided路径代理引导人工操作但仍用 check 从外部验证结果流程见 skills/golive/references/guided.md。验证你的改动不需要真实账号按 CONTRIBUTING.md 的本地开发规范Node 24 pnpmpnpm install pnpm vitest run pnpm tsc --noEmit pnpm build所有测试使用模拟响应test/fakes.ts、test/helpers.ts禁止在测试中访问真实供应商。行为变更需要基于 mock 的回归测试新供应商在完整工作流拿到真实验证证据前都标注为experimentalCONTRIBUTING.md#L61-L62。常见问题 FAQQ新能力该放 Adapter 还是 LinkA单一供应商的读/写操作放 Adapter 的 capability两个及以上供应商之间的组合逻辑支付密钥 → 托管环境变量放 Link。Q供应商 API 不支持回读部署状态怎么办A不暴露对应能力如 Vercel 没有release能力GoLive 会跳过该步骤并说明原因而不是盲写docs/ARCHITECTURE.md#L129-L134。Q写操作的安全边界在哪A一切写操作必须进入 Plan、经人类按 plan id 批准后由apply执行DNS 写、删除、live 支付各有独立确认门docs/ARCHITECTURE.md#L182-L189。你的 Link 中每一步都要声明risk。延伸阅读架构总览docs/ARCHITECTURE.md各供应商当前支持范围与限制docs/PROVIDERS.md全部类型契约实现的法律src/core/types.ts现有链路总目录src/links/all.ts贡献指南与测试规范CONTRIBUTING.md可安装的技能说明与供应商参考skills/golive/SKILL.md【免费下载链接】golive-skillTake your agent-built product live: hosting, database, domain, email, payments — on your own accounts. Open-source Agent Skill zero-dependency Node CLI: detect → plan → approve → apply → verify. No GoLive account, backend or telemetry.项目地址: https://gitcode.com/gh_mirrors/go/golive-skill创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/10 17:24:41

VC写的Shp Editor:轻量级Shapefile编辑与数据抢救指南

简介:这是一份面向GIS开发者与地理信息专业学生的Shapefile矢量编辑工具源码包,基于Visual C开发,适合需要深入理解矢量数据编辑原理或进行二次开发的中高级用户。压缩包共167个文件,以53个.h头文件与49个.cpp源文件为核心&#x…

2026/10/10 17:24:41

C语言函数深入解析:传参、递归、函数指针与工程实践全攻略

函数这一段,是不少初学者从“会写代码”到“写明白代码”的一个分水岭。我这些年看过的例程、答辩代码、实习生的提交,问题大多出在对函数理解不够“透”上:要么是传参传错了、要么是把函数内部的东西带出来了,要么是递归把自己绕…

2026/10/10 18:30:27

知网查重与AI检测双重应对:论文从90%复制比降到10%免费攻略

如果你的知网报告刚刚出炉,满屏标红、复制比高到离谱,后面还跟着一个“疑似AI生成”的提示,那这篇文章就是给你写的。2026年毕业季,我前后实测了30多篇本硕论文,把市面上能用的降重手段摸了一遍,这里只讲免…

2026/10/10 18:30:27

Flutter鸿蒙化:构建期加密的环境变量安全治理实践

如果你在 Flutter 项目里维护过 3 个以上的环境变量文件,大概率经历过这样的时刻:生产环境密钥写在.env里,不小心跟着代码提交进了仓库;安装包发出去之后被人轻松解包,strings一拉,第三方平台的 key 全部暴…

2026/10/10 18:30:27

C语言学习第六篇:实战突破语法瓶颈与调试难题

看到“C语言学习6”这个系列标题,我还是挺感慨的。走到第六篇,说明你已经把变量、循环、函数、数组这些基础语法啃得差不多了,正处在“语法都认识,但遇到题目还是无从下手”的阶段。这个阶段最典型的表现就是:书能看懂…

2026/10/10 18:30:27

手机应用数组越界崩溃:从线上事故到根治方案

上周我们的应用突然收到大量数组越界崩溃报告,崩溃率瞬间从0.02%飙到0.8%,用户评论区一片哀嚎。等我定位到根因时发现,问题不在于用户的操作有多离谱,而是一行看起来人畜无害的索引取值代码在特定状态组合下越了界。排查了两天才意…

2026/10/10 18:30:27

Java音乐畅听系统毕设全解析:WebSocket与流式播放实战

做毕业设计这几年,“音乐畅听系统”这个题目几乎每年都有人选,但绝大多数人做出来只是个“换皮播放器”——能放歌、能搜索、能注册登录,然后就没有然后了。真正拉开差距的,是你有没有把“智能音乐播放与互动平台”这个副标题里的…

2026/10/10 18:25:26

Mangos服务端数据库修改全解析:从item_template到BOSS掉落的实战指南

简介:这是一款面向Mangos服务端的数据编辑软件包,主要帮助魔兽世界私服架设者与核心研究者快速修改物品、任务、BOSS、NPC等游戏数据。包内可视化编辑器可直接连接Mangos数据库,读取并编辑物品属性、任务链、BOSS掉落、NPC刷新等核心内容&…

2026/10/10 7:31:36

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/9 20:15:56

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/10 0:04:53

从逻辑门到计算机:数字电路核心原理与全加器搭建实战

如果你拆过一台旧电脑的主板,盯着那些黑乎乎的小芯片看上一会儿,可能会冒出同一个疑问:这堆引脚密集的元件,到底是怎么“变”出那么复杂的应用的?答案并不在某个神秘的部件里,而是在所有芯片内部都在反复使…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑