重启 Cindy 后已安装插件全部显示为未安装,部分插件安装文件被连带清理
- Dominant language
- TypeScript
- Stars
- 2.7k
- Forks
- 401
- Avg merge
- 21h 48m
- Merged PRs (30d)
- 776
Description
**提交人**: 用户0001
**客户端版本**: 0.1.38
---
## 现象
重启 Cindy(v0.1.38)后,「插件」列表里已安装的插件全部显示为未安装:
- cindy-web-search、cindy-art、taptap-maker、qq-mail 全部消失
- cindy-web-search、cindy-art 的本地安装文件被物理删除,需重新安装
- qq-mail、taptap-maker 的安装文件还在磁盘上,但安装状态同样被重置
## 日志时间线(本地日志)
- `2026-08-10T00:08:10` — 应用启动 v0.1.38
- 启动后同一毫秒级日志反复出现:`ghost card reassign failed { error: 'DbClient not ready' }`
- `2026-08-10T00:08:12` — 账本 ledger.v1.json 中 4 个插件的 updatedAt 全部变为该时刻,且全部被改写为 installed: false,并被加入 defaultInstallOptOuts(默认安装退出名单)
- 修改前(8 月 9 日)日志显示这些插件均安装成功:`ghost installed { id: 'cindy-web-search', version: '1.2.2' }` 等
## 疑似根因
插件状态对账(reconcile)与数据库初始化存在启动竞态:对账在 DbClient not ready 时拿空数据覆盖了真实安装记录,并连带清理了部分插件文件。
## 期望行为
重启应用后,已安装插件状态应保持不变,不应被静默重置或清理。
---
**版本区域**: CN
**OS**: win32 x64 (10.0.26200)
**界面语言**: zh-CN
Contributor guide
Research direction
Trace application startup, plugin-state reconciliation, and DbClient initialization, focusing on the ledger.v1.json updates and the repeated “DbClient not ready” errors. Reproduce a restart with installed plugins and verify that their installed state and local files remain unchanged after reconciliation completes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, typescript
- Domain
- desktop
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100