Obsidian + Claudian,我的 LeetCode 刷题搭子

一道 medium 题,从看题到写完笔记,20 分钟搞定。不是因为我多强,而是因为我找到了正确的工具组合。


传统的刷题方式,痛点在哪?

我刷 LeetCode 有一阵子了,最深的感受是——刷过的题总是忘

典型的循环是这样的:

看题 → 想思路 → 看题解 → 抄一遍 → 过几天 → 忘了 → 重看

而且每次解题遇到的问题都不一样:边界条件没处理好、溢出判断写错了、某种语言的特性和另一种语言表现完全不同……这些经验如果不记下来,下次遇到又是从头踩坑。

我也试过记笔记,但用普通编辑器记笔记太割裂——题解在一个地方,代码在一个地方,写的笔记又在一个地方,来回切换,效率低下。

后来我找到了一个组合,完美解决了这个问题:Obsidian + OpenCode(Claudian AI)


解决方案:Obsidian + 内置 AI 助手

这套工作流的核心理念是:所有事情都在 Obsidian 里完成,不切应用

Obsidian:你的第二大脑

Obsidian 是一个基于本地 Markdown 文件的知识管理工具。它不是传统的笔记软件,而是一个"第二大脑"——所有笔记都是纯文本文件,存在本地,完全由你掌控。

为什么选 Obsidian 而不是 Notion、飞书这类在线工具?

  • 本地优先:笔记存在本地,永远不用担心服务关停数据丢失
  • 纯 Markdown:没有专有格式,未来任何工具都能打开
  • 双向链接[[题解笔记]] 可以把相关笔记串联起来,形成知识网络
  • 插件生态:4000+ 插件,几乎可以扩展成任何你想要的工具

OpenCode + Claudian:嵌入 Obsidian 的 AI 助手

OpenCode 是一个开源的 AI 编码助手。而 Claudian 是一个专门为 Obsidian 设计的 AI 代理——它直接运行在你的 Obsidian 窗口里,能读写你的笔记文件,就像你多了一个精通算法、熟悉 PHP 和 Go 的私人助教。

Claudian 最大的特点是 "Obsidian Native"

  • 它理解 Markdown、YAML frontmatter、Wiki 链接
  • 可以在你的笔记目录里直接创建、编辑、整理文件
  • 每次对话都带着当前笔记的上下文
  • 你选中一段代码发过去,它直接在 vault 里帮你写好题解笔记

Claudian 本身是一个模型无关的 AI 框架,可以接入多种后端:

AI 后端 费用情况
Claude (Anthropic) 付费
OpenCode 免费+付费模型可选
PI (Codestral) 免费额度
Codex (CURSOR) 付费

我目前用的是 OpenCode 的后端,选用 DeepSeek V4 Flash 模型——完全免费,速度和效果都很满意。


我的 LeetCode 刷题工作流

第一步:看题,自己先写一遍

看到一道题,先自己独立思考。用 PHP 先写一版,确保算法逻辑想通了。然后用 Go 再写一遍。

这一步不依赖 AI,目的是暴露问题——只有自己写过才知道哪些地方不清楚。

第二步:把代码丢给 Claudian

写完代码后,选中代码,直接在 Obsidian 里发给 Claudian:

帮我看看这段代码哪里有问题

Claudian 会:

  1. 找 bug——不光是逻辑错误,还包括类型系统的隐性坑
  2. 解释原因——为什么这个写法能编译通过但逻辑不对
  3. 对比语言差异——PHP 这样写可以,为什么 Go 不行

举个例子,写 myAtoi 的时候我犯了这个错:

// 我写的
for i < n && i >= '0' && i <= '9' {
// 应该写成
for i < n && s[i] >= '0' && s[i] <= '9' {

is[i] 在 Go 里都是整数类型,编译能过,但逻辑全错。Claudian 帮我揪出这个 bug 的同时,还解释了 Go 无类型常量的弹性机制——我算是彻底搞懂了。

第三步:追问到底

这是最值钱的一步。Claudian 解释完 bug 后,我会追着问:

  • "Go 的 intint32 到底有什么区别?"
  • "PHP 字符串比大小是按 ASCII 码吗?"
  • "math.MaxInt32 是什么类型?"

Claudian 会根据你的背景(PHP 开发者转 Go)来做针对性解释,拿 PHP 的概念做类比,帮助理解 Go 的设计。

第四步:沉淀成笔记

问明白了之后,让 Claudian 直接按模板生成题解笔记:

按照 AGENTS.md 的模板,帮我生成这道题的题解笔记

Claudian 会自动:

  • LeetCode/ 目录下创建 题号. 题目名称.md
  • 按「题目描述 → 解题思路 → PHP 解法 → Go 解法 → 差异总结 → 扩展知识」的结构组织
  • 把刚才踩的坑也写进"经典踩坑点"章节
  • 加上标签(#leetcode #字符串 #溢出处理 等)

笔记永久保存在 Obsidian vault 里,以后随时可以用 [[题号]] 链接引用。

整个流程的用时

自己写代码:    8 分钟
AI review:     3 分钟
追问理解:      5 分钟
生成笔记:      2 分钟
总计:          18 分钟

比传统方式省去了"去论坛看题解 → 理解别人写的 → 自己再翻译成笔记"这个绕路的过程。


为什么这个搭配效果好?

1. 零上下文切换

Claudian 直接嵌在 Obsidian 里,不需要在浏览器、编辑器、笔记软件之间来回切换。选中代码 → 发送 → 收到解答 → AI 直接写入笔记,全程在一个界面里完成。

2. 知识沉淀自然发生

传统 AI 对话用完就没了,下次想问同类问题还得重新问。而在这个工作流里,每次对话的成果都会被 AI 以笔记形式写入 vault,形成长期积累。几周后回头看,你会发现已经建立起一个完整的算法知识库。

3. 用 AGENTS.md 定义你的专属 AI 认知

Claudian 是怎么做到知道你的背景、理解你的需求的?关键在于 AGENTS.md——和 AI 协作的"工作说明书"。

在 Obsidian vault 的 LeetCode/ 目录下,有一个 [[LeetCode/AGENTS.md]] 文件,里面写着:

# AI Agent 工作指南

## 用户背景
- 身份:PHP 开发工程师
- 学习目标:学习 Go 语言
- 当前状态:对 Go 语言语法不太熟悉
- 练习方式:LeetCode 算法题,每道题用 PHP 和 Go 各写一遍

每次跟 Claudian 对话时,它会自动读取这个文件,从而知道:

  • 你的身份和当前水平
  • 你的学习目标
  • 你偏好的输出格式
  • 你想要对比哪些方面

所以它给出的解答天然就是针对你的——不是泛泛的通用题解,而是一个懂你的助教。

AGENTS.md 的价值不止于此。 它不只限于算法题,你可以扩展到任何场景:

## 用户背景
- 身份:前端开发,刚转后端
- 技术栈:熟悉 React,想学 Go
- 痛点:数据库设计经验不足
- 输出要求:每个方案要附带 ER 图说明

只要在 AGENTS.md 里写清楚你是谁、要什么、偏好什么格式,AI 就会按照这个模板来交付。 这也是整个工作流中最有扩展性的一环——每个人都可以根据自己的需求来定制,不限于 PHP、不限于 LeetCode、不限于学语言。


如何开始使用?

安装 Obsidian

  1. 前往 obsidian.md 下载对应系统的客户端
  2. 创建一个 vault(知识库文件夹),或者直接使用已有的 Markdown 笔记文件夹
  3. (可选)安装社区插件增强功能

安装 OpenCode

  1. 前往 opencode.ai 下载客户端
  2. 安装完成后启动,注册账号
  3. 在 Settings → Models 中选择 DeepSeek V4 Flash(免费)或其他可用模型
  4. 在你的 Obsidian vault 根目录启动 OpenCode,它会自动识别 vault 结构和文件

配置 Claudian

OpenCode 内已包含 Claudian Agent 模式,启动后默认激活。你也可以自定义配置 opencode.json 来调整 AI 的行为模式(安全模式、权限级别等)。

下面是我的工作区


最后

这套工作流我用了一个多月,最明显的感受是:以前刷题是靠记忆,现在刷题是在构建知识体系

每一道题不是刷完就扔,而是融入了自己的知识库,跟之前的知识形成了网络。Claudian 负责接住我的代码,指出我看不见的问题,然后把所有的认知沉淀成笔记。我只需要做一件事——专注思考。

工具组合在这里:

如果你也在刷题,不妨试试这个搭配。

完整的AGENTS.md文件,可以查询这个仓库:https://github.com/helloHupc/daily-algo

暂无评论

发送评论 编辑评论


				
上一篇