Skip to content

oxroot-crypto/QuillForge

Repository files navigation

QuillForge

QuillForge

AI-Powered Novel Writing Assistant

License Vue 3 Tauri 2 Rust TypeScript


QuillForge is a desktop application for web novel authors, combining a rich text editor with AI-assisted writing capabilities. It supports multiple LLM providers (OpenAI, Anthropic, Ollama, and OpenAI-compatible APIs), stores all data locally with encrypted credentials, and features an inline ghost-text completion system inspired by modern code editors.

✨ Features

📚 Book & Chapter Management

Hierarchical organization: books → chapters, with per-book world settings, story outlines, and character profiles that serve as AI context.

🔍 AI Review

Select text and receive grammar, pacing, character consistency, and plot logic feedback with one click.

💡 Idea Generation

Describe your current plot point and get 3–5 creative directions, informed by your book's established world and characters.

✍️ Inline Ghost-Text Continuation

AI-generated prose appears as ghost text directly in the editor. Tab to accept, Esc to dismiss — just like IDE code completion.

🌍 World-Building Generator

Generate world settings and character profiles with structured AI output. Auto-parsed into editable form fields.

🔌 Multi-Provider Support

OpenAI · Anthropic · Ollama · OpenAI-compatible (DeepSeek, Qwen, Doubao, etc.). Save as named presets and switch from the toolbar.

🌐 Internationalization

Chinese (简体中文) and English. Switch on the fly from the toolbar.

🎨 Dark & Light Themes

One-click toggle. Follows system preference by default.

🛡️ Security

  • API keys are encrypted with AES-256-GCM and stored in the Tauri secure store
  • Keys never leave the Rust backend — the frontend only knows whether a key is configured
  • All LLM HTTP requests are proxied through the Rust layer

🏗️ Tech Stack

Layer Stack
Desktop Shell Tauri 2.x
Frontend Vue 3 + TypeScript + Vite
State Pinia
Editor TipTap (ProseMirror)
i18n vue-i18n
Backend Rust — reqwest, tokio, aes-gcm

🚀 Quick Start

Prerequisites

# Install dependencies
npm install

# Start development
npm run tauri dev

# Production build
npm run tauri build

📁 Project Structure

├── src/                          # Vue 3 frontend
│   ├── components/
│   │   ├── ai/                   # ReviewResult, IdeaResult, ContinueResult, AiPanel
│   │   ├── common/               # AppLayout, TitleBar, LoadingDots
│   │   ├── editor/               # NovelEditor, BookSidebar, BookSettingsPanel, CharacterPanel
│   │   └── settings/             # SettingsDialog, ProviderCard, ApiKeyInput
│   ├── stores/                   # Pinia (book, editor, settings, theme, i18n)
│   ├── commands/                 # Tauri invoke wrappers
│   ├── extensions/               # TipTap GhostText extension
│   ├── i18n/locales/             # zh-CN, en-US
│   └── types/                    # TypeScript definitions
│
├── src-tauri/                    # Rust backend
│   └── src/
│       ├── commands.rs           # Tauri commands (AI, persistence, export)
│       ├── crypto.rs             # AES-256-GCM encrypt/decrypt
│       └── llm/                  # Provider implementations (OpenAI, Anthropic, Ollama, compat)
│
├── package.json
├── vite.config.ts
└── tsconfig.json

📄 License

MIT © 2026 oxroot & Claude


Built with ❤️ by oxroot & Claude

About

AI powered novel write assistant/AI网文写作助手

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors