makecindy / makecindy/cindy

插件安装失败:跨身份(匿名→登录)归属冲突报「账号/插件/版本已变化」

Open
#1,725 2 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
TypeScript
Stars
2.7k
Forks
395
Avg merge
21h 48m
Merged PRs (30d)
776

Description

**提交人**: lima
**客户端版本**: 0.1.28

---

## 现象
登录账号后,从插件市场安装 **Web Search**(cindy-web-search)报错:

> 操作期间账号、插件或版本已发生变化,请确认最新状态后重试。

该插件此前在**未登录状态**下安装过,登录后无法安装。

## 复现步骤
1. 未登录状态下安装 Web Search 插件(成功)
2. 登录 Cindy 账号
3. 在插件市场重新安装 Web Search → 报上述错误

## 期望行为
登录账号后能正常安装 Web Search 插件;或提供把匿名身份下的插件记录迁移/解绑到登录账号的机制。

## 实际行为
安装请求被拒绝并提示「账号/插件/版本已变化」。客户端层面的重启、卸载旧记录均无法修复。

## 已尝试(均无效)
- 完全退出应用并重启
- 在旧(未登录)身份下卸载该插件后再用登录账号安装

## 本地诊断信息
存在多个 owner 身份目录。Web Search 的安装历史绑在匿名/本地设备身份下:

旧匿名身份 ledger(卸载后):
```
"cindy-web-search": {
"pluginId": "c1994cfb82c856a99831a4663",
"installed": false,
"scope": "public",
"source": "market",
"version": "1.2.2"
}
// defaultInstallOptOuts.local-v1 包含该 pluginId
c1994cfb82c856a99831a4663
```

当前登录身份 ledger 中**无**该插件条目。

## 推测根因
服务端把该插件的安装/卸载历史绑在了匿名设备身份(local-v1)上。当用登录账号作用域发起安装时,身份/作用域匹配失败,服务端拒绝并返回「账号/插件/版本已变化」。客户端层面的卸载/重启无法修复,因为服务端归属记录不会随本地操作更新。
---
**OS**: darwin arm64 (25.4.0)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

Start by tracing the plugin-market installation request and how it resolves the anonymous local-v1 owner versus the logged-in account. Reproduce the anonymous-install to login-install sequence and inspect the two ledger states described in the issue. Done means the logged-in account can install cindy-web-search successfully, or the ownership conflict has a defined migration or unlink path.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
authentication, backend-api-design
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.