2.8 KiB
2.8 KiB
织忆 Obsidian 插件
给织忆记忆系统提供 Obsidian 内置可视化界面。
功能
- 🧠 记忆面板:侧边栏展示记忆列表,分页浏览,支持蒸馏队列提醒
- 📐 图谱视图:D3.js force-directed graph,输入实体探索 ego-network,节点可拖拽
- 🔍 搜索模态框:
Ctrl+P/ 命令面板调起,实时语义搜索(debounce 300ms)
安装
方式一:本地开发安装
-
构建插件
cd plugins/obsidian npm install node esbuild.config.mjs -
Obsidian 开启第三方插件
- 设置 → 社区插件 → 开启「第三方插件」
- 安全模式会阻止社区插件,按提示关闭
-
复制到插件目录
cp -r plugins/obsidian ~/.obsidian/plugins/zhiyi-memory/ -
重载 Obsidian
- 命令面板(
Ctrl+P)输入Reload - 或重启 Obsidian
- 命令面板(
-
启用插件
- 设置 → 社区插件 → 找到「织忆」→ 启用
方式二:开发者热重载
# 进入插件目录,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 从 CDN(
cdn.jsdelivr.net/npm/d3@7)动态加载,不打包 - Obsidian 插件 API 类型由 Obsidian host 在运行时提供
- CORS 由 Go API 中间件处理(
Access-Control-Allow-Origin: app://obsidian.md) - 构建产物
main.js约 200KB(minified,gzip 后更小)