一個用於管理 Obsidian vault 中小說專案的命令列工具,整合 OpenAI 功能。 目前專注於生成中文小說,所以預設模板和範例均為中文內容。
- 初始化結構化的 Obsidian vault 小說專案
- 掃描和分析現有專案結構(支援 JSON 格式輸出)
- 使用 OpenAI GPT 模型生成章節
- 重新生成現有章節內容
- 建立空白章節範本
- 使用 OpenAI GPT 模型生成角色檔案
- 重新生成現有角色檔案
- 使用 OpenAI DALL-E 生成角色圖片
- 匯出小說為文字檔案
- 更新 Obsidian Novel Maker 外掛
- 組織角色(Character/)、世界觀(World/)和故事章節(Story/)
- 支援 YAML frontmatter 元數據
- 自訂提示詞模板系統
- Go 1.25.4 或更高版本
- OpenAI API 金鑰(用於章節生成)
brew tap voilelab/novelmaker https://github.com/voilelab/gonovelmaker
brew install voilelab/novelmaker/novelmaker-obs在 ~/.novelmaker/config.toml 建立設定檔。
# 指定預設使用的後端
user_llm_backend = "openai"
# 定義多個命名後端
[llm_backend.openai]
type = "openai"
api_key = "sk-xxx"
base_url = "https://api.openai.com/v1"
model = "gpt-4o"
image_model = "dall-e-3"
[llm_backend.openrouter]
type = "openai"
api_key = "sk-or-xxx"
base_url = "https://openrouter.ai/api/v1"
model = "anthropic/claude-3.5-sonnet"
image_model = "openai/dall-e-3"
[llm_backend.custom]
type = "openai"
api_key = "your-api-key"
base_url = "https://your-custom-endpoint.com/v1"
model = "your-model-name"
image_model = "your-image-model"設定選項說明:
user_llm_backend- 預設使用的後端名稱(例如:"openai", "openrouter")llm_backend.[名稱]- 定義一個命名後端,可定義多個type- 後端類型(目前支援 "openai")api_key- 該後端的 API 金鑰base_url- API 端點 URLmodel- 使用的文字生成模型image_model- 使用的圖片生成模型
首次執行工具時,如果設定檔不存在,會自動在 ~/.novelmaker/ 建立範例設定檔。
go build ./cmd/novelmaker-obsgo test ./...Q: 如何更換 OpenAI 模型?
A: 在 ~/.novelmaker/config.toml 中設定 model 欄位,例如 model = "gpt-4o-mini" 或 model = "gpt-4"。
Q: 可以使用其他相容 OpenAI API 的服務嗎?
A: 可以,設定 base_url 欄位指向第三方服務端點,例如 Azure OpenAI 或其他本地部署的模型服務。
Q: 生成的內容會自動加入專案嗎?
A: 是的,gen-next 和 gen-char 命令會自動建立對應的 Markdown 檔案並加入適當的 frontmatter。
Q: 如何自訂生成的章節或角色格式?
A: 編輯 ~/.novelmaker/templates/ 中的提示詞範本檔案,調整提示詞內容和格式。
Q: 如何更新 Obsidian 外掛?
A: 在 vault 根目錄執行 novelmaker-obs update-plugin 命令,會自動複製最新的外掛檔案到 .obsidian/plugins/obsidian-novelmaker/ 目錄。
Q: 生成圖片時遇到超時怎麼辦?
A: 使用 --timeout 參數增加超時時間,例如 --timeout 120 設定為 120 秒。DALL-E 生成圖片通常需要較長時間。
本專案 NovelMaker Core / CLI 以 BSD 3-Clause License(3 條款 BSD 授權) 釋出。 您可以自由使用、修改、重製與散布本專案的核心程式碼, 也可將其整合進您自己的專案(包含商業用途)。
BSD-3 授權 僅適用於本版本庫中的:
- 核心程式碼(cmd/, internal/, novelmaker/)
- 基礎範例與範本(cmd/novelmaker-obs/templates/)
- 設定檔格式與範例(internal/config/example_config.toml)
- 內建提示詞範本(internal/config/templates/)
以上內容均可依 BSD-3 使用,包含商用、重製與二次散布。
以下類型的內容並未包含於 BSD-3 授權範圍內,仍保留原作者完整權利:
- 作者實際使用的寫作提示語(Prompts)
- 任何 世界書(Worldbook)包含角色設定、劇情資料、背景知識、概念文檔等
- Obsidian Vault 或其他形式的小說原文、草稿、章節規劃
除非另行以書面方式授權,以上內容均不得視為本專案的開源部分。
