
1. 为什么要在 Obsidian 里折腾 AI Agent如果你和我一样笔记库已经堆了几千条 Markdown就会开始琢磨一件事能不能让 AI 直接读我的笔记、改我的笔记、甚至帮我把一堆散乱的想法整理成 Canvas 白板Obsidian 本身是个纯本地、纯文本的编辑器它没有内置 AI但它的插件生态足够开放于是就有了 Claudian 这类第三方插件——把 Claude Code 那套 Agent 能力搬进 Obsidian 侧边栏。Claudian 的核心价值在于它不是一个简单的聊天窗口而是一个能调用 Skills技能包的 Agent。配合 Obsidian CEO Kepano 发布的 obsidian-skillsAI 就能理解 Obsidian 特有的语法比如双链[[笔记名]]、嵌入![[笔记名]]、Callouts 引用块、Canvas 画布文件、Bases 数据库视图。你可以直接对它说“帮我把这篇大纲扩展成带双链的笔记”它会真的去写文件而不是只给你一段文字让你复制。但这里有个现实问题Claudian 底层走的是 Claude Code 的 API 协议默认要连 Anthropic 官方通道。对国内用户来说直连不稳定而且如果你想同时用 GLM、DeepSeek、Claude 多个模型就得在多个 Key 之间来回切换配置散落在环境变量、插件设置、CLI 配置里非常乱。我试过把不同模型的 Key 分别写死在不同地方结果调试时根本分不清哪次请求走了哪个通道。所以这篇要解决的就是用 TaoToken 作为统一 Key/API 通道把 Claudian 的模型接入收敛到一个ANTHROPIC_BASE_URL上再通过settings.json片段固化配置最后给出验证 Agent 是否真的调通了 TaoToken 通道的具体动作。适合已经装好 Obsidian、想用统一入口接入多模型、又不想每次换模型就重配一遍的人。2. TaoToken 前置统一 Key 与通道准备TaoToken 在这里扮演的角色是“兼容 Anthropic 协议的 API 网关”。Claudian 和 Claude Code 都认ANTHROPIC_BASE_URL和ANTHROPIC_API_KEY这两个环境变量TaoToken 提供的正是这两个值。你不需要改 Claudian 的源码也不需要装额外的代理工具只要把 base URL 指向 TaoToken 的 API 地址Key 换成 TaoToken 生成的 Key请求就会走统一通道。先做两件事。第一拿到 Key。访问 TaoToken 控制台的 API Keys 页面新建一个 Key复制出来。这个 Key 就是后面所有配置里ANTHROPIC_API_KEY的值。注意不要把它提交到 Git后面我会讲怎么用.gitignore隔离。第二确认通道地址。TaoToken 的 API 入口是https://taotoken.net/api在 Claudian 里填 base URL 时用这个。如果你用的是 Claude Code CLI 做本地测试也是同一个地址。模型对话入口在https://taotoken.net/models接入文档在https://taotoken.net/doc这两个后面排障时会用到。这里有个容易踩的坑Claudian 的模型名映射。Claude Code 协议里默认会请求claude-opus-4这类模型名但 TaoToken 通道支持你把模型名映射到 GLM、DeepSeek 等。做法是通过ANTHROPIC_DEFAULT_OPUS_MODEL环境变量覆盖。比如你想让 Opus 档位实际走 GLM-4.6就设ANTHROPIC_DEFAULT_OPUS_MODELGLM-4.6。这样 Claudian 发请求时带的是 Opus 的名字TaoToken 通道按你的映射转发到 GLMAgent 侧完全无感。注意Key 只在创建时完整显示一次关掉页面就看不到了。建议创建后立刻存进密码管理器或者写进本地.env文件并加入.gitignore。3. 可复制配置Claudian 骨架与 settings.json 片段Claudian 目前没上 Obsidian 官方市场需要手动装。把main.js、manifest.json、styles.css三个文件放进 vault 根目录下的.obsidian/plugins/claudian/重启 Obsidian在设置→第三方插件里启用。启用后按Ctrl/Cmd P输入claudian选 Open chat view侧边栏就出来了。接下来是核心配置。Claudian 的设置界面里有 User Name、主题、System Prompt以及模型相关的环境变量输入框。但更稳的做法是直接改 Obsidian 的settings.json把配置固化下来这样换设备或重装插件时不用重新填。先看 Claudian 插件自己的数据文件路径是.obsidian/plugins/claudian/data.json。这个文件里存的是插件级设置比如界面主题和用户名。模型通道相关的环境变量Claudian 会读取系统环境变量也会读取插件目录下的.env。我推荐用.env方式隔离性好也方便版本控制时排除。在.obsidian/plugins/claudian/下新建.env内容如下# TaoToken 统一通道 ANTHROPIC_BASE_URLhttps://taotoken.net/api ANTHROPIC_API_KEYsk-你的TaoTokenKey # 模型映射把 Claude 档位映射到你想用的模型 ANTHROPIC_DEFAULT_OPUS_MODELGLM-4.6 ANTHROPIC_DEFAULT_SONNET_MODELdeepseek-chat ANTHROPIC_DEFAULT_HAIKU_MODELGLM-4.6这里我故意把 Opus 和 Haiku 都映射到 GLM-4.6Sonnet 映射到 deepseek-chat方便你一眼看出哪次请求走了哪个模型。实际用的时候可以按需调整。比如你只想用 Claude 官方模型就把ANTHROPIC_DEFAULT_OPUS_MODEL设成claude-opus-4TaoToken 通道会转发到对应上游。然后是 Obsidian 层面的settings.json片段。Obsidian 的全局设置在.obsidian/settings.json但 Claudian 的配置不在这里而是在插件自己的data.json。不过如果你想让 Claudian 在启动时自动加载.env需要在data.json里加一个字段指向 env 文件。Claudian 较新版本支持envFile配置项写法如下{ userName: Jason, theme: dark, envFile: .obsidian/plugins/claudian/.env, systemPrompt: 当收到中文指令时优先思考并匹配最合适的 Obsidian Skill 执行任务。支持的 Skillsobsidian-markdown, json-canvas, obsidian-bases。 }把这段合并进现有的data.json不要整个覆盖否则会丢其他设置。改完重启 ObsidianClaudian 就会从.env读取 TaoToken 的 base URL 和 Key。如果你同时用 Claude Code CLI 做本地调试可以在用户目录下建~/.claude/settings.json写入同样的环境变量{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_API_KEY: sk-你的TaoTokenKey, ANTHROPIC_DEFAULT_OPUS_MODEL: GLM-4.6 } }这样 CLI 和 Obsidian 插件走的是同一个 TaoToken 通道Key 只维护一份。4. 验证请求确认 Agent 真的走了 TaoToken 通道配置写完不代表通了。你需要一个明确的动作来验证请求确实经过 TaoToken而不是悄悄回退到默认通道。最直接的办法是看返回内容里的模型标识以及用 TaoToken 控制台的请求日志。第一步在 Claudian 聊天框输入一个简单指令比如“你好请用一句话说明你当前使用的模型”。如果通道配对了返回内容里通常会带模型名。但有些模型不会自报家门所以更可靠的是第二步。第二步打开 TaoToken 控制台进入请求日志页面。发一条消息后刷新日志应该能看到一条新的请求记录包含时间、模型名、token 消耗。如果日志里没有新记录说明请求没走 TaoToken大概率是.env没被加载或者 base URL 写错了。第三步用 Claude Code CLI 做交叉验证。在终端执行claude -p 用一句话说明当前模型 --output-format json返回的 JSON 里会有model字段。如果这个字段是你映射的模型名比如GLM-4.6说明 CLI 侧通道通了。CLI 通了但 Obsidian 没通问题就在 Claudian 的.env加载上。第四步验证 Skills 是否被识别。在 Claudian 聊天框输入/skills应该列出已安装的 skills。如果列表为空说明.claude/skills/目录路径不对。Windows 是C:\Users\你的用户名\.claude\skills\macOS/Linux 是~/.claude/skills/。把 obsidian-skills 解压后的各个 skill 文件夹放进去重启 Claudian再输/skills确认。实测下来最容易出问题的是.env的编码。如果文件存成了 GBKKey 里的特殊字符会乱码请求直接 401。确保.env用 UTF-8 保存可以用file .env命令检查编码。5. 本篇常见错排查Skills 未显示先确认.claude/skills/路径存在且每个 skill 文件夹里有SKILL.md。Claudian 只认这个文件名大小写敏感。如果路径对但列表还是空检查 Obsidian 控制台设置→Developer→Show Console有没有报错常见的是权限问题macOS 下~/.claude/目录如果被系统保护需要手动授权。模型调用失败 401九成是 Key 问题。先确认.env里的ANTHROPIC_API_KEY没有多余空格或换行。然后去 TaoToken 控制台看 Key 是否被禁用或额度耗尽。如果 Key 正常检查ANTHROPIC_BASE_URL是不是写成了https://taotoken.net/api/带尾斜杠有些 HTTP 客户端会把尾斜杠拼成双斜杠导致 404。中文乱码除了.env编码还要检查data.json的编码。Obsidian 默认写 UTF-8但如果你用外部编辑器改过可能被转成别的编码。用 VS Code 打开右下角确认是 UTF-8。Canvas 无法打开Claudian 生成的.canvas文件如果 JSON 语法错误Obsidian 会打不开。让 AI 生成 Canvas 后先用jq . 文件名.canvas验证 JSON 合法性。常见错误是节点 ID 重复或 edges 引用了不存在的节点。请求走了默认通道如果你在.env里配了 TaoToken但日志里没有记录可能是系统环境变量里已经有一个ANTHROPIC_BASE_URL指向别处优先级高于.env。用echo $ANTHROPIC_BASE_URL检查如果有输出先 unset 再重启 Obsidian。Claudian 设置页打不开按Ctrl/Cmd P输入claudian没反应说明插件没启用成功。去.obsidian/community-plugins.json确认claudian在列表里。如果不在手动加进去重启 Obsidian。6. 把统一通道用起来从配置到日常配置通了之后日常使用其实很简单。你可以在 Claudian 里直接说“用 json-canvas skill 创建一个关于地中海饮食的知识结构图包含核心原则、主要食物、健康益处、烹饪方式四个部分”Agent 会调用 skill 生成.canvas文件存到 vault 根目录你在 Obsidian 里直接打开就能看到节点和连线。批量创建笔记也一样。给它一个大纲让它用 obsidian-markdown skill 生成带双链和标签的.md文件。因为走的是 TaoToken 统一通道你可以在.env里随时切换模型映射比如把ANTHROPIC_DEFAULT_OPUS_MODEL从GLM-4.6改成deepseek-chat重启后同一个 Agent 就换了底层模型而 Skills 和 Obsidian 集成完全不用动。如果你打算长期在 Obsidian 里跑 Agent建议把.claude/目录加入 Git 版本控制但.env排除掉。这样 Skills 和系统提示词可以跟着仓库走Key 留在本地。换电脑时 clone 仓库补一个.env就能恢复整套环境。最后提醒一点Claudian 的 Skills 和 Claude Code 完全兼容所以你在.claude/skills/里写的自定义 skillCLI 和 Obsidian 都能用。写 skill 时遵循 Agent Skill 规范SKILL.md里用 YAML front matter 写name和description正文写清楚 When to Use 和 Instructions。写完重启 Claudian输/skills确认识别到就可以在聊天里显式指定调用了。需要长期跑编码类 Agent 任务的话可以看 TaoToken 的 Coding Plan 页面把通道额度规划一下日常验证模型行为用模型对话入口就够了接入文档里还有更多环境变量和映射参数的说明遇到协议层问题可以去翻。