开发与构建
仓库结构
核心目录建议按下面理解:
cmd/clawgo: CLI 与程序入口pkg: 核心业务实现webui: React 控制台workspace: 初始化时复制给用户的默认工作区模版docs: 主仓库自带的说明资源
Go 构建
常用命令:
bash
make build
make build-all
make build-linux-slim
make test默认构建会把版本与构建时间写入二进制:
main.versionmain.buildTime
WebUI 构建
bash
make build-webuiMakefile 会:
- 在
webui/下安装依赖 - 执行前端 build
- 生成
webui/dist
嵌入式资源同步
ClawGo 发布时依赖 Go embed 打包 workspace 模版与 WebUI 静态资源。
相关目标:
bash
make sync-embed-workspace
make sync-embed-workspace-base
make sync-embed-webui
make cleanup-embed-workspace同步目标目录是:
text
cmd/clawgo/workspace开发模式
bash
make devMakefile 中默认开发参数会偏向:
- 使用本地
config.json或~/.clawgo/config.json - 启动
gateway run - 使用工作区和本地 WebUI 目录
发布打包
bash
make package-all会生成:
- 各平台二进制压缩包
webui.tar.gzchecksums.txt
install.sh 的发布约定
安装脚本默认从 GitHub Release 拉取:
clawgo-<os>-<arch>.tar.gzwebui.tar.gz
因此 release 发布时,二进制和 WebUI 产物必须同时上传。
测试
仓库中已有较多测试,主要覆盖:
- config 校验
- channels 去重
- provider/tool call 协议
- session planner
- subagent 配置与路由
- task watchdog
- shell timeout
- memory namespace
建议最少执行:
bash
go test ./...文档维护建议
如果后续你继续演进项目,建议文档优先跟着这些变更同步:
config.go的 schema 变化cmd/clawgo新增命令pkg/api/server.go新增 APIpkg/tools新增内置工具webui/src/pages新增页面