Draftsmith

unlisted

by Frank Fang

AI writing assistance with flexible work modes and multi-provider model support.

Updated 16d agoMIT
View on GitHub

Draftsmith for Obsidian

一个极简、低打扰、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.mdstyle-guide.mdglossary.md
  • 风格指南和术语表自动注入普通分析、续写与审校
  • AI 写作动作默认折叠,需要时再展开
  • 章节状态通过 frontmatter 保存,示例:
---
title: 为什么需要 Agent Skill
section: 1.2.1
order: 12
status: draft
target_words: 2500
---

如果某个 Markdown 是研究资料而非章节,可在 frontmatter 中填写 book_exclude: truebook_role: research

本地安装

也可以从 GitHub Releases 下载对应版本的 main.jsmanifest.jsonstyles.css

npm install
npm run build

然后把以下三个文件复制到 Vault:

<Vault>/.obsidian/plugins/draftsmith/
├── main.js
├── manifest.json
└── styles.css

在 Obsidian 的「设置 → 第三方插件」中启用 Draftsmith。点击闪光图标打开对话面板,选择“连接模型”填写 API Key;选中文字后也可以通过右键菜单直接打开 Draftsmith。工作台图标用于在自由、文章和书籍模式间切换。

设计原则

  1. 不抢写作控制权:模型不能自动改正文。
  2. 不为挑错而挑错:提示词明确要求“没有问题就直说”。
  3. 不默认上传整篇:实时模式只取光标附近上下文。
  4. 不绑定厂商:业务层只面对统一分析结果,底层适配 Anthropic Messages 和 OpenAI Compatible 两类协议。
  5. 不隐藏成本:实时模式默认关闭,状态栏持续显示当前状态。

隐私说明

请求由 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 结构。

For plugin developers

Search results and similarity scores are powered by semantic analysis of your plugin's README. If your plugin isn't appearing for searches you'd expect, try updating your README to clearly describe your plugin's purpose, features, and use cases.