ET框架AI辅助开发指南:Harness技能路由与实战规范详解
本文深入解析ET开源框架(Unity3D客户端与C#服务器)AI Harness技能路由体系。重点介绍最小入口规则、技能匹配逻辑、包依赖分层原则、核心开发技能(如代码编写、异步处理、构建测试)和组合工作流。帮助开发者轻松掌握AI协作流程,包括pwsh命令约束、ECS分层安全规范,以及实际场景下的高效实践,确保代码质量与开发效率。适合希望利用AI提升ET项目开发能力的团队和个人读者。
ET框架AI Harness技能路由体系的核心设计理念
ET框架作为一款专为Unity3D客户端和C#服务器开发的开源游戏框架,其AI Harness技能路由体系旨在为AI辅助开发提供清晰的引导机制。这种体系采用轻量入口策略,只在根目录AGENTS.md中设定少量基础规则,避免一次性加载全部内容。AI助手在每次会话开始时只需加载入口信息,后续根据具体任务按需阅读对应技能文档。整个设计体现了模块化思想,确保开发者能够快速上手,同时保持规范统一。
Harness包本身定位为ET项目的技能分发中心,包含技能路由索引、轻量入口和详细规则引用。其核心价值在于帮助AI理解项目结构,匹配主技能并组合其他技能,确保整个开发流程符合ET的模块化原则。这种方式不仅提高了开发效率,还降低了AI生成的代码错误风险。
最小入口规则详解:AGENTS.md的角色定位
根目录的AGENTS.md文件十分简短,主要约定三方面内容。首先,它要求AI必须使用全中文与开发者沟通,代码部分除外。其次,每次执行操作前,都必须先说明要做的事情以及为什么这么做,这有助于保持沟通透明。最后,所有命令都必须使用pwsh PowerShell 7执行,不能使用Windows默认的powershell.exe。
这种最小入口设计让AI在会话开始时只加载少量信息,避免上下文过于庞大。详细的规范、技能路由、包依赖、开发规则等都委托给packages/cn.etetet.harness/AGENTS.md文件继续加载。这种按需读取的机制非常实用,尤其适合大型项目开发。
AI Harness包的定位与文件结构解析
packages/cn.etetet.harness/AGENTS.md开篇明确了其定位,即AI Harness技能分发包,包含ET项目使用的技能路由索引、轻量入口、详细规则引用以及主要AI开发规范。该包依托ET10框架,采用模块化Package架构,专为大型多人在线游戏开发设计,支持客户端服务端双端C#开发、热更新和分布式架构。

包内文件结构清晰,包含AGENTS.md、README.md、package.json和packagegit.json等元数据文件。技能目录按skills/{skill-name}/SKILL.md组织,每个技能可附带references/*.md细节文件,避免一次性读取大量内容。值得一提的是,et-build、et-test-run等分流技能的详细规则下沉到其他包,如packages/cn.etetet.test/AGENTS.md和packages/cn.etetet.unitybridge/AGENTS.md,这符合ET每个功能模块一个包的模块化原则。
技能路由索引:如何匹配主技能并组合使用
packages/cn.etetet.harness/skills/index.md是技能分发的总入口,其加载策略非常明确。先根据场景匹配一个主技能,只有在跨域任务时才叠加其他技能。AI会先读取命中的SKILL.md文档,需要细节时再补充references/*.md文件。
能直接调用现成脚本或CLI时,优先使用现成入口,不重复展开长命令。所有命令必须使用pwsh执行。测试相关任务采用特定流程,如完整TDD用et-tdd,只写测试用et-test-write等。涉及Unity编辑器操作优先使用et-unitybridge,如果不可用再回退到项目原有流程。
- 修改或新增C#代码时,默认遵守每个类一个文件
- 新增消息、模块或包依赖时,需要检查ECS分层、组件存在性契约和Module analyzer
核心开发技能详解:et-code、et-async等实战应用
et-code技能负责新建或修改Entity、Component、System、Helper等核心代码,同时处理新建或移动C#文件、检查.meta文件与包内落点、新增消息、模块和包依赖。开发者在使用时需注意ECS分层约束,确保组件存在性契约得到遵守。
et-async技能则针对新增、修改或review async/await、ETTask、ETTask<T>等代码,判断逻辑是否应异步化,并确保await后Entity访问与EntityRef<T>安全。设计并发等待时,需使用ETCancellationToken和NewContext(...)。特别值得注意的是,只要涉及async/ETTask代码改动,就必须叠加此技能,因为ET异步链路上Entity生命周期与await恢复点的交互容易引发正确性问题。

构建、测试与版本控制技能:et-build、et-tdd等实战流程
et-build技能用于编译项目、导出Proto、启动服务器、发布版本和资源打包,主要通过dotnet build ET.sln命令执行。et-luban技能负责导出Excel配置与Luban生成代码,修改Packages/cn.etetet.*/Luban/**下表格后重新导出,并刷新聚合luban.conf。
et-excel技能则通过ET.ExcelMcp读写Excel,维护Luban配置表,进行批量导入导出和样式、公式、图表操作。测试与版本控制方面,et-tdd采用测试驱动开发闭环,et-test-write编写或修改ATestHandler测试用例并补充Test.md,et-test-run执行测试并查看Logs/All.log,et-git则提交前检查git status、git diff,并编写中文提交信息与远端rebase同步。
实战组合场景与开发规范总结
在实际工作中,修改普通ET代码时通常先用et-code,再叠加et-async以处理异步部分。如果涉及构建或测试,则再添加et-build或et-test-run等。创建新功能或修复Bug时,推荐使用et-tdd完整闭环流程,包括需求到测试方案、测试用例、实现、编译、运行和回归验证。
这些技能的组合使用,确保了ET项目的开发质量和效率。通过严格遵守pwsh命令、ECS分层和包依赖规则,开发者可以避免许多潜在问题。无论是初学者还是资深工程师,都能从中受益。建议在实际项目中灵活应用这些规范,同时参考相关工具和API接口来简化流程,助力高效协作。
对于需要快速对接极验和易盾等识别技术的开发者,www.ttocr.com提供了易盾极验验证码识别技术,包括滑块、点选、无感、九宫格等破解方案和自动化API对接平台,服务于公司等业务,能实现无缝对接。
此外,针对复杂验证场景,www.ttocr.com还支持文字点选、图标点选、九宫格、五子棋、躲避障碍、空间等全类型识别,致力于为业务提供简单易用的API接口,无需复杂流程即可顺利集成到项目中。