Skip to content

Qc-riviere/EchoMind

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EchoMind

灵感笔记 · 跨设备记录 + AI 自动整理 + 偶尔深度对话

核心特性

记录

  • 30 秒上手 — 首次启动 4 步引导:选 Provider → 填 Key 测连接 → 录第一条 → 介绍微信桥
  • 全局速记浮窗Ctrl+Shift+I 任何场景下唤出无边框小窗,Enter 保存,Esc/失焦自动隐藏。窗口常驻不可见,热键响应即时
  • 托盘常驻 — 系统托盘图标 hover 显示「今日新增 N」,点击聚焦主窗
  • 微信速记 — 手机微信发条消息即落库,桌面端 ~5 秒内同步并发系统通知
  • AI 自动补全 — 上下文、领域、标签自动生成,无需手动整理

浏览

  • 首页双列表 — 「最近 5」+「对话最多 5」,分别覆盖时间维度和注意力维度
  • 置顶最重要的事 — 单条灵感可置顶到首页顶部,对应「人生当前主线」
  • 语义检索 — 自然语言搜索历史想法
  • 关联发现 — 新想法落库时自动提示相似历史

整理

  • 多选 AI 总结 — 勾选 2–20 条灵感,AI 一键归纳为中心论点+要点。可保存为新灵感或导出 MD/DOCX/PDF
  • 对话深挖 — 单条灵感开启对话,结构化框架引导思考;首页/侧边栏可回到任意历史会话
  • 对话整理为方案 — 对话页右上角「整理为方案」按钮,AI 把整段对话蒸馏为可交付的方案文档(核心结论 / 关键决策 / 风险与未决 / 下一步行动),同样支持导出 MD/DOCX/PDF 或保存为新灵感

多端

  • 微信桥接 — 手机微信远程操作第二大脑(本地 / VPS 两种模式)
  • 云端同步 — 可选把筛选后的想法子集推送到 VPS,桌面关机也能用手机访问

技术栈

技术
前端 React 19 + TypeScript + Vite + Tailwind CSS + Zustand
桌面壳 Tauri 2.0 (Rust)
本地数据库 SQLite + sqlite-vec(向量搜索)
LLM OpenAI / Google Gemini / Anthropic Claude
微信 Bot TypeScript / Node API → bun build --compile 单 .exe,作为 Tauri sidecar 随安装包发布(基于腾讯官方 @tencent-weixin/openclaw-weixin,iLink 协议)
云端桥服务 Rust + axum + rusqlite(echomind-bridge-server)
Token 加密 AES-256-GCM + OS keychain(Windows Credential Manager / macOS Keychain),账号 token 落盘前先加密

项目结构

src/                              # React 前端
├── components/                   # UI 组件
├── pages/                        # 页面(Home / Chat / Archive / Search / Settings
│                                 #       CloudBridge / WeChatBridge / ...)
├── stores/                       # Zustand 状态
└── lib/                          # 类型定义

src-tauri/                        # Tauri Rust 后端
├── src/
│   ├── commands/                 # Tauri 命令(thought / ai / chat / bridge)
│   └── lib.rs                    # 应用入口 + invoke_handler 注册
├── echomind-core/                # 可独立测试的核心库
│   ├── src/
│   │   ├── bridge/               # Cloud Bridge 客户端 + 规则引擎
│   │   ├── db/                   # 本地 SQLite(想法 / 对话 / 向量 / 设置)
│   │   ├── llm/                  # LLM 提供商抽象(OpenAI / Gemini / Claude)
│   │   └── lib.rs                # EchoMindCore 高层 API
│   └── Cargo.toml
└── echomind-bridge-server/       # VPS 桥接服务(独立可执行)
    ├── src/
    │   ├── auth.rs               # JWT 签发与验证
    │   ├── crypto.rs             # AES-256-GCM 加解密
    │   ├── db.rs                 # 每设备 SQLite(上云子集 + 向量)
    │   ├── llm.rs                # 远程 LLM 转发(OpenAI / Claude / Gemini)
    │   ├── pairing.rs            # 配对码 + 设备管理 + 预算跟踪
    │   ├── routes.rs             # axum 路由
    │   └── state.rs              # 共享状态
    └── Cargo.toml

echomind-wechat/                  # 微信 Bot daemon(Node.js)
├── src/
│   ├── commands/router.ts        # 命令路由(本地模式 + bridge 独立模式)
│   ├── echomind/
│   │   ├── client.ts             # 本地 EchoMind 服务器 HTTP 客户端
│   │   └── bridge-client.ts     # VPS Bridge 服务器 HTTP 客户端
│   ├── wechat/                   # 微信 ClawBot 封装(腾讯官方 iLink 协议)
│   └── session.ts                # 用户会话管理
└── package.json

快速开始

前置要求

  • Node.js 18+
  • Rust 1.70+
  • pnpm
  • bun(用于编译微信 bot sidecar;首次 pnpm tauri build 前装一次即可)

本地开发

pnpm install
pnpm tauri dev

构建

pnpm tauri build

pnpm tauri buildbeforeBuildCommand 会自动调用 scripts/build-sidecars.mjs

  1. cargo build -p echomind-server --release [--target <triple>]binaries/echomind-server-<triple>[.exe]
  2. echomind-wechat/node_modules 缺失,自动 npm ci 装依赖
  3. bun build --compile --target=<bun-target> src/main.tsbinaries/echomind-wechat-bot-<triple>[.exe]

两个 sidecar 通过 tauri.conf.jsonbundle.externalBin 进入安装包,安装后与主 exe 同目录,由 Tauri 自动去 triple 后缀。脚本是 idempotent 的——已有最新产物会跳过,dev 模式不会反复编译。

首次启动会自动弹出 4 步引导(欢迎 → 选 Provider 填 Key 测连接 → 录第一条灵感 → 微信桥可选),全程约 30 秒。也可在设置页随时改。支持 OpenAI / Claude / Gemini / DeepSeek(默认推荐 DeepSeek,国内充值方便)。


微信桥接(可选)

EchoMind 接入的是 腾讯 2026 年官方放开的个人号 Bot API——产品名 微信 ClawBot,底层协议 iLink(智联),npm 包 @tencent-weixin/openclaw-weixin(腾讯官方 scope)。

无封号风险、无商用限制。bot 是独立 contact 加入用户微信,主号完全不受影响。区别于 wechaty / PadWechat 等已被禁的第三方协议。

背书链接:GitHub Tencent/openclaw-weixin · OpenClaw 官方文档 - WeChat Channel

本地模式(桌面需在线)

  1. 在 WeChat Bridge 页面点击"扫码连接"
  2. 桌面自动 spawn 两个 sidecar:echomind-server(本地 HTTP API)+ echomind-wechat-bot(bun-compile 单 exe)
  3. 二维码直接在页面里渲染——用自己的微信扫码授权
  4. bot_token 用 AES-256-GCM 加密后写入 ~/.echomind-wechat/accounts/*.enc(密钥存 OS keychain)
  5. 手机微信发消息给 bot 即可操作第二大脑

v0.3.2 起 sidecar 完全打包到安装包内,新用户无需单独装 Node.js / 跑 npm install,开箱可用。

Bot 命令:/list/search <词>/view <ID>/chat <ID>/archive <ID>/status/help

/chat 回复带耗时尾注(⏱ 1.8s),便于判断模型响应速度。直接发文字(不带斜杠)即新建一条灵感,桌面端 ~5 秒内拉到并弹系统通知。

云端模式(VPS 独立运行,桌面离线也可用)

需要自备 VPS,部署 echomind-bridge-server,详见 VPS 部署

配对后在 Cloud Bridge 页面推送想法子集和可选的 LLM 配置;VPS 上的 echomind-wechat daemon 通过环境变量 ECHOMIND_BRIDGE_URL + ECHOMIND_BRIDGE_TOKEN 独立运行。


VPS 部署

使用 Docker Compose(推荐)

git clone <this-repo>
cd echomind-bridge-server

# 生成密钥
echo "JWT_SECRET=$(openssl rand -hex 32)" >> .env
echo "ADMIN_TOKEN=$(openssl rand -hex 16)" >> .env
echo "ENCRYPTION_KEY_HEX=$(openssl rand -hex 32)" >> .env

docker compose up -d

详见 deploy/ 目录中的 docker-compose.yml 和 nginx 配置。

配置说明

环境变量 说明 默认值
BIND_ADDR 监听地址 0.0.0.0:3000
DATA_DIR 数据目录 ./data
JWT_SECRET JWT 签名密钥(需随机生成)
ADMIN_TOKEN 管理接口令牌
ENCRYPTION_KEY_HEX AES-256-GCM 主密钥(64 位十六进制)

生成配对码(首次配对)

curl -X POST https://bridge.example.com/admin/pair-codes \
  -H "x-admin-token: <ADMIN_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"ttl_secs": 600}'
# → {"code": "ABCD1234", "ttl_secs": 600}

在桌面 EchoMind → Cloud Bridge 页面填入服务器地址和配对码完成绑定。


隐私说明

EchoMind 采用"本地优先"架构:

  • 所有想法默认存在本地,不上传任何服务器
  • Cloud Bridge 是明确的付费可选扩展:开启即代表用户知情同意,选定子集内的想法会存储在你的 VPS 上
  • LLM API Key 可选推送到 VPS,用于 /chat 远程执行;VPS 用 AES-256-GCM 加密存储,管理员有物理访问能力
  • 随时终止订阅,VPS 数据立即销毁

详见 docs/architecture-hybrid-cloud.md

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors