Refine desktop setup and remove bundled app center apps
This commit is contained in:
49
findings.md
49
findings.md
@@ -1,5 +1,22 @@
|
||||
# Findings
|
||||
|
||||
## Agent 系统级文档管理 2026-06-03
|
||||
|
||||
- OpenClaw 的系统级 workspace 文档包括 `AGENTS.md`、`SOUL.md`、`TOOLS.md`;官方文档定义为操作指令、人格/边界/语气、本地工具约定。
|
||||
- 这些文件按 Agent workspace 生效,路径来自 `openclaw.json` 的 `agents.defaults.workspace` 或 `agents.list[].workspace`,默认是 `~/.openclaw/workspace`。
|
||||
- 当前项目已有 `listAgentsSnapshot()` 可给设置页列出 Agent、workspace 和默认 Agent,无需新增配置解析逻辑。
|
||||
- 默认模板可从当前 OpenClaw runtime 的 `docs/reference/templates/{AGENTS,SOUL,TOOLS}.md` 读取;这能兼容开发态 `node_modules/openclaw`、打包态 bundled runtime 和 managed runtime。
|
||||
- Host API 已是设置页访问本地能力的统一入口,适合新增 `/api/agent-system-documents` 路由。
|
||||
|
||||
## Customer Install Initialization Failure Findings 2026-05-14
|
||||
|
||||
- The customer screenshot matches a non-pilot package: local `build/yinian-internal/model-auth-profiles.json` currently says `bundled=false` because `pnpm run package` was used without `YINIAN_BUNDLE_MODEL_AUTH=1`.
|
||||
- First-run setup currently requires a usable `minimax` auth profile before it proceeds to the document runtime step, so a non-pilot package fails at `写入内测模型配置`.
|
||||
- The renderer then maps every non-completed step to `failed` when `initialized=false`; this makes the later `准备文档处理环境` step look failed even when it was only still pending and never executed.
|
||||
- The customer-facing error currently says only `初始化未完成,请查看失败项后重试。`, which hides the actionable package/credential cause.
|
||||
- Fix applied: pending setup steps remain pending on early failure, failed-step details are shown in the error panel, and non-pilot packages now report that the installer does not contain internal model credentials.
|
||||
- The rebuilt Apple Silicon pilot DMG now contains `bundled=true` internal model auth material and passed resource, codesign, and DMG verification.
|
||||
|
||||
## macOS DMG 打包
|
||||
|
||||
- 使用 `pnpm run package:mac` 才会走完整正式打包链路,包括 `bundle-preinstalled-skills.mjs`、OpenClaw bundle、插件 bundle、内置应用 bundle 和 Electron Builder。
|
||||
@@ -681,6 +698,16 @@
|
||||
- The template catalog currently provides 32 templates. OpenClaw sees both `design` and `html-slides` as eligible and enabled after local app-managed sync.
|
||||
- Preinstalled local sync must preserve `.clawx-preinstalled.json` markers so future app startup updates these skills instead of treating them as user-managed.
|
||||
|
||||
## Channel Plugin Packaging Findings 2026-05-14
|
||||
|
||||
- 客户侧微信渠道失败的根因成立:`@tencent-weixin/openclaw-weixin@2.1.10` 发布包声明 `openclaw.extensions: ["./index.ts"]`,并只包含 `index.ts/src/**/*.ts`,没有 JS 运行产物。
|
||||
- 我们之前的 bundled plugin mirror 原样复制了 TS 源码包,所以客户目录里即使版本号正确,也会因为缺少可加载 JS 入口被 Gateway 忽略。
|
||||
- OpenClaw 插件扫描可以加载转译后的微信插件:`dist/index.js` + `openclaw.extensions=["./dist/index.js"]`。
|
||||
- 官方飞书插件已发布在 npm:`@larksuite/openclaw-lark@2026.5.13`,manifest id 为 `openclaw-lark`,channel id 为 `feishu`。
|
||||
- 官方飞书包实际可用入口是根目录 `index.js`;其 `package.json#main` 指向不存在的 `./dist/index.js`,打包/安装时需要修正 entry hint。
|
||||
- OpenClaw 当前 bundled extensions 中没有内置 `feishu` 目录;我们之前代码把 `feishu` 明文放在禁用集合,导致 UI/API 直接返回“当前内测版本未启用该渠道”。
|
||||
- 临时 HOME 的 OpenClaw 插件扫描已验证:`openclaw-weixin` 与 `openclaw-lark` 都能从 `.openclaw/extensions` 加载,状态为 `loaded`,无缺失依赖和插件诊断。
|
||||
|
||||
## Task And Skill Management Findings 2026-05-13
|
||||
|
||||
- Current `src/pages/Tasks/index.tsx` duplicates quick-task creation/editing under the Task Center, which makes "任务" ambiguous versus ability-pack-owned quick tasks.
|
||||
@@ -761,3 +788,25 @@
|
||||
- 2026.5.7 的 diagnostic heartbeat 已新增 stalled embedded run 的 `allowActiveAbort: true` 分支;YINIAN 仍需要在普通 stuck recovery 分支上保留 `YINIAN_OPENCLAW_STUCK_ACTIVE_ABORT_MS` 阈值,避免过早主动中止活跃 run。
|
||||
- 2026.5.7 的嵌入式 run 已有 `resolveEmbeddedAttemptToolConstructionPlan`,`isRawModelRun` 会阻止构建工具、bundle MCP 和 bundle LSP;这覆盖了旧版 fast chat disable-tools 补丁的主要目的。
|
||||
- 2026.5.7 的子进程执行入口已迁移到 `exec-*`/Windows helper,并在关键 spawn 位置包含 `windowsHide`;旧的 workspace command runner 与 PTY 补丁片段不再匹配,但已核对新版产物中的隐藏窗口逻辑。
|
||||
|
||||
## Model Provider Runtime Findings 2026-06-03
|
||||
|
||||
- 用户将默认模型换成 DeepSeek 后,`clawx-providers.json` 的 `defaultProvider/defaultProviderAccountId` 已经是 `deepseek-a1e23f39-4296-4762-8bdf-184ca677cce6`,账号模型为 `deepseek-v4-pro`。
|
||||
- 但 `~/.openclaw/openclaw.json` 仍然是 `agents.defaults.model.primary = minimax-portal/MiniMax-M3`,`models.providers` 还包含旧 `yinian-model/custom-model` 占位 provider。
|
||||
- 这说明当前设计仍有配置源漂移:设置 store 是 DeepSeek,OpenClaw runtime 输出仍是 MiniMax/旧占位。必须让 provider account store 成为唯一配置源,并在保存/启动/诊断修复时同步到 runtime。
|
||||
- 直接 Gateway reload 不足以应用模型切换;reload/reconnect 会用 Gateway 进程内的旧 config 覆盖刚写入的 runtime 文件。模型 provider 保存、更新和默认切换必须触发 Gateway restart。
|
||||
- `model-diagnostics` 不能再承担“补一个默认 MiniMax 模型 provider”的职责;否则启动修复会和设置中的自定义模型 API 互相打架。它现在只做结构清理、心跳关闭、技能默认值和旧占位 provider/auth 清除。
|
||||
- `defaultProviderAccountId` 是当前 provider account store 的真实默认指针;legacy `defaultProvider` 只能作为兼容回退。
|
||||
- 本机最终 runtime 验证:默认模型为 `deepseek/deepseek-v4-pro`,`models.providers.deepseek` 指向 `https://api.deepseek.com/v1`,`yinian-model` provider/auth 残留已删除。`minimax-portal` 条目仍可存在,但只是已配置账号,不是默认模型。
|
||||
- 设置页仍显示 `yinian-model` / MiniMax 缺失的根因是 diagnostics 列表生成函数无条件合并 `YINIAN_INTERNAL_PROVIDER_KEYS`,即使当前默认 provider 是 DeepSeek,也会把历史内部 provider 当作检查对象输出。
|
||||
- 模型配置诊断应回答“当前默认模型引用的 provider 是否完整”,而不是扫描或固定展示历史内置 provider。provider 与 auth profile 的设置页诊断列表现在都按 `primary + fallbacks` 的 provider refs 过滤。
|
||||
|
||||
## App Center Cleanup Audit Findings 2026-06-04
|
||||
|
||||
- Production-path residual scan across `src`, `electron`, `tests`, `package.json`, `electron-builder.yml`, `scripts`, `README.md`, `vite.config.ts`, and `resources/readme` found no remaining NianxxPlay/Product Center app integrations.
|
||||
- The only remaining `product-center` / `nianxx-play` matches are negative assertions in `tests/unit/app-center.test.tsx` and `tests/e2e/yinian-delivery-smoke.spec.ts`, which intentionally guard against the two deleted app items returning.
|
||||
- `rg --files` found no tracked files matching `NianxxPlay`, `ProductCenter`, `product-center`, `nianxx`, the removed readme screenshots, deleted `electron/api/routes/apps.ts`, or deleted `scripts/prepare-nianxx-play-bundle.mjs`.
|
||||
- `build/apps/nianxx-play` is gone; only the empty `build/apps` directory remains.
|
||||
- The dirty worktree contains many pre-existing model/provider/system-document/channel-plugin changes. App Center cleanup should be reviewed as a slice, not as the whole diff.
|
||||
- `selectedItemId/selectItem` in `src/stores/app-center.ts` had no production consumer after the built-in apps were removed; it was safe to delete with the stale test assertion.
|
||||
- README screenshot section had an empty App Center heading after removing the two obsolete screenshot images; removing the empty heading keeps docs aligned with the new app-center state.
|
||||
|
||||
Reference in New Issue
Block a user