一句话:把 pi coding agent 塞进 Obsidian 侧边栏 —— 边看笔记边提问,一键把当前笔记 / 选区 / 图片丢给 pi,让它在你的库里读、写、改。

仓库 / 下载https://github.com/zzzzzllllllaaaa/obsidian-pi-panel
最新版本0.5.4
平台桌面端(本机跑 pi);移动端需配「远程模式」连电脑上的桥。最低 Obsidian 1.7.2
上架情况已过 Obsidian 官方审校规则自检(eslint-plugin-obsidianmd 0 error),待提交到社区目录
授权MIT(随便用,商用也行)
作者我(3zh)

它能干什么

  • 侧边栏聊天面板:ribbon 图标或命令面板打开;流式输出,正文、thinking(可折叠)、工具调用卡片分开渲染(名称 + 参数摘要 + 耗时 + 输出,出错自动展开)
  • 一键引用笔记 按钮给当前打开的笔记(超长只给 @路径)、选区 按钮给选中段落(带 文件:行号)、图片直接粘贴
  • 扩展 UI 弹窗在面板内应答:pi 要 confirm / select / input 时不用切终端,agent 不会挂住
  • 历史会话:扫 ~/.pi/agent/sessions/,可回放、可重命名、新会话 / 继续上次
  • 模型:面板头点模型名即时切换(RPC set_model,不重启进程);设置页能直接增删改 models.json
  • 工具权限白名单--tools 传什么就是什么,默认 read,edit,write(不给 bash)
  • 工作目录与笔记目录分离:cwd 可以指向项目目录(那边有自己的 AGENTS.md / 规则),笔记照旧在 vault
  • 远程模式:手机 Obsidian 走 ws 连电脑上的 pi_rpc_bridge.py,出门用 Tailscale 也能连

装法(不用编译)

  1. Releases 下载 main.jsmanifest.jsonstyles.css
  2. 放到 <你的库>/.obsidian/plugins/pi-panel/
  3. 重启 Obsidian → 设置 → 第三方插件 → 启用 Pi Panel

前置条件:本机装了 pi CLI(终端 pi --help 能用)。如果 Obsidian 找不到 pi(GUI 进程的 PATH 常常没有 npm 全局 bin),设置里填绝对路径,比如 %APPDATA%\npm\pi.cmd

想自己编译:npm install --include=devnpm run build,产物是根目录 main.js

授权:MIT

MIT 协议,随便用,商用也行。

(最早用的是 PolyForm Noncommercial(不可商用),但 Obsidian 官方社区插件目录要求宽松协议,已改回 MIT。)

⚠️ 已知不足(老实说)

  • 没上架官方市场:已经过官方审校规则的本地自检(0 error),但目录提交要在 community.obsidian.md 手动发起,还没点那下
  • 移动端不完整:手机跑不了 pi,必须配远程桥;而且远程模式建议工具白名单只给 read,grep,find,ls —— 给了 bash 等于手机能操作你整台电脑
  • 桥要自己管:本机 pi_rpc_bridge.py 必须带 token,别把端口暴露公网;防火墙只放局域网(或 Tailscale 网段)
  • 会话列表是扫文件session_info 是追加到 JSONL 末尾的,长会话要读尾部才拿得到新名字(已处理,但读大文件有开销)
  • 个人项目:不追功能、不承诺维护节奏,够自己用就行

和 AI Chat Assistant 什么关系

两个都是 Obsidian 插件,但路子不同:

  • AI Chat Assistant —— 全能型:自带多模型接入、本地向量库、RAG、智能体、MCP,自己就是一个完整 AI 客户端
  • Pi Panel —— 薄壳:什么都不自己实现,就是把 pi coding agent 的进程嵌进侧边栏,能力全在 pi 那边(终端里的工具、规则、技能都能用)

简单说:想让 AI 自己管好笔记检索,用前者;想让终端里那套 agent 直接对着笔记干活,用后者。

说明

  • 源码公开(MIT);仓库 = 源码,Releases = 编译产物
  • 0.5.2 起作者署名统一为 3zh;0.5.4 过审校规则(协议改 MIT、样式改用 setCssProps、命令 id 不再带插件名、minAppVersion 抬到 1.7.2)
  • GitHub 国内访问可能不稳定,打不开需要自备网络手段