使用说明
哦,我的TIL
英语 | 韩语
用于AI驱动的TIL(Today I Learned)学习工作流程的Claude Code插件。作为独立的CLI工作(npx oh-my-til)或者作为带有嵌入式Claude Code终端的黑曜石插件。
特性
- 嵌入式终端 --黑曜石侧边栏中的Claude Code终端(xterm.js+node-pty)
- 内置MCP服务器 --Claude Code可以通过HTTP直接访问您的保险库
- 学习仪表板 --TIL统计数据和类别细分概览
- 自动安装技能 —
/til,/research,/backlog,/save,/til-review,/til-lint,/dashboard命令开箱即用 - 间隔重复(SRS) --基于SM-2算法的TIL笔记复习调度
- Markdown链接检测 —
[text](path)终端中的链接可点击并打开注释(CJK感知) - TIL触发器的积压 --单击空积压链接以启动TIL会话
- 文件监视器 --新创建的TIL文件在编辑器中自动打开
运作原理
Command Palette → Open Terminal → Claude Code starts
→ Run /til, /backlog, /research, /save, /til-review, /til-lint, /dashboard skills
→ Claude researches → interactive learning → saves TIL markdown
→ New file detected → opens in editor
安装
选项A:Claude代码插件(推荐)
直接安装为Claude Code插件——技能、MCP服务器和钩子都是自动注册的。
先决条件: Node.js 18+ / 克劳德代码 v1.0.33+
# Add marketplace (project scope recommended — only active in this TIL vault)
claude plugin marketplace add https://github.com/SongYunSeop/oh-my-til.git --scope project
# Install plugin
claude plugin install oh-my-til@oh-my-til --scope project
技能是按命名空间排列的: /oh-my-til:til, /oh-my-til:research, /oh-my-til:backlog等等。
选项B:独立CLI(不含Obsidian)
先决条件: Node.js 18+ / 克劳德代码CLI (claude)
-
安装Claude Code插件 (上面的选项A)--技能和MCP服务器是自动注册的。
-
启动克劳德代码 和使用
/til,/research,/backlog立即掌握技能:cd ~/my-til claude -
(可选)注册MCP服务器 --让Claude Code查询您的TIL文件(stdio模式,适用于Claude Desktop):
claude mcp add oh-my-til -- npx oh-my-til mcp ~/my-til
选项C:黑曜石插件
先决条件: 黑曜石 v1.5.0+/ Node.js 18+ / 克劳德代码CLI (claude)
使用npx(推荐)
直接安装黑曜石插件:
npx oh-my-til install-obsidian /path/to/your/vault
在macOS上自动检测电子版本。要覆盖,请执行以下操作:
ELECTRON_VERSION=37.10.2 npx oh-my-til install-obsidian /path/to/your/vault
要查找您的Electron版本,请打开Obsidian的开发工具(Ctrl+Shift+I)并运行
process.versions.electron.
手动安装(来源)
git clone https://github.com/SongYunSeop/oh-my-til.git
cd oh-my-til
npm install
ELECTRON_VERSION=<your-electron-version> npm run deploy -- /path/to/your/vault
安装后,重新启动Obsidian并启用 哦,我的TIL 在“设置”>“社区插件”中。
MCP服务器设置(可选)
该插件包括一个内置的MCP服务器,因此Claude Code可以直接访问您的保险库:
claude mcp add --transport http oh-my-til http://localhost:22360/mcp
配置
| 设置 | 默认值 | 说明 |
|---|---|---|
| Shell路径 | 系统默认值 | 终端中使用的Shell |
| 自动启动克劳德 | true |
快跑 claude 当终端打开时 |
| 恢复上次会话 | false |
继续上一次克劳德会议(--continue) |
| 字体大小 | 13 |
终端字体大小(px) |
| 字体系列 | Menlo |
终端字体(Menlo、SF Mono、Fira Code、JetBrains Mono等) |
| 线条高度 | 1.0 |
端子线间距(1.0=默认值,最多2.0) |
| TIL路径 | til |
TIL文件夹路径。技能会自动跟随它(首先解析CLI: --til-path → TIL_PATH env → oh-my-til.json → 黑曜石背景→ 默认) |
| 自动打开新TIL | true |
在编辑器中自动打开新的TIL文件 |
| 启动时打开仪表板 | false |
Obsidian启动时打开学习仪表板 |
| 克劳德·阿格斯 | (空) | 其他论点传递给 claude 命令 |
MCP工具
当MCP服务器连接时,Claude Code可以使用以下工具:
| 工具 | 说明 |
|---|---|
til_list |
列出按类别分组的TIL文件(支持 search 过滤器) |
til_save_note |
使用经过验证的frontmatter和路径约定保存TIL注释(自动积压检查) |
til_backlog_status |
带有复选框计数的积压进度摘要 |
til_backlog_check |
将积压项标记为由slug完成(独立使用) |
til_get_context |
获取主题的现有知识上下文(文件、链接、未解决的提及) |
til_recent_context |
按日期分组的最近学习活动 |
til_dashboard |
学习统计摘要 |
til_review_list |
到期审查卡列表+统计数据(SRS、支持 include_content) |
til_review_update |
记录审核结果或从审核中删除 |
til_get_path |
返回vault的已配置TIL文件夹路径(对于没有SessionStart挂钩的环境,回退) |
克劳德技能
插件会自动安装这些技能 .claude/skills/:
| 技能 | 命令 | 描述 |
|---|---|---|
| 直到 | /til <topic> [category] |
研究一个主题→ 互动学习→ 保存TIL |
| 研究 | /research <topic> [category] |
研究一个主题并创建学习积压 |
| 积压 | /backlog [category] |
查看学习积压和进度 |
| 保存 | (由/til自动调用) | 使用MOC和待办事项列表更新保存TIL标记 |
| til回顾 | /til-review [category] |
基于SRS的间隔重复审查会话(SM-2算法) |
| 直到棉绒 | /til-lint [category] |
TIL wiki健康检查-缺少前端内容、断开链接、孤立TIL、未处理的原始源 |
| 仪表盘 | /dashboard |
学习仪表板——统计数据、活动热图、类别、待办事项进度 |
| omt设置 | /omt-setup [subcommand] |
统一设置——初始化、部署和管理oh-my-til |
| 设置黑曜石 | /setup-obsidian |
在当前vault中安装Obsidian桌面插件 |
发展
npm run dev # Watch mode (esbuild)
npm test # Run tests (vitest)
npm run rebuild-pty # Rebuild node-pty for Obsidian's Electron
npm run deploy -- /path # Deploy to vault
npm run deploy -- --refresh-skills /path # Deploy with skill/rule refresh
项目结构
src/
├── core/ # Platform-independent pure logic
│ ├── backlog.ts # Backlog parsing/formatting (pure functions)
│ ├── context.ts # Learning context helpers (pure functions)
│ ├── stats.ts # TIL statistics (pure functions)
│ ├── srs.ts # Spaced repetition (SM-2 algorithm, review cards/stats)
│ ├── migrate-links.ts # Wikilink [[]] → [](path) conversion (internal utility)
│ ├── keyboard.ts # Shift+Enter → \n (multiline support)
│ ├── env.ts # macOS PATH resolution (Homebrew)
│ ├── skills.ts # Version comparison / placeholder substitution
│ ├── cli.ts # CLI argument parsing (pure functions)
│ ├── config.ts # Config file parsing/loading (pure functions)
│ ├── markdown.ts # Markdown → HTML conversion (no external deps)
│ ├── profile.ts # Static site page generation (profile, TIL pages, category index)
│ └── index.ts # Barrel export
├── ports/ # Adapter interfaces
│ ├── storage.ts # FileStorage interface
│ └── metadata.ts # MetadataProvider interface
├── adapters/ # Port implementations
│ ├── fs-adapter.ts # node:fs based (standalone)
│ └── obsidian-adapter.ts # Obsidian App based
├── mcp/ # MCP server (port-dependent, Obsidian-free)
│ ├── context.ts # Learning context tools (topic matching, category extraction)
│ └── tools.ts # MCP tool definitions (FileStorage + MetadataProvider)
├── cli/ # Standalone CLI entry point
│ ├── index.ts # npx oh-my-til mcp / install-obsidian / deploy
│ └── obsidian-install.ts # Auto-install Obsidian plugin (Electron detection, node-pty rebuild)
└── obsidian/ # Obsidian platform adapter
├── main.ts # Plugin entry point
├── settings.ts # Settings tab & interface
├── watcher.ts # File watcher → open in editor
├── terminal/
│ ├── TerminalView.ts # Sidebar terminal (ItemView + xterm.js)
│ ├── MarkdownLinkProvider.ts # 3 ILinkProviders: Markdown, Filepath, OSC 8
│ └── pty.ts # PTY process manager (node-pty)
└── dashboard/
└── DashboardView.ts # Learning dashboard (ItemView)
技术栈
| 运行时 | TypeScript,黑名单插件API |
| 终端 | xterm.js,节点pty |
| 主控程序 | @modelcontextprotocol/sdk |
| 构建 | esb构建 |
| 测试 | 请柬 |
路线图
- [x] 嵌入式克劳德码终端
- [x] 内置MCP服务器
- [x] 学习仪表板(基本统计数据)
- [x] 独立CLI(
npx oh-my-til)--不含黑曜石 - [x] 间隔重复(SRS)——基于SM-2的评审排程
- []仪表板中的待办事项进度条
- []可配置的TIL文件夹路径
- []丰富的仪表板——最近的TIL、连胜、每周总结
- []动态代码块(
til-moc)--在没有数据视图的情况下自动呈现TIL列表 - []多终端选项卡--运行多个Claude Code会话
- []笔记链接--自动插入相关笔记的反向链接
致谢
- 克劳德码终端 --原始的xterm.js+node-pty黑曜石集成模式
- 黑曜石开发者文档
- MCP TypeScript SDK