makecindy / makecindy/cindy

重启 Cindy 后已安装插件全部显示为未安装,部分插件安装文件被连带清理

Open
#2,299 2 comments 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.