一个极简、低打扰、AI 原生的 Obsidian 写作搭档,也是一套不预设内容形式的 Markdown 创作工作台。围绕当前笔记持续提问、续写、改写或挑战观点;任何正文修改都需要你确认。
- 持续对话:可以追问上一轮,不需要每次重新描述上下文
- 自由指令:提问、续写、改写、压缩、审校或执行任意写作要求
- 智能范围:有选区时优先处理选区,否则使用当前笔记
- 原生入口:在编辑器右键菜单中把选区直接交给 Draftsmith
- 修改预览:通过前后 diff 定位、检查和应用,保留 Obsidian 撤销能力
- Markdown 回答:支持列表、段落和结构化内容
- 自动建议:可开关、可调等待时间,默认关闭
- 多模型服务:OpenAI、Anthropic、Gemini、DeepSeek、通义千问、Kimi、GLM、豆包、OpenRouter、Groq、Ollama 和自定义 OpenAI 兼容服务
- 同一服务商可保存多份模型档案,自由修改协议、地址和模型
- 从服务商在线获取可用模型,也始终允许手工填写模型 ID
- 在辅助面板、创作工作台或命令面板跨服务商、跨模型快速切换
- 模型连接健康状态与可选自动故障切换
- 手动对话可选择选区或整篇笔记;自动建议默认只读取光标附近内容
- 中文、英文或跟随笔记语言
- 默认是无结构的自由写作,不要求目录或 frontmatter
- 三种平级模式:自由写作、独立文章、书籍项目
- 文章模式把每篇 Markdown 视作独立作品
- 只有书籍模式才启用章节状态、目录范围、大纲和术语一致性
- 书籍模式可使用整个 Vault 或指定一个文件夹,不创建封闭数据库
- 书籍模式是轻量项目导航,而不是独立写书应用
- 大纲、风格指南和术语表仍然是可直接打开的普通 Markdown
- 自动扫描章节、字数与文件顺序
- 章节状态流:
outline → researched → draft → reviewed → final - 初始化
_book/outline.md、style-guide.md、glossary.md - 风格指南和术语表自动注入普通分析、续写与审校
- AI 写作动作默认折叠,需要时再展开
- 章节状态通过 frontmatter 保存,示例:
---
title: 为什么需要 Agent Skill
section: 1.2.1
order: 12
status: draft
target_words: 2500
---如果某个 Markdown 是研究资料而非章节,可在 frontmatter 中填写 book_exclude: true 或 book_role: research。
也可以从 GitHub Releases 下载对应版本的 main.js、manifest.json 和 styles.css。
npm install
npm run build然后把以下三个文件复制到 Vault:
<Vault>/.obsidian/plugins/draftsmith/
├── main.js
├── manifest.json
└── styles.css
在 Obsidian 的「设置 → 第三方插件」中启用 Draftsmith。点击闪光图标打开对话面板,选择“连接模型”填写 API Key;选中文字后也可以通过右键菜单直接打开 Draftsmith。工作台图标用于在自由、文章和书籍模式间切换。
- 不抢写作控制权:模型不能自动改正文。
- 不为挑错而挑错:提示词明确要求“没有问题就直说”。
- 不默认上传整篇:实时模式只取光标附近上下文。
- 不绑定厂商:业务层只面对统一分析结果,底层适配 Anthropic Messages 和 OpenAI Compatible 两类协议。
- 不隐藏成本:实时模式默认关闭,状态栏持续显示当前状态。
请求由 Obsidian 直接发送给所选模型服务商,不经过本插件自己的服务器。只有在你主动分析、测试连接、获取模型,或开启实时辅助后,插件才会发起网络请求。使用云端模型通常需要你自行注册相应服务商账号、填写 API Key,并可能由服务商收取费用;本插件不收费、不展示广告、不包含遥测或使用情况追踪。Obsidian 1.11.4+ 使用 SecretStorage 保存 API Key,并自动迁移旧密钥;为兼容 Obsidian 1.10.x,旧版本会退回插件 data.json,因此不要同步或共享其中包含私人密钥的插件配置。Ollama 可用于完全本地的模型推理。
本仓库已经把原 Note Copilot、reader 和 OpenDesk 收口为 Draftsmith 的一个构建、一个设置系统和一个运行时。详细模块边界见 统一项目架构。
npm run dev
npm test
npm run build基于官方 Obsidian sample plugin 的 TypeScript + esbuild 结构。