芬奇·OG代理(FOGA)
FOGA是一个参考自主代理,基于同一作者所写的12个Ethereum ERC草稿:
| 紧急救济协调员 | 标题 | 在单元格中的角色 |
|---|---|---|
| ERC-8338 (韩语) | Token- Bond 可执行技能 | 单元格可以执行什么(hash- 验证技能包) |
| ERC-8414 (韩语) | Token- Bond 任务招标 | 单元格所承担或提供的工作(大量投标) |
| ERC-8419 (英语) | 认识你的代理人(KYA)框架 | 牢房如何证明自己的事实(经验证和ZK证明的断言) |
| ERC-8434 (中文(简体) ) | 代理人身份(AID) | 手机的地址识别和活性 |
| ERC-8436 (英语) | 代理人集体决策框架 | 牢房如何共同决定(授权的K-of-N决定具有终局性) |
| ERC-8444 (中文(简体) ) | 代理资源发现(ARD) | 如何找到细胞、技能和任务 |
| ERC-8447 (中文(简体) ) | SWARM AI 框架 | 细胞如何组织成有目的的群 |
| ERC-8454 (中文(简体) ) | AIFi 单元框架(AUF) | 细胞或群的经济边界和测量 |
| ERC-8468 (韩语) | 代理安全框架 | 牢房采用的安全规格及其必须遵守的干预措施 |
| ERC - 8471 (韩语) | AI 争端解决框架 | a. 如何提交、裁定和颁布关于牢房行为的索赔 |
| ERC-8490 (韩语) | 冥想剂机制 | a 单元格本身的维护:四层状态文档,状态版本,每层及时性(docs/medtation.md) |
| ERC-8489 (中文(简体) ) | 代理信息流动范例 | a 单元的信息流动:它自己的渠道、它的出版物、它因其身份而被承认的市场(docs/flows.md) |
ERC-8004(不信任代理)是一个必需的从属关系:ERC-8419,ERC-8434和ERC-8447与其身份登记册相接. ERC-8490和ERC-8489作为 扩展 (0.8.0,0.9.0;docs/extinding.md)并且是自1.0.0起设定的基数的一部分:十二同位素细胞是什么 FOGA-Cell-v2 (英语),第二个版本的单元格安全规格,说明(docs/pecification.md).
该项目从一个内核中交付出三件事: 芬奇·OG探员 (第一运行实例) FOGA 节点软件 任何人都可以带着自己的身份 模特儿和钱包跑步 公共访问层 (MCP, A2A, HTTP/CLI). 它分阶段建造;该储存库已经完成 第二阶段c:公共链的起源,在第二阶段起源地(T0–T9)和第一阶段世界地层之上.
状态:1.0.8 (4c, 2026-11-13) – 十二同位素细胞:FOGA-Cell-v2, ERC-8489和ERC-8490 在基座, foga.probe/2, 起源 T0–T9 既行使盟约,又行使医生的第五层 判断全部十二; 4b (0. 9.0–0. 9.1, 2026-11-09) —— 细胞的信息流(ERC-8489)作为一个扩展: 自身的渠道, 出版物被固定, 市场通过身份的承认, 四个价值的角色; OG 靴子被塞波利亚的流量(家族) foga,默认市场)和被包装的塞波利亚世界携带; 4a (0.8.0–0.8.2, 2026-11-09) ——细胞自身维护(ERC-8490)作为扩展:一个手动,可回收,可重置周期,然后是运行周期到期的监视器; 3e-1 (0.7.0, 2026-11-06)—— foga join: 在一个指令中生活在公共链上的一个细胞,它的卡,工作在链上; 第3阶段完成(0. 6.0, 2026-11-05)——OG活在雾中. finchip.ai,MCP注册列表,有外接代理的Sepolia Loop D;3d-2(钱包,签名呼叫器,链上文件,飞行前,A2A,固化),3d-1(快速启动,外接代理的Loop D),3c(有型号的Loop D),3b(MCP和HTTP),3a(内核作为节点)全部完成
4c (1.0, 2026-11-10) (中文(简体) ). 十二相会所. ERC-8489和ERC-8490,扩展为0.8和0.9,是基数集的一部分: FOGA_COVENANTS 举出12个公约和ERC-8004, 这个世界没有一个人这样说(world.missing),而当地和塞波利亚世界都承载了全部. FOGA-Cell-v2 (英语) 是单元格的ERC-8468安全规格(docs/pecification.md)的第二个版本:版本1的4个条款,由账户一如既往地执行,还有3个运行时间执行——状态保持和维护(ERC-8490),自我描述固定在单元格自己的通道(ERC-8489)中,这个部分是仅根据其规则通过账户取入的共享上下文的一部分,核查者的结果报告为获得的结果. 在1.0.0以下所生的细胞与第2版并按其账户的要求取名;在部署到第1版时确定的细胞之前所生的细胞,采用第2版作为第二版,通过账户强制使用(运行时间)foga cell adopt),该账户通过它提出的约束,即一个后续机构,继续强制执行版本一(foga cell migrate将第2版修正为:, spec_status 而飞行前说明账户的哪个版本执行,以及采用的运行时间. foga.probe/2 在确定性探测器中增加两项盟约(一个对象的渠道是其权威、锚地、市场作用、其注册、状态版本和每一层在街区的及时性),以及 foga cell skill update 向程序的新软件包移动一个持有的符号( ERC- 8338) updateSkill, 记录重新承诺, 世系保存; 由于1.0.2 一个合并的单元格自己复制的软件包从程序上刷新, 所以它的符号动作也一样 。 1.0.3 进行第一次外部审查: FogaCellAccount 修订 3 在操作者之前询问所有者,所以一个一键单元格移动自己的资产(cell migrate, (中文(简体) ), identity_transfer; 模拟不会改变任何能力; 探测器工人在25号节点上到达RPC. 1.0.4和1.0.5 开始第一个Windows运行:技能工人从那里开始(工人的路径是一个URL路径名),卡片名称是ERC-8004注册,出生时会写出其流出文件(文件名称是用拆分路径取的) /.1.0.6 添加释放检查(.github/workflows/release-check.yml:以用户运行方式安装并运行的柏油球—— demo --genesis T9, (中文(简体) ), quickstart --exit ——关于Linux,macOS和Windows(PowerShell和Git Bash),关于Node 22,24和26,以及针对已出版版本(docs/mcp.md,"包")的需求. 1.0.7 将投标的提交数和条目读为一(自动采矿下的安维尔可以在块标签前接通电话;步行从新的数起。) 1.0.8 复产在帐户部署后中断,而不是考虑出生(出生开始和结束是商店的事实)。 起源 T0-T9 将两个盟约都演练为结束——两个规格版本,每个单元格的入场和通道,替换和事件周期,需求者被录用时的流量门翻转,停止到达维修和流量,接任者的新入场及其频道将前身命名为"父母"——197支票,215手术;医生的第五层从该证据中所有12个评断,没有经过测试(United)deployments/local.genesis.example.json, (中文(简体) ), local.doctor.example.json138个测试.
4a, 第一片(0.8.0, 2026-11-09). 一个活了几个月的细胞会改变——程序,其依赖性,技能,条件,工作,存储——和ERC-8490(由同一位作者所写的代理冥想机制),使这个变化呈现出一个已注册的形状:四层状态文件显示细胞保存,承诺和一个状态版本在注册,每层及时. 它加入FOGA作为第11个公约和 扩展 (docs/extending.md's 5 place;docs/medtation.md):登记处在计划中,当地世界(48个合同),上游塞波利亚案例附后, World.covenants() 列表 ERC-8490 下级 world.extensions医生用一至三层来遮盖,说 NotTested 第5层,直到一个情景演练; 基础集不变. src/core/amm.ts 是内核的视图——为 ERC 已公布的向量字节所持有的散列( )test/amm.test.ts——和 foga meditate run 是循环(src/node/meditation.ts, (中文(简体) ), meditation-cycle.ts, (中文(简体) ), src/tools/meditation.ts: 运行于本地的例行程序(账户的角色和允许列表,技能的套件与它们的代号相对应,商店检查和压缩,飞行中的标书和与链条相悖的文件,窗口的决定),四个文档从单元格中重建 稳定 状态, 1 report 通过操作员的新账户 maintenance 范围,而版本只有在承诺发生变化时才能移动;节点不能单独完成的事务成为记录中的候选人,从不被收养. 每个阶段都是记录和报告被冻结的事实,所以一个中断的周期会以相同的调取数据恢复,一个在节点被排除时被挖出的报告在新周期开始前被调取,任何人给出记录和文件都会在链条上重划出每个散列. 内核现在告诉 待处理 从 失败 (单位:千美元)OperationPending;目录将工作运行在一个 pending 门和同一请求恢复了它)和一个计划规模的自己的费用储备(gasPerStep) (中文(简体) ). 出生在一个世界上、登记在册的牢房,出生时由监护人担任控制员;运行中的牢房得到延长—— foga cell extend --covenants 8490 在其世界文件中添加注册,打开范围和注册,不迁移。 一个授权路径:账户;一个一键单元格的主人公对单独打开,当角色分开时关闭. meditate_status 公之于众地读到FRESH的含义, 同一天直播:OG和一个在塞波利亚扩展的合并的细胞,它们的第一个周期报告并从服务记录中重编(0.8.1固定了它们显示的内容). 第二块(0.8.2) 是监视者: maintenance.auto 上,节点运行一个循环,当一个需要的层落下DUE或OverDUE(控制器在其中的需求),或者当运行时间或内存技能文件漂移——单在这些层上,因此每个层保持其节奏——以检查速度为界限,一次一个循环,一个只有OverDUE层经过的冷却,以及预算;同样的 meditate_run和打电话的人一样 watcher. 尚未: 十二合算基数(4c). 119个测试.
4b (0. 9.0, 2026-11-09) (中文(简体) ). 一个细胞自言自语并参与市场,而ERC-8489(代理信息流范式,由同名作者所写)则给出了两种被注册的形状:一种是范式(上下文的规则:载体,操作者,十三维,角色由哪个上游获得),一种是采用一个,角色约束,四值检查,锚和披露记录的渠道. 它成为第十二个和第二个 扩展 (文件/流量:7份上游合同和FOGA自己的合同) FogaIdentityVerifier (单位:千美元) identity 上游:主体的账户拥有ERC-8004身份,其ERC-8434锚地是ACTIVE——首先约束主体,部署时设定的登记册)在计划中,当地世界(56个合同),上游的塞波利亚案例附后, src/core/aifp.ts 是内核的视图(主题参考文献,JCS范式 id,上游编码和对 ERC 向量的描述验证, test/aifp.test.ts. FOGA记录了每个世界在家庭中的两个范例 foga数字 : foga:cell-source/v1 (来源+档案:一个出版商,开放观察,一个被拉出,不可改变的档案)和 foga:tender-market/v1 (公共市场-否) intake 标签,因为提交材料是公开的;SUBMIT和RESPOND通过身份上游;TaskToken事件作为运输,没有交货记录。 一个细胞在出生时以账户作为权威打开自己的频道,并授予自己SUBMIT docs_publish 锁定出版物(出版,然后取而代之;相同内容从不两次),并以公开的URL记录向公众披露; flow_admit 预览身份上游并让单元格进入市场,或因结果而拒绝登记册获得——NOT SATISFIED、UNDETERMINBLE、VERIER ERROR——永不相互折叠; tender_precheck 可以要求需求者发挥SUBMIT的作用 flow ),将历史角色和当前资格看成是两件事. 监视者锁定已公布的内容,一旦合格就加入市场; foga cell extend --covenants 8489 带一个运行中的单元格; foga flow bootstrap 是维护者每个链条的一次性行为(它将单元格的世界文件与注册处相扩展,并在缺失时部署身份验证器)。 尚未: 十二共通基础集与探针/2 (4c), ACDF治理约束市场, foga:direct/v1127次测试. 0.9.1 (简体中文): Sepolia 拖带完成(OG的账户控制家族) foga 也是市场的权威 0x32643288…; 身份验证器位于 0x7d5301B3…)并被收录到被包装的世界中,所以一个加入塞波利亚的细胞在出生时打开了它的频道并被市场所接纳;观察者也记录了在唱片存在之前被锁定的出版物的披露(没有两次:频道的记录是先读的).
3e-1 (0.7.0, 2026-11-06) (中文(简体) ). 第3阶段留下了一个在公共链上诞生的细胞 四个命令和三个先决条件 和一个命令路径quickstart)在随其过程而死亡的链上;这个切片是停留的单元格的单指令路径. foga join --chain sepolia (单位:千美元)src/node/join.ts,docs/join.md)制作或再利用钱包,从包中取出链条的地址簿(deployments/sepolia.example.json 现在的船舶),等待身份获得资助(地址,金额,水龙头被打印;当乙醚降落时,它自行进行),诞生细胞,薄荷并提供其技能,承诺文件,为节点服务——或用支点运行--run stub),因此单元格接收它有资格的标书,没有模型,也没有人;每个步骤都是内核的,所以同一个命令恢复一个被中断的会合,并两次发送任何消息. 牢房住在这里 ~/.foga/cells/<network>/<name> 与地址簿和旁边复制的技能包,与软件包的安装地点无关. foga cell card (单位:千美元)src/node/card.ts)是细胞的自我描述——链,账号,代理代号,技能用活物代号,其中标出标价,当它有公开面相时入口——用是另一个代理需要,没有连锁呼叫; become-a-cell 和新资源 foga://docs/join 带队 工作经过了整个环节: test/join.test.ts 上面有一个陌生的薄荷薄荷两个标本 用于连接的细胞 与根茎运行, 两者被取走, 被散锁检验员接受 并且与没有人接触过 任何一方—— 两个细胞之间不需要网络。 链式表格( E)src/core/chains.ts(b) 可合并的名称; worlds/base-sepolia.json, (中文(简体) ), optimism-sepolia.json 财务报告和审定财务报表 arbitrum-sepolia.json 正在部署模板,每个模板上都有一个相同的地址。 快速启动是两个默认的端口,加盟时让位于下一个自由端口. docs/mcp.md 携带每个客户端的HTTP-格式条目(Claude Code的 "type": "http"光标 url温德苏夫的 serverUrl109个测试。 以0.7.4(2026-11-06)进行验证:一个与 --run stub 在一台机器上和另一台机器上的一个需求者之间,除了塞波利亚之外,他们之间没有其他东西——文件技巧(投标47)和牢房的自我检验(投标51)都被散锁核查员接受并付了钱;现场运行所教的四种东西是:CangeGELOG和Docs/loop-d.md,"两台机器".
3d-3 (0. 6.0, 2026-11-05) (中文(简体) ). 第3阶段与服务参考单元关闭,最后验收在公共链上运行. OG在塞波利亚新出世 任何细胞走的路wallet new, (中文(简体) ), cell new, (中文(简体) ), cell init, (中文(简体) ), docs publish, (中文(简体) ), node serve ——一个关键,不迁移;docs/og-unposit.md):代理11261,其提供的技能,其连锁文件,其15个合同 Suurcify-vid;服务方式为主机模式,由Caddy公司后系统提供 foga.finchip.ai 列入《多边公约》登记册 io.github.garyyang-finchip/foga. 由外部代理在塞波利亚运行的Loop D并经过了每一行变化无常的行(docs/loop-d.md,"On a public 链条");所教的公共链条在这个发布中被固定——工作目录是一跑,角色资助是用一楼定价,结算数字是投标人自己的,一个日志扫描是窗口. foga cell advise (单位:千美元)src/node/advise.ts)告诉一个运行中的细胞下一步要做什么——先将一个钥匙分给主人,操作员和监护人——以及建议在快速启动,出生和在服务后打印的项目;第一次运行是故意保持最小的. 公约清单从世界上读取(第11个公约出现,没有更改代码),清单载有: services 插槽——维护者的目录,可解析,由参考单元格提供 /services.json - 医生/检测员107人.
3d-2(0.6.0-α.7,2026-11-03) (中文(简体) ). 3d的第二片是细胞在其他物剂中需要独立站立的东西,在一个原理(docs/design-memo.md, 第10节)下:钱包是第一步,是默认制造的,永远没有停止的理由;身份是一个人自己的;只有基因组复制. foga wallet new (单位:千美元)src/node/wallet.ts,docs/wallet.md)在自己的机器上制作代理密钥——默认在下方的0600文件中有一个密钥 ~/.foga/wallet 满足细胞需要的每一个角色的身份; --cell 对分离的所有人/经营者/监护人——从未覆盖、没有网络——和 foga quickstart 在其第一次运行时制作默认钱包,并用相同的密钥在后面的单元格中生成; --wallet <dir> 每页 foga cell 财务报告和审定财务报表 foga node 命令从那里取出一个角色的密钥。 钱包也是证书: Authorization: FOGA-EIP712 <envelope> (单位:千美元)src/http/signed.ts, (中文(简体) ), src/http/access.ts)是单元格自有域中的EIP-712签名——绑定在一个请求并良好一次,或者一个带有静态信头的客户端的会话——呼叫者是级别上的签名地址 access.signers 授予它(单元格本身的操作员或所有者、地址许可列表或ERC-8004代理代号、KYA站立阈值、默认); /api, (中文(简体) ), /mcp 财务报告和审定财务报表 /a2a 拿着, foga wallet sign 打印,每个单元格的 MCP 服务器都带有提示 become-a-cell 和资源 foga://docs/quickstart 对于一个满足它的代理人. foga cell docs build | publish | status (单位:千美元)src/node/documents.ts,docs/documents.md)从一个配置生成单元格文件——ERC-8004注册,ERC-8434 AID文件,ERC-8444描述符,ERC-8454单元,A2A代理卡, server.json一份内容繁杂的明细表 /documents/* 财务报告和审定财务报表 /.well-known/*作为操作员的密钥任务(setAgentURI, (中文(简体) ), setDocumentURI, (中文(简体) ), updateDescriptor, (中文(简体) ), publishVersion;只发送不同的东西,读回并交叉核对; docs_status 财务报告和审定财务报表 docs_publish 是目录的第三十和第三十一个能力. foga node preflight (单位:千美元)src/node/preflight.ts)是准备状态调节——世界,账户及其允许列表,预算,钥匙,站立,工人掌握的技能,对照链条的文件,公共URL,模型——咨询, --strict 为CI. POST /a2a (单位:千美元)src/a2a/,docs/a2a.md)是A2A 1.0 JSON-RPC同卡片绑定在 /.well-known/agent-card.json引用任何人的话, 投标一个行为级的呼叫者 作为一项任务,目录的工作, GetTask, (中文(简体) ), ListTasks, (中文(简体) ), CancelTask,按照规格错误. foga world verify --sourcify (单位:千美元)src/world/sourcify.ts,docs/world.md)提交一个世界的每份FOGA部署合同,其标准JSON输入自编译器运行(JSON)forge build 现在把建筑信息放在文物旁边, 与运行时代码相匹配; 本地链是干线, CI 运行于全部47个。 OG 实例的默认为主机模式( O)foga node serve:每个入口,监视者,没有模型)有嵌入模式(foga node run跑者有型号) 上网和离线的7个新测试(wallet, (中文(简体) ), signed, (中文(简体) ), documents, (中文(简体) ), a2a, (中文(简体) ), preflight, (中文(简体) ), sourcify,以及 quickstart 城门是宽大的; foga quickstart 现在结束的单元格,其文件是连锁的,其卡片答案,其A2A出入口引用. 接下来,3d-3: OG部署运行本, foga.finchip.ai登记列表 塞波利亚固化运行 OG细胞向修订2的迁移 以及一个外部代理在塞波利亚的Loop D.
3d-1 (0. 6.0-alpha.6, 2026-11-02) (中文(简体) ). 软件包在npm上作为 @finchip.ai/foga (0.6.0-alpha.4和alpha.5,后者的发射装置被固定在Windows上),因此第一个3d的切片是两件使其从无到有可用的东西. foga quickstart (单位:千美元)src/demo/quickstart.ts,docs/ quickstart.md)是一个对活单元格的指令:anvil,本地世界,一个诞生的没有钥匙的单元格及其两种技能,为它定了两个标语,提供了节点(监视器、HTTP API、MCP 超流式HTTP),两个入口都经过检查(手握和工具列表在HTTP上加一个行为级密钥,在操作员密钥上加Stdio),MCP客户端配置——克洛德·桌面、克洛德代码、Cursor,以及带有URL和Bearer密钥的HTTP表格——印出并用每条路径填入,在下面 ~/.foga/quickstart循环D收益 --model external (docs/loop-d.md):节点不是运行,而是为任何提议者铸造一个行为级的密钥,管弦乐手打印一个简报(入口,投标的五个步骤,运行在代理人周围做什么——没有关于案件)并等待代理人——任何模型,任何运行时间,一个人与 curl ——经过同样的恢复演练,相同的出入口检查和相同的验收;证据为特工取名并携带无跑动滴滴,医生为该特工独自留下的病例作标记 NotTested 而不是说 Fail,以及 --compare 跳过运行未达到的. test/loop-d-external.test.ts 用脚本代理通过 MCP 入口和每个判决通过, 模型不可知行 包含在保留 stub跑。 较小 : .gitattributes 保存每个文本文件 LF(包括发射器的 shebang), a prepare 脚本从共享单元格诞生的 git 直接编译一个已安装的取出( t)src/demo/birth.ts和以物配主者src/demo/anvil.ts)服务于演示,而docs则携带了PowerShell和Windows笔记. 3d中的下一个: foga node preflight, (中文(简体) ), docs build/publish 与 setAgentURI,A2A卡和入行映射,Surcify,然后是OG部署运行簿,文档站点和注册列表.
3c (0. 6.0-alpha.4, 2026-11-02) (中文(简体) ). 循环中的模型, 和看记录而不是文字的接受. src/node/runner.ts 是节点与模型的循环:每个勾选符通过读取能力感知到,将情况与目录作为模型的工具,执行它提出的——同时读取,通过 Catalog.invoke 在三种检查决定和拒绝回溯的情况下,模型可以修改一次——并逐一记录“一散列”(决定记录载有模型及其请求和回答的一散列;整个记录记录的一散列;文本从未)。 限制绑起一滴(12个工具调用,2个动作)和一日(模型调用,在商店中计算). 一个接口上的两个适配器: anthropic (信件 API 结束) fetch,环境中的密钥,配置中的模型名)和 stub (确定性决定表,其中也提出一次高于预算的投标,因此证据表明大门关闭). foga node run 是嵌入式节点——服务器,监视器,跑取器——单独放在操作员密钥上. foga demo --loop-d (单位:千美元)src/demo/loop-d.ts)是未标注的运行:一个带有新密钥的新单元格,一个独立的需求程序在种子顺序中刻出案件 a-f(需要两个投标,四个拒绝) skill, (中文(简体) ), policy, (中文(简体) ), verifier,一个在监护人中止期间相遇),第一个提交后被杀死并重新启动的节点,HTTP出入口在跑道旁被使用(同一请求回答一次,另一个请求下同一活,三分薄荷一分被拒绝) budget 在发送任何信息之前),以及每个记录的证据文件,案件结果以及操作员密钥所签名的每笔交易扫描. foga doctor --loop-d 第5层:根据允许的决定判断每个行动,拒绝广播一文不值,四份预算账簿,操作员的交易全部在帐户上,并允许列入清单,案件如所预期,恢复,入口,以及——如果有两次运行——同样的结果是站台和一个真正的模型。 切片也结束了一个被曝光的种族:目录中的决定部分现在每个节点一次进行一个行为,一个工作保留了它从决定中会移动的价值. test/loop-d.test.ts (安维尔,一分钟之内)和 test/model.test.ts 是大门,CI运行 环绕世界 起源运行。 文献/记录.
3b (0. 6.0-alpha.3, 2026-11-02) (中文(简体) ). 该目录获得其第二和第三个出入口. src/mcp/server.ts 用正式的TypeScript SDK v2从目录中创建一个每个调用器的MCP服务器: 工具列表是调用器可能看到和做的(一个处理器的写出能力最多有3个工具)—— <name> 行为, <name>_simulate 运行每一次检查和发送什么, <name>_build 返回呼叫者自己账户的呼声——带有静态说明,结果为 structuredContent 在能力输出计划下,拒绝的行为是工具出错,带出门,原因和决定记录的id,不合格预检出普通的 eligible: false; 用于世界、 单元格、 策略、 FOGA- Cell- v1 规格和相容性矩阵的资源; 1 提示。 两个协议时代都服务于两个运输工具——2026-07-28修订版(2026-07-28)server/discover,无会)作为主要路径和2025-年代 initialize 以无国籍形式握手——和 foga node mcp 为本地客户端服务于 stdio(有密钥的操作员,没有构建级别的本地用户). src/http/server.ts 打开 HTTP 入口 node:http数字 : /mcp 超流性HTTP, POST /api/<capability>,健康和头版,没有证书的公众(阅读和建设)和 Authorization: Bearer <key> 提供补助的经营者 foga node key new (仅储存为散列);边缘检查 主机、出处、车身大小、内容类型和每个地址的速率、403的地图许可拒绝和企业拒绝 200 {ok: false, gate, reason, decisionId}。 。 。 . foga node serve 与旁观者运行它。 切口的大门是 test/mcp.test.ts: 在Anvil上,参考客户被钉在了2026-07-28上,在遗留模式和汽车模式下,越过了HTTP和stdio——公众工具,钥匙持有者走出从预先检查到和解的招标,奖励到达了账户,电线上的能耐和冲突,每一个边缘拒绝. scripts/pack-smoke.mjs (a CI step) 将npm tarball安装在一个干净的目录中,并从那里运行被包的CLI和MCP服务器; package.json 携带 mcpName 财务报告和审定财务报表 server.json 以3d.docs/mcp.md格式公布的登记册清单.
3a-2 (0. 6.0-α.2, 2026-11-02) (中文(简体) ). 内核变成节点 其他代理可以调用. src/tools/ 是能力目录——循环D路径上的28个能力,每个能力都宣布其动作(读取、构建、行为、管理)、其数据的能见度(公开、呼叫者、操作者)以及其行为——和 Catalog.invoke 通过政策引擎(锁定和约束、掌握和提供技能、奖励和最后期限、接受权限、预算)、模拟账户本身的大门的钱包许可; 每次试图采取行动、允许或拒绝,都是命名大门的决定记录。 Jobs是业务单位, 连锁店在他们下面写作; 同一工作被回答一次, 一个失败的失败者. src/node/ 是运行时间 : cell.config.json内核上的节点 单独握住操作员的钥匙, foga cell init (一个细胞的诞生 从其配置, T1 一个细胞), foga cell migrate (移动到一个新的修订版2账户,T9换一个单元格),观察者(心跳,招标发现,结算,安全). CLI(foga cell …, (中文(简体) ), foga node …)是从目录生成的。 切口的大门是 test/node-cli.test.ts: 在Anvil上,通过CLI,没有出世的出世脚本,一个细胞诞生了,薄荷其技能并满足了7个Loop D案件——两个招标取出并解决,5个在正门被拒绝(技能,政策,验证器,中止期间的安全性以及恢复后允许的安全性,预算),然后移动到一个新的账户. 文件/节点.
3a-1 (0. 6.0-alpha.1, 2026-11-02) (中文(简体) ). 第3阶段将内核变成其他代理商可以调用的一个节点,它的第一个切片给出了公共服务需要的内核和情景驱动器没有: FogaCellAccount 修订2——操作员只能调用所有者允许的上市内容,绝不是资产移动选择器,只有在启用和门满足时才能为账户签名;一个节点持有一个密钥,即其单元格操作员,并拒绝一个可以产生任何其他作用的环境(foga keys export, (中文(简体) ), foga keys check); 交易管理器计算列上的收费替换,所以限额在跨重启时保持,上限收费,一次运行一个签名者的操作,绑定其请求的散列键(同一密钥下的另一个请求是冲突),并回答失败的操作,直到它被明确重试;工作坐在商店的操作旁边;技能工人在节点许可模式下运行两个执行器出流程. 全部通过离线测试,与流程中链连接(test/tx-semantics.test.ts)和由阴道上起子,现在打开了每个细胞的范围本身(193个操作,166个检查). 文件/内核.md、docs/cell-count.md、docs/design-memo.md(第9节)和更改日志有详细内容;备忘录中3a-2至3d添加的内容.
塞波利亚跑道 (0.5.0, 2026-11-01). 世界 sepolia-11155111-20261101T043153Z:附有35个上游参考部署,从正式的ERC-8004登记册W的捆绑中增加了15个合同。 起源T0-T9从该项目的EC2对一个公众RPC:203个操作在12038641-12040082区块,三个诞生的细胞(ERC-8004代理 11255-1257),A的技巧为B的招标而铸造并跑出,一团由理事会裁决的投标形成并支付,争议由代管人退款,监护人在大门上执行的停止,声称的测量,A的身份被转移到了A-prime. 完成世界的医生: 第234道, 第1道(ARD固定器登记簿已知的旧来源), 第2道, 第5道所有11道标准通. 这三个文件是: deployments/sepolia.example.json (世界), deployments/sepolia.genesis.example.json (证据:检查、事实、每步证据、整个运行的日记,包括其简历)和 deployments/sepolia.doctor.example.json所教导的跑——一个公共RPC集群的节点在每一块后有一秒钟的分歧,塞波利亚的重价气表收费为Anvil的4.4倍(世界和起源的586M气体),重播必须读取其头部的链条——在docs/generation.md ("塞波利亚跑"),docs/内核.md和0.5.0变化日志中;角色的气体预算现在是有边际的量的塞波利亚数字.
建于2c(0.5.0-α.1至α.9):
- 公共连锁店也是这样.
foga world deploy在Sepolia配置上附上上游参考部署,并从同一捆绑中添加其记录在锁定的修订版中没有提供的内容(ERC-8471堆,在修订版3上部署,修订版4代管人无法约束,两个ERC-8447资格模块从未在上游部署),W作为部署者。 细胞将其活性保存在两个ERC-8434登记册中,其中世界命名一个后卫(Sepolia的ARD代理类型被固定在ARD自己的固定登记册上)。 T7通过缩短自己的活生生的窗口和等待来制作一款锚地STALE,在每个链上都采用同样的方式. - 一个词的十二个键 一个金库.
foga keys new在寄存器外写出一个BIP-39短语并打印出角色地址;只有W是靠手出资的——在每一步W将每个角色上至其下半层以下之前(一个用Sepolia来测量的气体预算,按链的当下收费定价),并在每个细胞出生时给予其资本.foga genesis preflight打印计划,代管人的管理者,证明材料和等待,不发送任何信息;foga world deploy检查部署人员在首次部署前的平衡情况. - 公共交易处理. 公共终点每4秒进行一次调查;在120次收款等待之后,仍在等待进行的交易将在同一非交易下取而代之,收费为三分之一,最多可达3次,恢复的运行将确认业务交易中哪些交易被开采。 每个读取的状态被钉入内核所见到的最高块上,因此RPC集群的一个节点没有以重试错误导入上个块的答案,从没有被 stale 状态.
- 运行前排练. CI从一个部署的本地站台上建立一个附属模型世界(
scripts/attach-rehearsal.mjs: 通讯簿附后,15份合同由foga world deploy第二张AIDRegistry作为辅助登记),运行飞行前,起源T0-T9以及上面的医生:171个检查,全部11个标准通过. 公共计时简介(约50分钟等待T5-T7)和"塞波利亚跑道"(Sepolia runbook)在docs/generation.md中被收录为"公共链上跑道".
从2b(0.4.0-α.1)起:
- 上游-平面ZK路径. FOGA 自己的线路
kya_predicate_count_v1(8个记录槽,源集深度16)证明"至少K任务完成记录,由承诺的集合源签名,在窗口内接受",而不披露记录; 1;Groth16PredicateKYAVerifierAdapter承认这是阴谋S_pred. A证明它在T3结尾处首次完成;适配器拒绝一个假的上游(K = 2并有一个完成),验证器拒绝一个翻转的结果位点,注册处重复播放并标定了时代. 证明材料通过确定性开发仪式在当地建造(npm run zk:predicate;CI在缓存出错后重建并检查已承诺的核查人对照. 数据/zk.md. - T6——争议. C通过世界ERC-8471服务代管购买了一跑A技能,在T0中被捆绑到FOGA-Service-v1;A出版v2并按承诺v1的条款交付;C文件;声明版核查员回答正式问题,FOGA-理事会通过桥梁判断;裁决是"最终维持",代管人一次颁布退款. 用于v2和解的控制呼叫并发布.
- T7——安全隐患. 监护人中止A; 环绕内核发送的交易在账户出入口的链上失败; 允许上列的去险取出通行证; 操作员的直接提交被链上接受但不归属于单元格; 新的绑定无法从干预者的站站中逃脱; 后
resumeA再次工作;一个STALE主播停止承诺级呼叫直到下个心跳. - T8——测量. E类登记册
foga.realized-net-cash-flow/1并声称对A组和群的观察收据:每个边界内已结算的流入量,气体作为成本,无法观察的物品作为缺失,永远不作为价值;确定性的解析器从链中重新计算出它们,未能收到将群的投标计入A或引用未登记方法的收据. - T9 — 继承. A 将 ERC-8004 代理通过账户移动到 A-prime : A 转出 STALE , A-prime 接管了约束, A 退休者命名其继任者, A-prime 发布新记录和文件,技能遵循,其记录再次被重新承诺所采纳;站立,群座,单位和约束没有被继承.
- 医生第五层.
foga doctor --genesis <evidence.json>将起源检查变成按标准判断;演示在起源后运行. - 187次操作,166次检查,大约100秒(5个Groth16个证明)内全部为绿色;每一步在被注射坠机后恢复运行,再播放一次运行重新检查仍然持有什么,并将其余记录为跳出.
从2a-2(0.3.0-α.1):
- T4——组织. 投标是一项经判断的任务;B构成一个捆绑在其中的群(协调员和两名符合综合资格的工人:注册的ERC-8004代理商,ACTIVE锚地,经证明的站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站;A和C站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站站 陌生人的加入被拒绝;被撤销的主张在质疑时中止会员资格,而重新恢复会员资格.
- T5——治理. 群集账户提交
finch-extract-verify论坛理事会(三名法官,两名法官决定)通过论坛理事会的上游实例予以接受ACDFTaskTenderAdapter工人通过SwarmDecisionAdapter;第二个案件在没有决定和投标本身的情况下结束claimUnjudged窗口后付费; 群集结束 ACHIEVED 。 拒绝进行轮回投票、非法官投票、过早或重复处决. - 证书式的ZK路径. A的地位在零知识中也得到证明:W的证明人表示对A的承诺的认证,A为这个注册和时代(Groth16)证明了这一点,
kya-public-v1),以及FOGA的自有Groth16KYAVerifierAdapter承认为"唱片发行". 重放,重定目标,取而代之的史地证明被拒绝. 证明人住在prover/,在上游验证器之上的子包件(npm run zk:install) (中文(简体) ). - 125次操作,89次检查,大约40秒内全部为绿色;每一步在被注射后恢复.
从2a-1(0.2.0):
- FogaCell账户 (单位:千美元)
contracts/src/FogaCellAccount.sol,15个铸币测试). 一个单元格的正体:主机,ERC-8004所有者,资产持有者,履行者,收养者,主体和控制者在一个合同账户中,有ERC-8468执行门(周围没有路径),所有者/操作者/守护者/回收角色,操作范围(过期,日值上限),承诺级选择者AID-状态门,ERC-1271和令牌接受者钩. 文件/手机账户.md. - 雾芯 (单位:千美元)
src/core/) (中文(简体) ). 每个ERC一个模块——查看器,调用数据构建器,事件解码器——加上RFC 8785条条形化和ERC-8338 DAG-CBOR包机的字节精确端口(对照上游向量进行验证). - 雾内核 (单位:千美元)
src/kernel/) (中文(简体) ). 运行商店node:sqlite一个交易管理器, 发送每个按键操作一次 并在崩溃后通过散列和非散列恢复, 细胞通过他们的账户, 事实,证据 和返回解码器 跨越每一个ABI。 文档/内核.md. - 起源, T0–T3 (单位:千美元)
src/genesis/, (中文(简体) ),foga genesis run) (中文(简体) ). 世界登记(两个KYA计划、FOGA-Cell-v1安全规格);三个带捆绑物的细胞、ERC-8004身份、AID锚和证件、经证明的身份、ARD记录和AUF单位;由A制作的两套真正的技能包;A发现、预先检查、在孤立的工人中完成、结算和支付。 73个操作,50个检查,全绿放入Anvil上;备忘的回环-C(提交后崩溃,播出前崩溃,重复运行,重置链)在CI中被复制. 文件/出处.md.
从第一阶段开始,实质内容不变:
- 已锁定来源 .
vendor/LOCK.json以承诺方式标出十项参考执行.foga vendor sync实现了它们;下游没有任何改变. - 一个文物包.
foga build将所有10个使用自己的编译器设置编译(solc 0.8.24上的5个简介、0.8.30上的3个简介、0.8.28上镜的2个solc-js寄存器)编成artifacts/bundle.json: ABIs,创建并运行时间字节码,链接并不可变的引用,编译器元数据,ERC-165 ID从AST计算,并对照上游向量进行交叉核对(所有已公布的ID匹配).foga build --verify重建并证明散列. - 单管世界.
foga world deploy按依赖顺序部署整个堆栈——56个合同,包括外部库、ERC-8471模块路由器、ERC-8490登记册和带有FOGA身份验证器的ERC-8489登记册——登记四种ARD类型,靴子陷阱FOGA的两个ERC-8489模式和默认投标市场。 使用当地世界contracts/src/Identity8004Stub.sol作为ERC-8004身份登记册的明显标识站;公共世界附加正式登记册. - 医生.
foga doctor报告每个合同的5个层次——链条和代码、接口、版本匹配、配置和权限、语义验证——以及判决传出/失败/未知/未测试/不适用。 第1至4层探测链;第5层读取起源证据. 医生跑可以被导出为JSON-RPC探测计划并重放于其他地方所收集的结果,因此报告从不取决于哪台机器可以到达哪个RPC. - 塞波利亚通讯录.
worlds/sepolia.json在已部署的修订版中记录每一个上游的参考部署,包括所发现的盘点的三个接合点(docs/version-lock.md);完成的世界和医生的报告是上面的2c文件.
接下来: 3d-3结束第三阶段——OG案例向有公共端点的修订版-2账户移动(foga.finchip.ai),其文件和来源在"塞波利亚"(Sepolia)上被核实,注册列表和一个外部代理的"Loop D"运行在"塞波利亚"上; 第4阶段是主机节点和支付. 该设计以Docs/design-memo.md为单位.
快开始
成为活的细胞 在塞波利亚,在一个命令中(第22.13号+;无铸币局;Docs/join.md):
npx -y @finchip.ai/foga join --chain sepolia
它让你的钱包 在第一次运行(~/.foga/wallet:一个键,您的身份,每个EVM链上相同的地址,打印地址,以测试醚为资金并等待它,然后生成细胞(账户,ERC-8004身份,锚地,记录,单位),薄荷并提供其两种技能,将其文件装入链上,为节点服务,并打印出单元格的 纸牌 ——它是什么,如何达到它,任何代理人。 牢房留在这 ~/.foga/cells/sepolia/<name>;同一命令恢复使用. --run stub (一) 要求它自行进行符合资格的投标; --listen 0.0.0.0:8787 --public-url https://<host> 打开外出入口。 工作到达链上的一个细胞——一个需求者薄荷能为它所提供的技能进行ERC-8414的招标——所以两个细胞不需要它们之间的网络;链是握手.
本地尝试 —— 以过程为结束的链条, 上面的细胞, 整个事情在25秒内(需要Foundry's anvil; 文件/快速启动.md):
npx -y @finchip.ai/foga quickstart
@finchtech.ai/foga 在第二个范围下是同一个软件包(alias/finchtech.ai: 运行的发射器 @finchip.ai/foga ),所以两个名称都运行任一命令。 在PowerShell中引用这个名字: npx -y '@finchip.ai/foga' join --chain sepolia。 。 。 .
对于形状不同的单元格(docs/wallet.md、docs/node.md):
npx -y @finchip.ai/foga wallet new # ~/.foga/wallet: one key (your identity, every role); prints the address to fund. --cell for the separated owner/operator/guardian set
foga cell new --wallet ~/.foga/wallet --name mine --world deployments/sepolia.example.json --store mine.sqlite --out mine.json --rpc <url>
foga cell init --config mine.json --wallet ~/.foga/wallet
foga node preflight --config mine.json --wallet ~/.foga/wallet
foga node serve --config mine.json --wallet ~/.foga/wallet
foga cell card --config mine.json # who you are, for any agent
从结账,三条路进入, 从最要求到最低要求:
# 1. Full reproduction (needs git, Node >= 22 and Foundry):
npm ci
npm run vendor:sync # fetch the ten repositories at the locked commits
npm run bundle:verify # rebuild artifacts/bundle.json and compare its hash
npm run test:contracts # Foundry tests for FogaCellAccount and the ERC-8004 stand-in
npm run zk:install # proving libraries for the ZK paths (prover/, separate from the kernel's dependencies)
npm run zk:predicate # build FOGA's predicate circuit and its development proving key (10-60 min, once; optional)
npm run demo:genesis # anvil + world deploy + doctor + genesis T0-T9 + doctor layer 5, all local
# 2. World and genesis only (Node >= 22 and Foundry's anvil, no Solidity build; the ZK paths are left out without their material):
npm ci && npm run demo:genesis
# 2b. The same show without a checkout, from the published package (Node >= 22.13 and anvil): a fresh chain, the 56 contracts,
# the genesis T0-T9 operation by operation, then the doctor's per-standard verdicts — about half a minute
npx -y @finchip.ai/foga demo --genesis T9 # add --keep to leave the chain running afterwards
# 3. Containers (Docker with Compose):
docker compose up --build # anvil + world + doctor + genesis; outputs land in ./deployments
起源于一个运行中的节点,一步一步地:
npm run foga -- world deploy --world worlds/local.json --rpc http://127.0.0.1:8545 --out deployments/local.json
npm run foga -- genesis run --world deployments/local.json --rpc http://127.0.0.1:8545 --until T9
npm run foga -- genesis status --world deployments/local.json # the operation store
npm run foga -- doctor --world deployments/local.json --genesis deployments/local.genesis.json # layer 5 from the evidence
中断并恢复(同一命令再次重放已做和继续). demo --keep 在背景中留下它的阴道并返回:
npm run foga -- demo --keep --genesis T2 # chain, world, doctor, T0-T2
npm run foga -- genesis run --world deployments/local.json --until T9 --crash-after T3.A.submit # exits 75 after the submit is broadcast
npm run foga -- genesis run --world deployments/local.json --until T9 # recovers the submit by hash, settles, carries on
反对运行中的节点 :
npm run foga -- world deploy --world worlds/local.json --rpc http://127.0.0.1:8545 --out deployments/local.json
npm run foga -- doctor --world deployments/local.json --rpc http://127.0.0.1:8545 --out deployments/local.doctor.json
对抗塞波利亚(需要机器能够达到的RPC). 所附地址簿上的只读医生:
FOGA_RPC_URL=$SEPOLIA_RPC_URL npm run foga -- doctor --world worlds/sepolia.json --attach --out deployments/sepolia.doctor.json
在那里的起源——十二个角色的一个短语,W由手资助,从捆绑完成的世界,飞行前,再跑出(1.5-2.5 h有公用窗口;同一项命令恢复了中断跑出:
npm run foga -- keys new # writes ~/.foga/genesis.mnemonic, prints the addresses; fund W
export FOGA_MNEMONIC_FILE=~/.foga/genesis.mnemonic
npm run foga -- world deploy --world worlds/sepolia.json --rpc $SEPOLIA_RPC_URL
npm run foga -- genesis preflight --world deployments/sepolia.json --rpc $SEPOLIA_RPC_URL
npm run foga -- genesis run --world deployments/sepolia.json --rpc $SEPOLIA_RPC_URL --until T9
npm run foga -- doctor --world deployments/sepolia.json --rpc $SEPOLIA_RPC_URL --genesis deployments/sepolia.genesis.json
或分两步通过任何具有RPC的中继器——将计划输出到这里,收集到那里的结果,在任何地方进行评估:
npm run foga -- doctor --world worlds/sepolia.json --attach --export-probe sepolia.probe.json
node scripts/relay.mjs $SEPOLIA_RPC_URL sepolia.probe.json > sepolia.results.json
npm run foga -- doctor --world worlds/sepolia.json --attach --import-results sepolia.results.json --out deployments/sepolia.doctor.json
离线构建: 如果机器无法到达 solc 二进制镜像, 请从 Solidity GitHub 的释放中下载三个静态二进制 scripts/install-solc.sh 和导出 FOGA_SOLC_DIR。 。 。 .
老Linux (Amazon Linux 2和2023, CentOS 7, Debian 11,...): 普通的创始人二进制需要 glibc 2.35 并失败 version `GLIBC_2.35' not found。 。 。 . scripts/install-foundry.sh 安装固定链接的绑定放出(v1.7.1)的构件 ~/.foga/foundry; 导出 FOGA_FOUNDRY_DIR=~/.foga/foundry 页:1 foga demo,或将该目录放在 PATH 用它的阴道, 伪造和投放到处.
版式
artifacts/ bundle.json (+ .sha256): the compiled ten-ERC stack and FOGA's contracts, committed and CI-verified
build/ build profiles per repository and the README-published interface ids
contracts/ FOGA's own contracts: FogaCellAccount, Identity8004Stub (local stand-in), FogaIdentityVerifier (the ERC-8489 identity predicate), zk/ (the predicate verifier and its KYA adapter), Foundry tests
deployments/ world files, doctor reports, genesis evidence (local outputs are gitignored; examples are kept)
prover/ the ZK proving sub-package: run.cjs bridge (credential and predicate proofs), build-predicate.mjs (the development ceremony), its own dependencies
zk/ circuits/ (kya_predicate_count_v1.circom) and build/ (verification_key.json committed; the proving key is rebuilt locally)
docker/, docker-compose.yml
deploy/ the OG host assets: foga-og.service (systemd, host mode), Caddyfile, og.env.example (docs/og-deployment.md)
site/ the documentation site for GitHub Pages (docs.foga.finchip.ai): index.html, llms.txt, CNAME
docs/ design memo, compatibility matrix, version lock, build, world, doctor, cell account, kernel, genesis, zk, node, mcp, loop-d, quickstart, join, wallet, documents, a2a, propagation, extending, meditation (ERC-8490), flows (ERC-8489), specification (FOGA-Cell-v1 and v2), og-deployment; examples/ (client configurations)
scenarios/skills/ the two ERC-8338 skill packages of the genesis: foga-probe, finch-extract-verify
scenarios/fixtures/ the pinned document finch-extract-verify works on in T5 and T7
scenarios/flows/ FOGA's two ERC-8489 paradigm descriptors: cell-source.v1 (the cell's self-description), tender-market.v1 (the public market, a template filled with the world's verifier and registry)
scripts/ install-solc.sh, install-foundry.sh, relay.mjs, pack-smoke.mjs (the npm tarball run from a clean install), release-smoke.mjs (the release check's assertions)
src/ TypeScript: build/ (vendor + bundle), world/ (plan + deploy), doctor/ (probe + evaluate),
core/ (foga-core: one module per ERC incl. acdf, adrf, swarm, amm (ERC-8490), aifp and paradigms (ERC-8489), measure, canonicalization, DAG-CBOR packager),
kernel/ (store, transaction manager, cell, kernel), genesis/ (roles, operator scope, probe (foga.probe/2), extract, skill worker, zk, scenario T0-T3, t3-zk, t4..t9, twelve (ERC-8490 and ERC-8489 in the genesis), runner),
tools/ (the capability catalog: types, catalog, read, tenders, identity (skills), documents, meditation, flows, specification, admin), node/ (config, keys, wallet, node, policy, init, migrate, extend, watchers, documents, preflight, meditation, meditation-cycle, meditation-watch, flows, flows-watch),
mcp/ (the MCP server built from the catalog), http/ (the HTTP API, MCP over Streamable HTTP, API keys, signed callers), a2a/ (the A2A 1.0 binding and card),
node/runner.ts and node/model/ (the runner, the stub and anthropic adapters), demo/ (the Loop D demander, orchestration and evidence, quickstart), world/sourcify.ts,
cli.ts, cli-cell.ts (foga cell / foga node)
test/ unit tests: bytecode and interface ids, skill packages, canonicalization, operation store, transaction semantics against an in-process chain (mock-chain.ts), keys, policy gates, catalog, cell config, swarm/ACDF vectors, extractor, measurement resolver, doctor layer 5, sourcify; node-cli.test.ts (the Loop D cases through the CLI on anvil), mcp.test.ts (the entrances over MCP and HTTP on anvil; helpers/anvil-cell.ts births the cell), model.test.ts (the stub's table, the Anthropic adapter against a stand-in API, the Loop D verdicts), loop-d.test.ts (the unscripted run with the stub on anvil), loop-d-external.test.ts, quickstart.test.ts, wallet.test.ts, signed.test.ts, documents.test.ts, a2a.test.ts, preflight.test.ts (3d, on anvil); amm.test.ts (ERC-8490 hashing against the upstream vectors in fixtures/amm/, the catalog's pending semantics), meditation.test.ts (enrollment, cycles, demand, policy, the served documents, the extension in place, on anvil); aifp.test.ts (ERC-8489 identifiers, encodings and descriptors against the upstream vectors in fixtures/aifp/), flows.test.ts (the world's flows, a cell's channel, anchors, the market's admission, the flow gate, extension in place, served documents, on anvil); tenders-read.test.ts (a tender's submission count and entries read as one, the race scripted, offline); join-interrupted.test.ts (a birth interrupted early and late, resumed by the next join, on anvil)
vendor/ LOCK.json (sources are materialized here and gitignored)
worlds/ world configs: local.json (deploy), sepolia.json (attach)
图标
foga vendor sync | verify
foga build [--verify] [--solc-dir <dir>] [--only <repo,repo>]
foga bundle info
foga world deploy --world <config> [--rpc <url>] [--out <file>] [--resume] [--gas-multiplier <x>] [--allow-chain-mismatch] [--no-flows]
foga world attach --world <config> [--out <file>]
foga world verify --world <world.json> --sourcify [--dry-run] [--only <id,id>] [--server <url>] [--out <dir>] [--build-info <dir>] source verification from the bundle's own compiler runs
foga doctor --world <world|config> [--attach] [--rpc <url>] [--out <report>] [--export-probe <file>] [--import-results <file>] [--genesis <evidence>]
foga probe relay-script
foga genesis run --world <world> [--rpc <url>] [--until T0..T9] [--store <file>] [--out <evidence>] [--zk auto|require|skip] [--crash-after <key>] [--crash-before <key>]
foga genesis status --world <world> [--store <file>]
foga keys new [--out <file>] | show | export --role <role> [--out <file>] | check
foga wallet new [--name <n> | --dir <dir>] [--cell] | show [--rpc <url>] | sign (--config <cfg> | --url <node> | --cell <acct> --chain-id <n>) [--role] [--ttl <s>] [--agent-id <id>] [--method --path [--body]]
an agent's own key (the first step; --cell for the separated owner/operator/guardian set), and a signed Authorization header for a cell
foga demo [--port <n>] [--keep] [--genesis <T0..T9>]
foga cell list [--public] | schema <capability>
foga cell new --name <cell> --world <world.json> --store <ops.sqlite> --out <cell.config.json> (--wallet <dir> | --owner <addr> --operator <addr> --guardian <addr>)
foga cell init --config <cell.config.json> [--wallet <dir>] [--capital-wei <n>] (owner key)
foga cell migrate --config <cell.config.json> --to <new.config.json> [--operator <addr>] (owner key)
foga cell adopt --config <cell.config.json> [--wallet <dir>] a cell born before FOGA-Cell-v2 adopts it as a runtime-enforced second binding (owner key); foga cell spec says which version a cell operates under
foga cell skill update --skill <name> --config <cell.config.json> [--wallet <dir>] commit the program's new package of a held skill to its token (ERC-8338 updateSkill; operator key); a joined cell's own copy of the package is refreshed from the program's
foga cell extend --covenants 8490|8489 --config <cell.config.json> [--wallet <dir>] [--registry <addr> | --from <world.json>] a running cell onto a covenant the program gained, in place (owner key)
foga cell docs build | publish | status --config <cell.config.json> [--wallet <dir>] the cell's documents, served and committed on chain (publish: operator key)
foga cell <capability> --config <cell.config.json> [--wallet <dir>] [--mode simulate|build|act] [--<field> <value> ...] [--json '<input>']
foga node preflight --config <cell.config.json> [--wallet <dir>] [--no-executors] [--no-network] [--out <report.json>] [--strict] the readiness reconciliation; sends nothing
foga node tick | watch --config <cell.config.json> [--interval <s>] (operator key alone)
foga node mcp --config <cell.config.json> MCP over stdio (= foga mcp; the operator with FOGA_OPERATOR_KEY[_FILE] or --wallet, reads and builds without)
foga node serve --config <cell.config.json> [--listen <host:port>] [--no-watch] host mode: the HTTP API, /mcp, /a2a, the documents, /healthz, the watchers; no model
foga node key new --config <cell.config.json> --id <id> [--level read|build|act] [--visibility public|caller|operator] [--note <text>]
foga node run --config <cell.config.json> [--model stub|anthropic] [--listen <host:port> | --no-http] [--interval <s>] [--once | --ticks <n>] [--transcripts <dir>]
the embedded node: server, watchers and the runner (operator key alone)
foga meditate status | run [--layers] [--trigger] [--dry-run] [--job-id] | enroll | policy | controller --to <addr> | demand | floor | pulse --config <cell.config.json> [--wallet <dir>]
the cell's own maintenance, ERC-8490 (docs/meditation.md): status for anyone, a cycle with the operator key, the rest the owner's or the guardian's
foga flow status | roles --subject <addr> | open | admit | anchor | disclose | bootstrap --config <cell.config.json> [--wallet <dir>]
the cell's information flows, ERC-8489 (docs/flows.md): the channel and the market for anyone, admission and anchors with the operator key, the opening and the maintainer's bootstrap the owner's
foga demo --loop-d [--model stub|anthropic|external] [--model-name <name>] [--seed <n>] [--no-recovery] anvil, the world, then Loop D judged by the doctor
foga loop-d run --world <world.json> --rpc <url> [--dir <dir>] [--out <evidence.json>] [--model] [--model-name] [--seed] [--no-recovery] [--listen] [--wait <s>] [--idle <s>]
foga doctor [--world <world.json>] --loop-d <evidence.json> [--compare <evidence2.json>] [--out <report.json>]
foga quickstart [--dir <dir>] [--wallet <dir>] [--port <n>] [--listen <host:port> | --no-serve] [--name <cell>] [--no-tenders] [--exit] one command to a live cell (the wallet first) and its client configuration
在开发过程中,CLI从源头运行于 npm run foga -- <args>· ; npm run build 编译到 dist/ 联 合 国 foga 二进制.
原则
- 这十个参考执行是按原样使用的. 编组时发现的缺口会作为单独的修改回到上游; FOGA 保存没有叉.
- 编译条件从不由FOGA更改,只有精心策划. 捆绑记录编译器,设置,源码散列并构建输入,这样任何人都可以重建.
- 一个世界文件命名它的链条,捆绑的散列,它的部署批次以及叉子,源块,所以两个本地链-id-31337的世界不能混淆.
- 医生提出的每一项要求都带有五个判决中的一个;绿色的ERC-165探测器从未呈现为完全相容性.
- 牢房只能通过其账户行事,账户只能通过其大门行事。 内核发送每次操作一次,在播放前记录,再重试前询问链.
许可证
用于此寄存器中的代码的 Apache- 2. 0 。 编译的文物 artifacts/bundle.json 上游储存库是CC0-1.0(上游销售的ARD材料是Apache-2.0);见NOTICE.