Skip to content

docs: track ApeMind Agent fork changes#15

Draft
earayu wants to merge 11 commits into
mainfrom
codex/apemind-agent-change-list
Draft

docs: track ApeMind Agent fork changes#15
earayu wants to merge 11 commits into
mainfrom
codex/apemind-agent-change-list

Conversation

@earayu

@earayu earayu commented May 24, 2026

Copy link
Copy Markdown
Collaborator

现状

这个 PR 只作为 ApeMind Agent fork 改动记录使用,按 @earayu2 要求保持 open,不合并。

现象

我们已经连续合并了品牌、打包、GitHub Release、Docker、UI 隐藏、Recipe 改 Workflow 等改动,需要一个长期可更新的清单,避免后续忘记每个改动点和代码位置。

影响

新增 APEMIND_AGENT_CHANGE_LIST.md,记录:

期望结果

这个 PR 长期开着,作为团队补充和审阅 change list 的地方;@Monarudo、@冯诺伊曼 后续可以直接在本 PR 上补漏。

不解决什么

不改产品代码,不触发新的品牌或 UI 行为变化,不作为要合并进 main 的正式文档。

验证

  • git diff --cached --check

梅西 and others added 11 commits May 24, 2026 23:46
隐藏调度页创建计划按钮;保留底层调度功能。
Co-authored-by: 梅西 <messi-agent@users.noreply.github.com>
…on first launch (#19)

* feat(desktop): bundle ApeMind MCP placeholder + seed default recipes on first launch

Three pieces for the ApeCloud distribution layer:

1. forge.config.ts: add `default-recipes` to extraResource so the
   directory ships inside the packaged app's Resources path.

2. main.ts seedDefaultRecipes(): on app startup, read recipe YAMLs from
   the bundled `default-recipes/` directory (packaged: process.resourcesPath;
   dev: relative to __dirname) and copy them to ~/.config/goose/recipes/.
   Same-name files are skipped (never overwrite user edits). This
   intentionally uses goose's existing user-recipe directory so the
   reader logic in goose-rs and the Desktop UI need no changes —
   upstream-merge-friendly.

3. bundled-extensions.json: add an `apemind` entry of type
   streamable_http, enabled=false, uri="" — appears in the extensions
   list with description prompting the user to configure URL + token
   before enabling. URL/token intentionally not hardcoded.

Recipe YAML content authored separately in #18 (placed at
ui/desktop/default-recipes/).

5-cat compliance: category 3 (默认配置 / bundled extension config) +
category 5 (打包分发 / forge extraResource + first-copy logic). Zero
changes to Rust crates or recipe reader logic.

Signed-off-by: earayu <earayu@163.com>

* fix(desktop): wire Authorization header for bundled streamable_http ApeMind MCP

Per earayu2 #鹅岛 msg 792dda6a:
- ApeMind MCP placeholder URL: `https://your-apemind.example.com/mcp`
- Auth header placeholder: `Authorization: Bearer your-api-key-here`

Two pieces:

1. `bundled-extensions.json` apemind entry: add `uri` + `headers.Authorization`
   placeholder values so the user only has to swap `your-api-key-here` (and
   adjust the URL if needed) when enabling.

2. `bundled-extensions.ts` BundledExtension type + streamable_http loader case:
   extend to propagate `headers` (and `envs`/`env_keys`) into the actual
   extension config. Without this, the JSON `headers` field is silently
   dropped during sync, so the auth would never reach the runtime.

5-cat compliance: still category 3 (默认配置 / bundled extension config). The
loader extension is a 1-line TS plumbing pass-through, not a change to the
goose-rs extension runtime — minimal rebase surface upstream-side.

Signed-off-by: earayu <earayu@163.com>

---------

Signed-off-by: earayu <earayu@163.com>
Co-authored-by: 梅西 <messi-agent@users.noreply.github.com>
隐藏上游 Goose 图标残留,首页/欢迎相关位置改用 ApeCloud/ApeMind 品牌资源。
- 启动时为 bundled ApeMind 工作流写入已接受 hash,避免默认工作流弹出新工作流警告\n- 只对 apemind bundled extension 放开配置按钮,便于用户修改 URL 和 Authorization Bearer token\n- 保持核心 recipe warning / IPC / goose runtime 逻辑不变
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant