让AI改文件前先问你Agent Client for Obsidian的权限控制与Word级Diff全解【免费下载链接】obsidian-agent-clientBring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-agent-clientAgent Client for Obsidian 是一款基于 Agent Client Protocol (ACP) 的 Obsidian 插件让你直接在笔记库里与 Claude Code、Codex、Gemini CLI 等 AI 智能体对话。它的两个核心安全设计是权限控制——AI 每次改文件、跑命令前先弹横幅向你确认以及Word 级 Diff——在聊天流里逐词高亮显示 AI 到底改了什么。本文带你完整看懂这套机制。Agent Client for Obsidian 是什么简单说它把你本地的 AI 智能体作为子进程启动通过 ACP 协议接入 Obsidian 侧边栏、编辑器标签页或浮动窗口 提及笔记[[笔记名]]把笔记内容直接交给 AI支持只发送选中的行多会话并行多个智能体各开一个会话互不干扰权限提示每个敏感操作都可批准或拒绝自动放行需手动开启可见的编辑文件改动以 Word 级 Diff 呈现在聊天中安装方式设置 → 社区插件 → 浏览 → 搜索Agent Client→ 安装并启用。更多细节见 README。权限控制AI动手前必须先问你权限横幅从哪里来当你要求 AI 修改文件时流程是这样的详见 editing.mdAI 提出变更方案你在聊天中看到它提议的编辑内容AI 通过 ACP 协议发来requestPermission请求插件底部弹出权限横幅显示 AI 提供的选项如 Always Allow / Allow / Reject你点选后AI 才继续执行权限请求的完整生命周期由 permission-handler.ts 管理每个请求封装成一个 Promise直到你在界面上点击按钮才会 resolve——AI 会一直挂起等待不存在没看到就默认通过的情况。排队机制一次只弹一个绝不遗漏AI 有时会连续发起多个需要授权的操作。PermissionManager 内部维护了一个请求队列界面上同一时间只激活第一个请求其余排队等待你处理完一个下一个立即自动激活activateNext()。这样你永远不会漏掉一次授权也不会被弹窗淹没。如果你开了多个会话Session Manager 还会用专门的等待权限状态图标提醒你哪个会话正在等你做决定。选项按钮AI 给什么就选什么按钮的具体文案由智能体自己提供。PermissionBanner.tsx 按选项类型匹配图标类型图标含义典型文案allow_always双勾Always Allowallow_once单勾Allowreject_once叉Rejectreject_always禁止Always Reject需要留意权限行为因智能体而异部分智能体根本不请求权限、直接改文件FAQ 有说明所以 Diff 审查仍然不能省。热键批准/拒绝手不离开键盘plugin.ts 注册了两条命令Approve active permission批准当前权限请求Reject active permission拒绝当前权限请求在 Obsidian 的设置 → 热键中给它们绑定快捷键命令 ID 为agent-client:approve-active-permission和agent-client:reject-active-permission配合多会话场景不用鼠标也能快速响应权限弹窗。Auto-allow 自动放行默认关闭慎用在设置 → Agent Client → Permissions → Auto-allow permissionsSettingsTab.ts可以开启自动批准它会让 PermissionManager 直接选中第一个 allow 类选项。设置项旁的警告写得很直白这等于给智能体免确认的完整系统访问权。只建议在你完全信任当前任务和智能体时临时开启用完记得关回去。Word级DiffAI改了什么逐词可见上面这张图就是完整的权限 Diff组合AI 提议编辑一个笔记上方是变更对比下方是 Always Allow / Allow / Reject 三个按钮。Diff 的渲染实现在 ToolCallBlock.tsx基于diff库做了两层高亮行级对比用structuredPatch生成统一 Diff保留 3 行上下文新增行绿色、删除行红色、行号对齐多段变更时还会显示分块头词级对比对相邻的一删一增行对再用diffWords做词粒度分析精确标出同一行里哪个词被换掉——而不是整行红绿一片其他贴心细节新文件识别没有旧内容时标记为 New file全部按新增行展示长 Diff 自动折叠在设置 → Agent Client → Display开启 Auto-collapse long diffs 后超过阈值默认 10 行的 Diff 自动收起点击 N more lines 展开默认关闭让AI安全改文件的4条最佳实践实践说明用 Git 管仓库让 AI 改之前先提交一次出错可整体回滚先审 Diff 再放行权限按钮点击前先扫一遍绿色新增行从小改动开始先试单行修改再让 AI 做结构级重写撤销兜底编辑器内 Ctrl/CmdZ或git restore file恢复更多权限与编辑相关问题可参考 docs/usage/editing.md 与 docs/help/faq.md。总结Agent Client for Obsidian 的安全模型一句话概括默认每一步都要你点头点完还能逐词复查。权限横幅 请求排队 热键审批保证了AI 动手前必先问你Word 级 Diff 则保证你批准的和你看到的是同一份变更。对于想把 AI 智能体接进日常笔记流、又不想失控的用户这是目前最稳妥的组合之一。【免费下载链接】obsidian-agent-clientBring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.项目地址: https://gitcode.com/gh_mirrors/ob/obsidian-agent-client创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考