Refine desktop setup and remove bundled app center apps
This commit is contained in:
128
progress.md
128
progress.md
@@ -1,5 +1,62 @@
|
||||
# Progress Log
|
||||
|
||||
## 2026-06-03 Model Provider Runtime Sync
|
||||
|
||||
- 用户反馈:设置默认模型改为 DeepSeek 后,实际运行仍使用 MiniMax。
|
||||
- 已确认本机 provider account store 默认值为 DeepSeek:`deepseek-a1e23f39-4296-4762-8bdf-184ca677cce6` / `deepseek-v4-pro`。
|
||||
- 已确认 OpenClaw runtime 仍为 `minimax-portal/MiniMax-M3`,并带有旧 `yinian-model/custom-model` 占位 provider。
|
||||
- 日志显示 DeepSeek 保存和默认切换后只触发 Gateway reload;Gateway reload/reconnect 随后写回旧内存 config,覆盖了刚写入的 DeepSeek runtime 配置。
|
||||
- 已将 provider 保存、更新、默认切换后的 Gateway 刷新策略改为 restart,避免 reload 用旧内存状态覆盖 `openclaw.json`。
|
||||
- 已将 legacy `getDefaultProvider()` 改为优先读取 `defaultProviderAccountId`,并让 `getAllProviders()` 合并 legacy provider 与 account store,account store 作为新配置源可参与 agent model 同步。
|
||||
- 已更新 `model-diagnostics`:启动/诊断修复不再把 legacy MiniMax 默认迁移成 `yinian-model/custom-model`,只清理 `https://api.example.com/v1` 这类旧占位 provider,并删除对应 `yinian-model:*` auth 残留。
|
||||
- 已手动修复本机 `~/.openclaw/openclaw.json`,当前默认模型为 `deepseek/deepseek-v4-pro`,provider 配置为 `https://api.deepseek.com/v1` + `openai-completions`;Gateway 重启日志确认启动前写入 DeepSeek 默认。
|
||||
- 当前运行态保留 `minimax-portal` provider 条目是因为本机仍有 MiniMax 账号配置,但它不再是默认模型;`yinian-model` provider/auth 残留已清除。
|
||||
- 用户随后反馈:设置页“模型服务”仍显示 `yinian-model` / MiniMax 固定缺失提示。
|
||||
- 已修复 diagnostics 数据源:`buildProviderDiagnostics()` 改为只展示当前默认模型和 fallbacks 实际引用的 provider;auth profiles 也按这些 provider 过滤,不再把 `yinian-model`、`minimax`、`minimax-portal` 当作固定诊断项。
|
||||
- 已更新设置页文案为空态:`模型服务` 改为 `当前模型服务`,`调用凭据` 改为 `当前调用凭据`。
|
||||
- 真实 diagnostics 函数输出确认:`providers=[deepseek]`,`authProviders=[deepseek]`,没有 `yinian-model` / MiniMax 固定缺失项。
|
||||
- Verification passed:
|
||||
- `pnpm exec vitest run tests/unit/model-diagnostics.test.ts tests/unit/provider-runtime-sync.test.ts`
|
||||
- `pnpm exec vitest run tests/unit/model-diagnostics.test.ts tests/unit/provider-runtime-sync.test.ts tests/unit/provider-service-stale-cleanup.test.ts tests/unit/yinian-initializer.test.ts tests/unit/settings-advanced-model-config.test.tsx`
|
||||
- `pnpm exec vitest run tests/unit/model-diagnostics.test.ts tests/unit/settings-advanced-model-config.test.tsx`
|
||||
- `pnpm exec vitest run tests/unit/model-diagnostics.test.ts tests/unit/settings-advanced-model-config.test.tsx tests/unit/provider-runtime-sync.test.ts tests/unit/provider-service-stale-cleanup.test.ts tests/unit/yinian-initializer.test.ts`
|
||||
- `pnpm exec tsc --noEmit --pretty false`
|
||||
- `pnpm run build:vite`
|
||||
- `git diff --check`
|
||||
|
||||
## 2026-05-14 渠道插件运行产物与飞书加固
|
||||
|
||||
- 客户日志确认:微信渠道失败不是配置本身,而是 `~/.openclaw/extensions/openclaw-weixin` 被安装成 TypeScript 源码包,缺少 Gateway 可直接加载的 JS 运行入口。
|
||||
- 已新增插件运行入口检测:同版本插件如果已安装但缺 `openclaw.extensions/main/module` 指向的 JS 文件,会自动从 bundled mirror 重装。
|
||||
- 已修改插件打包链路:
|
||||
- `@tencent-weixin/openclaw-weixin` 复制后自动转译 `index.ts/src/**/*.ts` 到 `dist/`,并把 `openclaw.extensions` 改为 `./dist/index.js`。
|
||||
- `@larksuite/openclaw-lark@2026.5.13` 加入依赖和 bundled plugin 列表。
|
||||
- 修正官方飞书包 `main` 指向缺失 `dist/index.js` 的问题,使用实际存在的 `./index.js`。
|
||||
- 给缺少 `channelConfigs` 的微信 manifest 补兼容 channel schema,避免 OpenClaw 扫描 warning。
|
||||
- 已解除飞书硬禁用:API route、IPC handler、channel-config、openclaw-auth 都不再把 `feishu` 当作内测禁用渠道。
|
||||
- 保存飞书配置前会安装 `openclaw-lark` 插件;Gateway 启动前也会按已配置渠道自动安装/修复。
|
||||
- 已运行 `pnpm run bundle:openclaw-plugins`,生成:
|
||||
- `build/openclaw-plugins/openclaw-weixin/dist/index.js`
|
||||
- `build/openclaw-plugins/openclaw-lark/index.js`
|
||||
- 使用临时 HOME 把两个插件复制到 `.openclaw/extensions` 后执行 OpenClaw 插件扫描,结果:
|
||||
- `openclaw-weixin`: `status=loaded`, `channels=["openclaw-weixin"]`, `missing=[]`
|
||||
- `openclaw-lark`: `status=loaded`, `channels=["feishu"]`, `missing=[]`
|
||||
- diagnostics 为空。
|
||||
- Verification passed:
|
||||
- `pnpm run bundle:openclaw-plugins`
|
||||
- `pnpm vitest run tests/unit/plugin-install.test.ts tests/unit/channel-config.test.ts tests/unit/channel-routes.test.ts tests/unit/config-sync.test.ts`
|
||||
- `pnpm run typecheck`
|
||||
- `pnpm run package:mac:pilot:arm64`
|
||||
- Packaged resource check for `release/mac-arm64/智念助手.app/Contents/Resources/openclaw-plugins/*`
|
||||
- `codesign --verify --deep --strict --verbose=2 release/mac-arm64/智念助手.app`
|
||||
- `hdiutil verify release/智念助手-0.1.0-mac-arm64.dmg`
|
||||
- Packaging note: first packaging attempt failed because `@larksuite/openclaw-lark` was added under runtime `dependencies`; `scripts/assert-electron-runtime-deps.mjs` correctly flagged it as a double-pack risk. Moved it to `devDependencies`, while the plugin bundle script still copies it into app resources.
|
||||
- New pilot artifacts:
|
||||
- `release/智念助手-0.1.0-mac-arm64.dmg` (1.6G)
|
||||
- `release/智念助手-0.1.0-mac-arm64.zip` (1.5G)
|
||||
- `release/latest-mac.yml`
|
||||
- macOS notarization remains skipped by existing builder config: `notarize` options were unable to be generated.
|
||||
|
||||
## 2026-05-13 macOS DMG 打包
|
||||
|
||||
- 用户要求打 DMG 安装包,并确保新增/预置 skill 默认放进去。
|
||||
@@ -1056,6 +1113,21 @@
|
||||
- `pnpm vitest run tests/unit/cron-desktop-reminder.test.ts tests/unit/chat-message.test.tsx tests/unit/tasks-page.test.tsx tests/unit/business-guidance.test.ts`
|
||||
- `pnpm run typecheck`
|
||||
- `pnpm run build:vite`
|
||||
# 2026-06-03 Agent 系统级文档管理
|
||||
|
||||
- 用户要求在设置中增加系统级文档管理模块,覆盖 soul、agent、tool 这类文档。
|
||||
- 已确认项目根目录为 `/Users/inmanx/Documents/念/yinian-desktop`,工作树存在多项既有未提交改动;本次会限定在系统文档管理相关文件。
|
||||
- 已在 `task_plan.md` 添加本次阶段,当前进入路径/API/设置页结构调研。
|
||||
- 已确认 OpenClaw 实际使用的文档文件是 per-agent workspace 下的 `SOUL.md`、`AGENTS.md`、`TOOLS.md`,默认模板位于 OpenClaw runtime 的 `docs/reference/templates/`。
|
||||
- 新增 `electron/utils/agent-system-documents.ts` 和 Host API 路由 `/api/agent-system-documents`,支持按 Agent 读取、保存、恢复模板。
|
||||
- 新增设置页 `系统文档` tab 和 `AgentSystemDocumentsSettings` 组件,支持选择 Agent、切换 soul/agent/tool、编辑、保存、恢复模板。
|
||||
- 新增测试并通过:
|
||||
- `pnpm exec vitest run tests/unit/agent-system-documents.test.ts tests/unit/agent-system-documents-routes.test.ts tests/unit/agent-system-documents-settings.test.tsx`
|
||||
- 完整相关验证通过:
|
||||
- `pnpm exec vitest run tests/unit/agent-system-documents.test.ts tests/unit/agent-system-documents-routes.test.ts tests/unit/agent-system-documents-settings.test.tsx tests/unit/settings-advanced-model-config.test.tsx`
|
||||
- `pnpm exec tsc --noEmit --pretty false`
|
||||
- `pnpm run build:vite`(仅保留既有 dynamic-import/chunk-size warnings)
|
||||
|
||||
- `pnpm exec playwright test tests/e2e/yinian-delivery-smoke.spec.ts`
|
||||
- Note: an initial E2E attempt timed out because it launched Electron while `build:vite` was rewriting `dist`; a clean rerun passed.
|
||||
|
||||
@@ -1074,6 +1146,29 @@
|
||||
- `pnpm exec playwright test tests/e2e/yinian-delivery-smoke.spec.ts`
|
||||
- `pnpm exec playwright test --config=playwright.legacy.config.ts tests/e2e/yinian-visual-smoke.spec.ts`
|
||||
|
||||
# 2026-05-14 客户安装初始化凭据失败加固
|
||||
|
||||
- Reviewed the customer setup screenshot and traced it to `electron/utils/yinian-initializer.ts` plus `src/pages/Setup/index.tsx`.
|
||||
- Confirmed local `build/yinian-internal/model-auth-profiles.json` is a benign non-pilot manifest (`bundled=false`), while the machine does have usable local `minimax:default` auth material for rebuilding a pilot package.
|
||||
- Identified a renderer bug: when initialization returns `initialized=false`, pending steps are turned into failed steps, so `准备文档处理环境` can be shown as failed even when initialization stopped earlier at model auth.
|
||||
- Added `src/pages/Setup/initialization.ts` so first-run result mapping keeps pending steps pending, calculates partial progress from completed steps, and shows failed-step details in the red error panel.
|
||||
- Updated `electron/utils/yinian-initializer.ts` so missing/disabled internal model auth manifests produce a clear package/credential error instead of the generic “凭据未配置”.
|
||||
- Updated `scripts/prepare-internal-model-auth.mjs` so ordinary non-pilot packaging logs that customer pilot installers must use `package:pilot` or `YINIAN_BUNDLE_MODEL_AUTH=1`.
|
||||
- Added tests:
|
||||
- `tests/unit/setup-initialization.test.ts`
|
||||
- `tests/unit/yinian-initializer.test.ts`
|
||||
- Verification passed:
|
||||
- `pnpm vitest run tests/unit/setup-initialization.test.ts tests/unit/yinian-initializer.test.ts`
|
||||
- `pnpm run typecheck`
|
||||
- Rebuilt the Apple Silicon customer pilot package with bundled internal model auth:
|
||||
- `pnpm run package:mac:pilot:arm64`
|
||||
- `release/智念助手-0.1.0-mac-arm64.dmg`
|
||||
- `release/智念助手-0.1.0-mac-arm64.zip`
|
||||
- Packaged resource verification confirmed `release/mac-arm64/智念助手.app/Contents/Resources/resources/yinian-internal/model-auth-profiles.json` has `bundled=true` and two MiniMax profile ids.
|
||||
- Release verification passed:
|
||||
- `codesign --verify --deep --strict --verbose=2 release/mac-arm64/智念助手.app`
|
||||
- `hdiutil verify release/智念助手-0.1.0-mac-arm64.dmg`
|
||||
|
||||
## 2026-05-13 旅游资源订购 Login-State Follow-Up
|
||||
|
||||
- Renamed the Product Center surface to “旅游资源订购” in zh copy and “Travel Resource Ordering” in en copy.
|
||||
@@ -1153,3 +1248,36 @@
|
||||
- `pnpm run build:vite`
|
||||
- `pnpm test` (106 files / 675 tests; existing MaxListeners warnings remain)
|
||||
- `pnpm exec playwright test tests/e2e/yinian-delivery-smoke.spec.ts`
|
||||
## 2026-06-04 应用中心清理后项目体检
|
||||
|
||||
- Started a focused post-cleanup audit after removing the two App Center built-in apps.
|
||||
- Scope: App Center registry/routes, NianxxPlay/Product Center residues, Host API route list, packaging resources, README/i18n/tests, and current dirty worktree separation.
|
||||
- Residual scan result: no production references to the removed apps remain; only negative test assertions mention `app-center-item-product-center` and `app-center-item-nianxx-play`.
|
||||
- `build/apps/nianxx-play` has been removed; `build/apps` is currently empty.
|
||||
- Current dev service is still running through Vite/Electron from `pnpm dev`.
|
||||
- Removed stale `selectedItemId/selectItem` state from the App Center store and removed the empty README App Center screenshot heading.
|
||||
- Verification passed:
|
||||
- `pnpm exec vitest run tests/unit/app-center.test.tsx tests/unit/app-routes.test.ts`
|
||||
- `pnpm exec tsc --noEmit --pretty false`
|
||||
- `pnpm run build:vite`
|
||||
- `git diff --check`
|
||||
- `pnpm test` (111 files / 712 tests; existing MaxListeners warnings only)
|
||||
|
||||
## 2026-06-04 Git Push Preparation
|
||||
|
||||
- User requested pushing the current project to the git remote while avoiding secrets/tokens/API/env material and keeping customer quick-start usability.
|
||||
- Remote target: `origin` -> `https://git.nianxx.cn/wangxuming/NianToB.git`; current branch: `main`.
|
||||
- `.env.example` now contains placeholders only and explicitly tells users to keep real values in `.env.local`, CI secrets, local shell, or private deployment channels.
|
||||
- Added `*.docx` to `.gitignore` so generated local report documents are not accidentally committed.
|
||||
- Confirmed ignored:
|
||||
- `.env.local`
|
||||
- `build/yinian-internal/model-auth-profiles.json`
|
||||
- `release/智念助手-0.1.0-mac-arm64.zip`
|
||||
- generated `.docx` reports
|
||||
- Secret scans:
|
||||
- tracked file scan for common key/token patterns: no matches.
|
||||
- untracked new source file scan for common key/token patterns: no matches.
|
||||
- Final pre-stage verification passed:
|
||||
- `git diff --check`
|
||||
- `pnpm exec tsc --noEmit --pretty false`
|
||||
- `pnpm test` (111 files / 712 tests; existing MaxListeners warnings only)
|
||||
|
||||
Reference in New Issue
Block a user