makecindy / makecindy/cindy

希望支持同账号多设备的聊天记录云端同步(冲突时可手动选择保留哪边)

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

Description

**提交人**: baiyubin
**客户端版本**: 0.1.26

---

## 类型

功能建议

## 使用场景

我在两台电脑上用同一个账号使用 Cindy。换到另一台机器之后,之前的对话历史完全看不到。

查了一下现状:

- 聊天记录只存在本地 SQLite(`%APPDATA%\Cindy\cindy-.db` + `-wal` / `-shm`),同账号登录不会同步任何对话历史
- 设备互联(`device-link-settings.json`)只做远程控制,不搬历史记录
- 目前只有「智能通讯录」具备跨设备同步能力(`contacts-device-sync`),不含聊天记录
- 唯一的办法是手工迁移:完全退出 App → 拷 `.db` 文件 → 删掉 `-wal` / `-shm` → 重命名覆盖目标机的库。门槛很高,容易把库弄坏,而且是**覆盖式**的 —— 两台机器各自的记录没法都保留

## 期望行为

1. **云端自动同步**:同一账号登录后,对话历史自动双向同步,换机器开箱即用,不需要手工拷文件
2. **冲突时可手动选择**:两台机器都有记录、或同一会话在两边都有更新时,希望在界面上逐个(逐会话 / 逐条)看到冲突并自己决定保留哪边,而不是静默覆盖掉一边
3. **附带内容一并同步**:最好能覆盖对话附件与生成的媒体(`cindy-media`)以及跨会话 memory(`owners/<账号>/maker-memory`),否则同步过去的对话里图片和上下文会缺失

## 补充建议

- 如果完整的云端同步方案短期内做不了,退一步希望至少在 App 内提供「导出 / 导入对话历史」入口,比现在让用户手工操作 SQLite 文件安全得多
- 同步数据是否端到端加密、能否只选择部分工作目录同步,也希望能一并考虑
---
**版本区域**: CN
**OS**: win32 x64 (10.0.19045)
**界面语言**: zh-CN

Contributor guide

Open the contributing guide

Research direction

No implementation entry point is named. Start by reviewing the local SQLite layout at %APPDATA%\Cindy\cindy-.db and its -wal/-shm files, then compare device-link-settings.json with the existing contacts-device-sync capability. Done would require an agreed scope for bidirectional sync, conflict selection, and handling cindy-media and owners//maker-memory, or a defined in-app import/export flow.

Written by the indexing model from the issue text.

Assessment

Tech stack
electron, sqlite, typescript
Domain
cloud, databases, desktop, distributed-systems
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.