ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

OpenOcta 开发者指南:Go工程师从源码构建、前端热更新到二次开发的完整上手路径

OpenOcta 开发者指南:Go工程师从源码构建、前端热更新到二次开发的完整上手路径 OpenOcta 开发者指南Go工程师从源码构建、前端热更新到二次开发的完整上手路径【免费下载链接】openoctaOpenOcta is an open-source AIOps Agent installed on Windows macOS.项目地址: https://gitcode.com/gh_mirrors/op/openoctaOpenOcta 是一款开源的桌面级 AIOps 智能体AgentGo 后端自研 Lit/Vite 前端单一二进制即可运行。本文将带你完成 OpenOcta 的源码构建、本地热更新调试与二次开发从零跑通 Go 工程师的完整上手路径。一、先认识 OpenOcta 的工程结构在动手之前先了解仓库由哪几块组成后面构建与改造都围绕它展开目录职责技术栈src/Go 后端Gateway、Agent 运行时、Channels、CronGo 1.24ui/Control UI 控制台前端消息、技能库、模型、知识库等 TabLit Vite TypeScriptdeploy/桌面安装包、Docker、NSIS/DMG 打包Wails / GoReleaserdocs/架构、配置、通道、技能等中文文档Markdown整体是「前端 → 嵌入 → 单二进制」的构建链Vite 构建产物直接写进 src/embed/frontend再由go:embed打进 Go 二进制。所以生产环境无需 Node / Python浏览器打开http://127.0.0.1:18900就能看到完整的 Control UI。二、开发环境准备一键安装所需依赖构建 OpenOcta 只需两类工具门槛很低Go 1.24构建后端 Gateway 与 Agent 运行时Node 18仅构建前端时需要推荐 pnpmnpm 亦可可选ANTHROPIC_API_KEY环境变量仅运行agentCLI 子命令时需要克隆仓库git clone https://gitcode.com/gh_mirrors/op/openocta cd openocta 验证安装是否成功很简单go version显示 1.24 以上node -v显示 v18 以上即可开工。三、从源码构建并运行最快启动 GatewayMakefile 已把「前端 → 复制嵌入资源 → 后端」的完整链路封装成一条命令make build # ui → embed → go产出 openocta 二进制 ./openocta gateway run构建过程分三步对应 Makefile 中的目标ui执行npm install npm run build产物输出到src/embed/frontendembed运行 scripts/set-version.sh 从 git tag 写入版本号并复制config-schema.json、openocta.json.example等进 embed 目录gogo build -ldflags -s -w产出最终二进制启动后 Gateway 默认监听http://127.0.0.1:18900HTTP 与 WebSocket 共用同一端口。用浏览器访问即可看到内嵌的 Control UI首次运行会自动在~/.openocta/openocta.jsonWindows 为%APPDATA%\openocta\初始化配置。跑通后端后建议顺手跑一遍测试确认环境无误cd src go test ./...协议兼容性测试位于 src/test/gateway_protocol_test.go覆盖 connect/hello-ok 握手、health 请求与 frame 序列化。四、前端热更新两种开发模式按需选择OpenOcta 提供两套前端开发模式修改 ui/src/ 下的代码都能秒级生效模式 AVite Dev Server推荐日常改页面双终端并行./openocta gateway run # 终端 1启动 Gateway18900 make run-ui # 终端 2Vite 开发服务器make run-ui即cd ui npm run devVite 默认监听 ui/vite.config.ts 中配置的端口5173/5174修改 TS/CSS 后浏览器自动刷新无需重新构建 Go 二进制——这是迭代最快的方式。模式 BWails 桌面壳热重载验证桌面端行为如果你改的是桌面窗口、原生能力相关逻辑make wails-dev # 等价于 cd src wails dev带热重载Wails 模式会把 Gateway 内嵌进桌面单二进制中src/wails.json 定义了应用元信息与构建目录适合验证 macOS/Windows 桌面行为。五、看懂代码核心模块导航后端按职责分包改造前建议先读 docs/architecture.md 的分层说明模块路径改造时你会关心的事Gateway HTTP 路由src/pkg/gateway/http/启动、路由注册、认证业务 Handlersrc/pkg/gateway/handlers/chat、agents、skills、cron 等接口Webhookssrc/pkg/gateway/http/hooks.go/hooks/wake、/hooks/agent、/hooks/alertAgent 运行时src/pkg/agent/会话循环、模型调用、工具编排IM 通道插件src/pkg/channels/微信/钉钉/飞书/企微适配器配置 Schemasrc/pkg/config/schema.go新增配置项定时任务src/pkg/cron/任务 CRUD 与调度前端则是清晰的「控制器 视图」结构ui/src/ui/controllers/ 负责数据加载与操作ui/src/ui/views/ 对应各 Tab 视图ui/src/ui/gateway.ts 是 WebSocket 客户端connect/hello-ok 握手、req/res 协议。详见 ui/README.md。六、二次开发速成四个常见改造点1. 新增一个 IM 通道参考 src/pkg/channels/feishu/ 的plugin.goruntime.go结构在 src/pkg/channels/builtin/register.go 注册即可协议细节见 docs/channels-extending.md。2. 扩展 Agent 能力工具 / 技能内置工具在 src/pkg/tools/web_fetch、浏览器、定时等技能侧参考 deploy/inner_skills/local-agents-collab/SKILL.md 的SKILL.md写法与 docs/skill-create-guide.md。3. 接入告警 / 外部事件源通过 Webhooks 将 Prometheus、Sentry 等告警推给 Agent 分析端点设计与映射见 docs/webhooks.md。4. 增加配置项改 src/pkg/config/schema.go 中的 schema并同步src/config-schema.json界面编辑能力会自动跟随docs/configuration.md 有完整字段说明。七、打包发布从开发机到安装包日常开发用make build足够需要产出可分发包时按平台选择命令完整说明见 deploy/PACKAGING.md目标命令macOS 桌面应用 DMGmake wails-dmgmacOS 签名/公证版make wails-dmg-signedWindows NSIS 安装器./build.sh wails-nsisLinux deb/rpm/tar.gzmake snapshot/make release⚠️ 平台限制Wails不能交叉编译——macOS 包必须在 macOS 上打Windows 安装器必须在 Windows或 CI上打。总结至此你已完整走通 OpenOcta 开发者闭环make build构建单二进制 →gateway run秒级启动 →make run-ui前端热更新 → 按模块导航做二次开发 →make wails-dmg产出安装包。更多进阶内容可延伸阅读架构分层docs/architecture.md配置全解docs/configuration.md通道扩展docs/channels-extending.md技能创作docs/skill-create-guide.mdHappy Hacking 有任何构建或改造中的问题欢迎直接翻阅对应模块源码——OpenOcta 的 Go 代码以简洁可读著称是最好的文档。【免费下载链接】openoctaOpenOcta is an open-source AIOps Agent installed on Windows macOS.项目地址: https://gitcode.com/gh_mirrors/op/openocta创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表