memoryweave/plugins/obsidian
xiaowei abef38cb05 E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框
- 新增 CORS 中间件 (middleware/cors.go): 支持 app://obsidian.md 跨域
- 新增 Obsidian 插件: MemoryView(分页记忆列表) + GraphView(D3力导向图) + SearchModal(语义搜索)
- Go API CORS: Access-Control-Allow-Origin: app://obsidian.md
- Makefile 新增 build-obsidian / install-obsidian 目标
- 插件安装至 ~/.obsidian/plugins/zhiyi-memory/
2026-06-02 15:42:54 +08:00
..
src E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
README.md E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
esbuild.config.mjs E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
main.js E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
main.ts E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
manifest.json E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
package-lock.json E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
package.json E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
styles.css E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00

README.md

织忆 Obsidian 插件

给织忆记忆系统提供 Obsidian 内置可视化界面。

功能

  • 🧠 记忆面板:侧边栏展示记忆列表,分页浏览,支持蒸馏队列提醒
  • 📐 图谱视图D3.js force-directed graph输入实体探索 ego-network节点可拖拽
  • 🔍 搜索模态框Ctrl+P / 命令面板调起实时语义搜索debounce 300ms

安装

方式一:本地开发安装

  1. 构建插件

    cd plugins/obsidian
    npm install
    node esbuild.config.mjs
    
  2. Obsidian 开启第三方插件

    • 设置 → 社区插件 → 开启「第三方插件」
    • 安全模式会阻止社区插件,按提示关闭
  3. 复制到插件目录

    cp -r plugins/obsidian ~/.obsidian/plugins/zhiyi-memory/
    
  4. 重载 Obsidian

    • 命令面板(Ctrl+P)输入 Reload
    • 或重启 Obsidian
  5. 启用插件

    • 设置 → 社区插件 → 找到「织忆」→ 启用

方式二:开发者热重载

# 进入插件目录watch 模式
node esbuild.config.mjs --watch

# 修改后自动重新构建Obsidian 中按 Ctrl+P → Reload vault

使用

命令面板(Ctrl+P

  • 织忆:打开织忆记忆面板 — 右侧边栏记忆列表
  • 织忆:打开织忆图谱面板 — 图谱探索视图
  • 织忆:搜索织忆记忆 — 语义搜索弹窗

图谱操作

  • 输入实体名 → 回车 → 加载该实体的 ego-network中心节点 + 一跳邻居)
  • 点击节点 → 展开邻居(递归探索)
  • 滚轮缩放 / 拖拽平移 / 节点拖动重排
  • 点击「Top 节点」 → 自动加载 PageRank 最高的实体

蒸馏状态

  • 记忆面板顶部蒸馏队列 > 0 时自动出现红色警告条

API 依赖

插件调用 http://localhost:7821 的织忆 Go API确保服务运行

systemctl --user start zhiyid

文件结构

plugins/obsidian/
├── manifest.json          # Obsidian 插件清单
├── styles.css             # 全局样式
├── main.ts                # 插件入口(源)
├── main.js                # esbuild 构建产物Obsidian 加载这个)
├── src/
│   ├── api.ts             # Go API 客户端
│   ├── MemoryView.ts      # 记忆侧边栏面板
│   ├── GraphView.ts       # D3 图谱渲染
│   └── SearchModal.ts     # 搜索弹窗
├── esbuild.config.mjs     # 构建配置
└── README.md

技术细节

  • D3.js v7 从 CDNcdn.jsdelivr.net/npm/d3@7)动态加载,不打包
  • Obsidian 插件 API 类型由 Obsidian host 在运行时提供
  • CORS 由 Go API 中间件处理(Access-Control-Allow-Origin: app://obsidian.md
  • 构建产物 main.js 约 200KBminifiedgzip 后更小)