现状
apecloud/goose 目前仍是上游 Goose 的原始形态。仓库里已经有 CUSTOM_DISTROS.md,上游明确支持下游发行版在几个低风险位置做定制:文案、Logo、默认配置、界面隐藏、打包分发。结合现有代码检查,第一版 ApeCloud 发行版可以沿着这个边界推进,尽量保留后续跟随上游的能力。
已确认的主要代码位置:
- 产品名和应用元数据:
ui/desktop/package.json、ui/desktop/src/main.ts、ui/desktop/forge.config.ts、ui/desktop/electron-forge.config.ts
- 桌面端图标和加载图:
ui/desktop/src/images/
- 桌面端内置扩展列表:
ui/desktop/src/built-in-extensions.json
- 平台内置扩展默认启用状态:
crates/goose/src/agents/platform_extensions/mod.rs
- 高风险本地工具定义:
crates/goose/src/agents/platform_extensions/developer/mod.rs
- 默认配置和配置叠加:
crates/goose/src/config/base.rs、crates/goose/src/config/extensions.rs
- MCP 配置类型:
crates/goose/src/agents/extension.rs
- 系统提示词文本:
crates/goose/src/prompts/system.md
- CLI 体积相关特性:
crates/goose-cli/Cargo.toml、crates/goose/Cargo.toml
- 打包和产物命名:
.github/workflows/release.yml、.github/workflows/publish-docker.yml、Dockerfile
现有可复用素材:
- PoC 可先用
apecloud/aperag-enterprise/web/public/logo.png 做图标验证。
- PoC 可先用
apecloud/aperag-enterprise/web/public/logo_light_en_US.png、logo_dark_en_US.png 做横向标识验证。
- 同仓还有
docs/ppt/assets/logos/apecloud.png,但也是光栅图。
- 目前没找到 ApeCloud 的 SVG 矢量源。正式发布需要补齐 ApeCloud 标识 SVG、macOS
.icns、Windows .ico 多尺寸源文件。
现象
现在如果直接对外使用 fork,用户仍会看到上游 Goose 身份:应用名、菜单、图标、README、加载图、协议名、错误弹窗和部分提示词文本都还带 Goose / AAIF 痕迹。默认扩展也偏向上游完整能力,开发者工具默认启用,包含写文件、改文件和执行命令,作为 ApeCloud 默认发行版风险偏高。
同时,ApeMind MCP 应作为默认或预置集成出现,但这个 fork 的产品身份应是 ApeCloud 品牌的本地代理项目,不能把项目名、文案和配置都写死成 ApeMind 唯一场景。
影响
- 品牌不一致:用户会把 ApeCloud 发行版误认为上游官方 Goose,或者看不出 ApeCloud 产品身份。
- 默认能力过宽:首次启动就暴露本地写文件、改文件、执行命令等高风险工具,不适合作为安全默认值。
- 配置入口不清:ApeCloud / ApeMind MCP 可以通过上游
streamable_http 扩展接入,但需要准备清晰的默认配置模板和环境变量说明。
- 后续维护风险:如果直接改核心循环、工具执行或提供商接入,后续同步上游会变难。
期望结果
准备一组可以落地的改动清单,后续按清单开 PR。建议分成 5 组,全部保持在浅层 fork 边界内。
1. 品牌和文案
- 把用户可见的应用名从 Goose 调整为 ApeCloud 发行版名称。具体名称待产品确认,临时建议用
ApeCloud Agent 或 ApeCloud Local Agent。
- 修改
README.md、桌面端关于页、菜单、错误弹窗、窗口标题、加载页等用户可见文案。
- 保留上游 license、copyright、notice,不暗示这是上游官方 Goose。
- 系统提示词只做产品称呼层面的文字替换,不改提示词装配机制。
建议检查文件:
README.md
CUSTOM_DISTROS.md
ui/desktop/package.json
ui/desktop/src/main.ts
ui/desktop/src/**
crates/goose/src/prompts/system.md
2. Logo 和视觉资产
- 替换桌面端图标、托盘图标、加载图、README 头图、favicon。
- PoC 阶段先使用 ApeRAG 企业版仓库里的 ApeCloud PNG 素材。
- 正式发布前由 @earayu2 或设计侧提供 SVG 矢量源、
.icns、.ico 多分辨率源文件。
建议检查文件:
ui/desktop/src/images/
ui/desktop/src/components/**
README.md
- 打包配置里的 icon 路径
3. 默认配置
- 预置 ApeCloud / ApeMind MCP 作为默认或可选集成,使用上游已有
streamable_http 配置,不改 MCP 运行时。
- MCP URL、鉴权 token 使用环境变量或用户配置注入,不把生产地址和密钥写死。
- 默认模型、默认提供商通过现有配置层设置,优先用系统配置或额外配置文件,不改提供商内部逻辑。
- 默认关闭遥测、OTel、AWS provider 等非必要能力,CLI PoC 构建建议继续用
--no-default-features --features rustls-tls。
建议检查文件:
crates/goose/src/config/base.rs
crates/goose/src/config/extensions.rs
crates/goose/src/agents/extension.rs
crates/goose-cli/Cargo.toml
crates/goose/Cargo.toml
CUSTOM_DISTROS.md
4. 界面隐藏和安全默认值
- 默认隐藏或关闭不需要的 provider、扩展入口、更新入口、外部链接入口。
- 默认关闭高风险本地工具,尤其是写文件、改文件、执行命令;需要用户显式打开。
- 优先用配置、默认值和界面隐藏实现,不删除上游扩展代码。
- 如果需要保留只读能力,可优先保留查看目录、读取文件、MCP 查询类工具。
建议检查文件:
ui/desktop/src/built-in-extensions.json
crates/goose/src/agents/platform_extensions/mod.rs
crates/goose/src/agents/platform_extensions/developer/mod.rs
ui/desktop/src/**
5. 打包和分发
这部分由生产化交付侧继续细化,当前先列入同一清单:
- CLI 二进制名和下载脚本命名。
- Cargo release profile、strip、LTO、feature 组合。
- GitHub release 产物名。
- Docker 镜像名:
ghcr.io/apecloud/goose 或产品最终名称对应路径。
download_cli.sh 下载地址。
- Homebrew / npm / 桌面端安装包名称,等待产品最终显示名再定稿。
release.yml 中需要签名或外部发布账号的任务先跳过,Docker 官方流程慢属于上游特征,可按 3-4 小时预期记录。
建议检查文件:
.github/workflows/release.yml
.github/workflows/publish-docker.yml
Dockerfile
ui/desktop/package.json
ui/desktop/forge.config.ts
ui/desktop/electron-forge.config.ts
验收建议:
- 启动桌面端后,主要用户路径不再出现不该出现的 Goose 产品身份。
- README 和安装说明清楚说明这是 ApeCloud 发行版,同时保留上游来源和许可证。
- 默认配置能连接 ApeCloud 预置 MCP,ApeMind 是默认或可选集成,不作为产品唯一身份。
- 首次启动高风险本地工具处于关闭或隐藏状态。
- PR 差异只落在文案、Logo、默认配置、界面隐藏、打包分发五类;如果必须越界,单独开议题说明原因并等待确认。
不解决什么
- 不重写 Goose 核心代理循环。
- 不改工具执行、权限路由、MCP 运行时内部机制。
- 不新增模型提供商内部实现。
- 不把项目强绑定为 ApeMind 专用客户端。
- 不在本议题里解决正式签名、NPM 发布账号、Homebrew tap 等发布账号问题。
- 不在本议题里决定最终产品名;可以先用临时名推进 PoC,正式名确认后统一替换。
现状
apecloud/goose目前仍是上游 Goose 的原始形态。仓库里已经有CUSTOM_DISTROS.md,上游明确支持下游发行版在几个低风险位置做定制:文案、Logo、默认配置、界面隐藏、打包分发。结合现有代码检查,第一版 ApeCloud 发行版可以沿着这个边界推进,尽量保留后续跟随上游的能力。已确认的主要代码位置:
ui/desktop/package.json、ui/desktop/src/main.ts、ui/desktop/forge.config.ts、ui/desktop/electron-forge.config.tsui/desktop/src/images/ui/desktop/src/built-in-extensions.jsoncrates/goose/src/agents/platform_extensions/mod.rscrates/goose/src/agents/platform_extensions/developer/mod.rscrates/goose/src/config/base.rs、crates/goose/src/config/extensions.rscrates/goose/src/agents/extension.rscrates/goose/src/prompts/system.mdcrates/goose-cli/Cargo.toml、crates/goose/Cargo.toml.github/workflows/release.yml、.github/workflows/publish-docker.yml、Dockerfile现有可复用素材:
apecloud/aperag-enterprise/web/public/logo.png做图标验证。apecloud/aperag-enterprise/web/public/logo_light_en_US.png、logo_dark_en_US.png做横向标识验证。docs/ppt/assets/logos/apecloud.png,但也是光栅图。.icns、Windows.ico多尺寸源文件。现象
现在如果直接对外使用 fork,用户仍会看到上游 Goose 身份:应用名、菜单、图标、README、加载图、协议名、错误弹窗和部分提示词文本都还带 Goose / AAIF 痕迹。默认扩展也偏向上游完整能力,开发者工具默认启用,包含写文件、改文件和执行命令,作为 ApeCloud 默认发行版风险偏高。
同时,ApeMind MCP 应作为默认或预置集成出现,但这个 fork 的产品身份应是 ApeCloud 品牌的本地代理项目,不能把项目名、文案和配置都写死成 ApeMind 唯一场景。
影响
streamable_http扩展接入,但需要准备清晰的默认配置模板和环境变量说明。期望结果
准备一组可以落地的改动清单,后续按清单开 PR。建议分成 5 组,全部保持在浅层 fork 边界内。
1. 品牌和文案
ApeCloud Agent或ApeCloud Local Agent。README.md、桌面端关于页、菜单、错误弹窗、窗口标题、加载页等用户可见文案。建议检查文件:
README.mdCUSTOM_DISTROS.mdui/desktop/package.jsonui/desktop/src/main.tsui/desktop/src/**crates/goose/src/prompts/system.md2. Logo 和视觉资产
.icns、.ico多分辨率源文件。建议检查文件:
ui/desktop/src/images/ui/desktop/src/components/**README.md3. 默认配置
streamable_http配置,不改 MCP 运行时。--no-default-features --features rustls-tls。建议检查文件:
crates/goose/src/config/base.rscrates/goose/src/config/extensions.rscrates/goose/src/agents/extension.rscrates/goose-cli/Cargo.tomlcrates/goose/Cargo.tomlCUSTOM_DISTROS.md4. 界面隐藏和安全默认值
建议检查文件:
ui/desktop/src/built-in-extensions.jsoncrates/goose/src/agents/platform_extensions/mod.rscrates/goose/src/agents/platform_extensions/developer/mod.rsui/desktop/src/**5. 打包和分发
这部分由生产化交付侧继续细化,当前先列入同一清单:
ghcr.io/apecloud/goose或产品最终名称对应路径。download_cli.sh下载地址。release.yml中需要签名或外部发布账号的任务先跳过,Docker 官方流程慢属于上游特征,可按 3-4 小时预期记录。建议检查文件:
.github/workflows/release.yml.github/workflows/publish-docker.ymlDockerfileui/desktop/package.jsonui/desktop/forge.config.tsui/desktop/electron-forge.config.ts验收建议:
不解决什么