Skip to content

About

可以创建分支节点,这个似乎网络上有,但是百八十对用户的

Resources

Stars

3 stars

Watchers

1 watching

Forks

Repository files navigation

TreeChatApp

Chat-Tree-Demo

用“文件夹”思想管理 AI 对话——无限分支、常数级检索、随开随关不乱


一、为什么用“文件夹”来组织对话?

场景 时间复杂度(最坏) 说明
扁平列表全文搜索(遍历所有消息) O(n^k) n=单轮平均消息数,k=对话轮数;每深一轮就要把前面所有消息再扫一遍,指数爆炸。
树形文件夹检索(先定位节点,再读局部) O(n·k) n=节点内平均消息数,k=节点深度;最多沿单分支走到底,线性增长。

换句话说,当讨论深度从 5 层到 10 层时,全文遍历的搜索量可能 32 倍 于文件夹检索。
这对需要“来回翻旧账、不断分叉”的深入讨论尤为致命——也是市面上聊天工具越聊越卡的原因之一。


二、功能一览(全部可跑通)

功能 操作入口 备注
🔧 字体 / 模型 任意换 顶部“设置”图标 即时生效;字体大小、行高、AI 后端(OpenAI / Claude / 本地模型)均可下拉切换。
🌳 无限节点树 左侧目录栏 2 月原型阶段即支持 无限级 折叠 / 展开,早于已知同类项目。*
🌱 两种“开分支”方式 ① 右键任意节点 → 新建 / 重命名 / 删除
② 选中对话文字 → 弹出“用这段文字创建子节点”
边聊边分叉,灵感不丢失。
💾 结构全留存 自动保存 *.json 下次打开树形、展开状态、节点顺序 1:1 还原,无需手动导出。

* 当时调研到的 Cherry-Studio 仅二级节点,且公开版本时间晚于本 demo。


三、快速体验

  1. 安装
    git clone https://github.com/yourname/chat-tree-demo.git
    cd chat-tree-demo
    npm i
    npm run dev
  2. 开分支
    • 右键左侧节点 → “新建子节点”
    • 或 在右侧消息气泡里划一段文字 → 自动出现“+子节点”按钮
  3. 换模型 / 字体
    右上角 ⚙️ 设置 → 立即生效,无需重启

四、已知缺陷(欢迎 PR!)

等级 描述
🔴 Demo 级粗糙 UI 未打磨,设置项只在运行期生效,退出即恢复默认;存在偶发折叠动画错位。
🟡 曝光不足 尚未发布到插件商店 / 应用市场,仅仓库可见。
🟢 架构已稳 树形数据结构 & 自动保存逻辑已跑 3 个月未丢数据,可放心当“草稿纸”。

五、Roadmap

  • 设置持久化(localStorage → IndexedDB)
  • 节点内全文搜索(仍保持 O(n·k) 的局部搜索)
  • 多人在线同棵树(CRDT 冲突解决)
  • 发布 VSCode 插件 / 独立 App

六、License

MIT © 2025 yifeng xiao

如果你觉得“文件夹式聊天”有道理,请点个 ⭐ 让更多人看见!



About

可以创建分支节点,这个似乎网络上有,但是百八十对用户的

Resources

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages