# WebNovel Assistant **[English](#english)** | **中文** --- [![GitHub release](https://img.shields.io/github/v/release/HatanoChihiro/obsidian-webnovel-assistant)](https://github.com/HatanoChihiro/obsidian-webnovel-assistant/releases) [![License](https://img.shields.io/github/license/HatanoChihiro/obsidian-webnovel-assistant)](LICENSE) 一个功能强大的 Obsidian 插件,专为中文网络小说作者打造,提供创作主页、字数统计、写作目标追踪、伏笔管理、时间线系统、OBS 直播叠加层等丰富功能。 status-view ## 📖 文档 - **[用户使用指南](USER_GUIDE.md)** - 完整的功能说明和使用教程 - **[OBS 叠加层 CSS 指南](OBS_OVERLAY_CSS_GUIDE.md)** - 自定义 OBS 样式 - **[更新日志](CHANGELOG.md)** - 版本更新记录 ## ✨ 核心功能 ### 🏠 创作主页 - **全宽仪表盘**: 2行×2列网格布局,全宽填满编辑器 - **动态欢迎语**: 根据时间段自动变化,显示总字数与今日新增 - **作品总览**: 连载中(含榜单追踪)、存稿中、已暂停、已完结一目了然 - **数据面板**: 效率总览、365热力图、近30日趋势 - **一键新建**: 右侧新建作品按钮,弹窗填写元数据后自动创建 homepage ### 🌑 沉浸写作模式 - **全屏专注**: 隐藏所有干扰元素,提供沉浸式创作环境 - **动态仪表盘**: 实时显示小说标题、计时器、字数统计及专注度分析 - **辅助面板**: 快速唤出章节列表、伏笔追踪、时间线与多功能悬浮便签 - **卡片式布局**: 现代化的辅助面板设计,支持自定义位置与大小 immersive-mode ### 📊 字数统计与目标追踪 - 实时统计字数,适配中文创作平台计算规则 - 章节目标、今日目标、榜单目标,进度可视化 - 写作状态面板显示当前作品信息(目录名、总字数) - **严格章节模式**: 字数统计、进度条及提醒仅在符合规则的章节中生效,写大纲不计入进度 - **字数实时提醒**: 在编辑器左侧行号区域实时显示累计字数提醒,支持自定义间隔 - **高稳定性架构**: 采用编辑器事件与文件系统双重校验,彻底解决字数统计跳变问题 - 文件浏览器显示文件夹字数(高性能缓存,支持万级文件秒开) ### ⏱️ 专注时间追踪 - 自动区分专注时间与摸鱼时间 - **写作数据追踪**: 365热力图、柱状图+虚线趋势曲线、效率总览卡片、累计字数统计 - 历史统计图表(日/周/月/年),支持横向滚动 - Worker 线程处理,不影响编辑性能 history-chart ### 📝 创作辅助工具 - **悬浮便签**: 多端同步、自动保存、独立存储、支持 Markdown 渲染 - **选项卡式设置**: 模块化设置页面,分类更清晰,操作更便捷 - **伏笔管理**: 标注、追踪、多章节回收 - **时间线系统**: 事件记录、多章节关联、类型分类 - **榜单追踪**: 追踪签约平台的榜单任务,自动计算字数增量,到期自动关闭,起始字数可手动修改 - **智能章节排序**:自动识别章节编号排序,支持"大纲"、"番外"等具名章节 - **规则排序优化**:设置页面支持通过 ▲/▼ 按钮自由调整排序规则优先级 - **高级搜索**:支持当前书籍/全局/自定义范围搜索,树形目录多选 - **合并章节**:一键合并文件夹内所有章节 ### 🎥 直播功能 - OBS 叠加层:实时显示写作数据 - 自定义样式、透明度、显示内容 - 零延迟、零磁盘消耗 ### 📱 移动端与跨平台支持 - 浮动字数统计窗口(移动端) - 触摸优化,防误触 - **复制本文档**: 一键复制当前章节,并在首行自动添加文档标题,完美适配社交媒体与发布平台分享 - 跨设备字数统计同步优化 ## 📥 安装 ### 从 Obsidian 社区插件市场安装(推荐) 1. 打开 **设置 → 第三方插件 → 浏览** 2. 搜索 **"WebNovel Assistant"** 3. 点击 **安装**,然后 **启用** ### 使用 BRAT 安装 1. 安装 [BRAT](https://github.com/TfTHacker/obsidian42-brat) 插件 2. 在 BRAT 设置中添加此仓库:`HatanoChihiro/obsidian-webnovel-assistant` 3. 启用插件 ### 手动安装 1. 从 [Releases](https://github.com/HatanoChihiro/obsidian-webnovel-assistant/releases) 下载最新版本 2. 解压到 `.obsidian/plugins/web-novel-assistant/` 3. 重启 Obsidian 并启用插件 ## 🚀 快速开始 1. **安装插件**后,打开任意 Markdown 文件 2. **状态栏**会显示当前字数统计 3. **点击状态栏**可快速设置目标字数 4. **命令面板**(Ctrl/Cmd + P)搜索 "WebNovel" 查看所有功能 5. **插件设置**中可自定义各项功能 详细使用方法请查看 **[用户使用指南](USER_GUIDE.md)** ## 🎯 主要命令 | 命令 | 说明 | |------|------| | 进入/退出 沉浸写作模式 | 切换全屏沉浸创作环境 | | 打开/关闭写作实时状态面板 | 显示详细统计和历史图表 | | 打开/关闭伏笔面板 | 管理伏笔标注和回收 | | 打开/关闭时间线面板 | 管理故事时间线 | | 打开/关闭榜单面板 | 管理榜单追踪任务 | | 开始/暂停 摸鱼时间统计 | 切换时间追踪 | | 标注为伏笔 | 将选中文字标注为伏笔 | | 新建空白悬浮便签 | 创建浮动便签 | | 高级搜索 (筛选书籍/全局/多选目录) | 跨范围搜索内容 | | 自动创建下一章 | 智能递增章节编号 | | 重置直播统计数据 | 清空当前会话数据 | > **提示**:所有命令都可以在 Obsidian 设置 → 快捷键中自定义快捷键 ## ⚙️ 主要设置 | 设置 | 默认值 | 说明 | |------|--------|------| | 默认目标字数 | 3000 | 新文件的默认章节目标 | | 今日目标字数 | 5000 | 今日写作目标 | | 文件浏览器字数统计 | 关闭 | 显示文件夹字数(大型项目建议关闭) | | 智能章节排序 | 关闭 | 自动按章节编号排序 | | 护眼模式 | 关闭 | 编辑器背景护眼色 | | 沉浸模式面板位置 | 下方 | 辅助面板出现的屏幕位置(上方/下方) | | 沉浸模式便签尺寸 | 280 | 沉浸模式下便签卡片的正方形边长 | | 伏笔文件名 | 伏笔 | 伏笔文件的名称 | | 时间线文件名 | 时间线 | 时间线文件的名称 | | 榜单文件名 | 榜单记录 | 榜单记录文件的名称 | 更多设置请查看 **[用户使用指南](USER_GUIDE.md)** ## 🎨 OBS 叠加层快速设置 1. 插件设置 → 启用 **OBS 叠加层** 2. OBS 中添加 **浏览器源** 3. URL 填入:`http://127.0.0.1:24816/` 4. 建议尺寸:宽度 300px,高度 500px 详细自定义方法请查看 **[OBS 叠加层 CSS 指南](OBS_OVERLAY_CSS_GUIDE.md)** ## 📄 许可证 [MIT License](LICENSE) ## 💖 支持项目 如果这个插件对你有帮助,欢迎: - ⭐ 给项目点个 Star - 🐛 [提交问题](https://github.com/HatanoChihiro/obsidian-webnovel-assistant/issues) - 💡 [功能建议](https://github.com/HatanoChihiro/obsidian-webnovel-assistant/discussions) **祝你写作愉快!** ✍️ --- # WebNovel Assistant **English** | **[中文](#webnovel-assistant)** A powerful Obsidian plugin designed for Chinese web novel writers. Features accurate word count, writing goal tracking, focus/slack time analysis, foreshadowing management, timeline system, sticky notes, and OBS streaming overlay — all optimized for the Chinese writing workflow. status-view ## Features - **Accurate Word Count** — Tailored for Chinese web novel platforms, excludes Markdown syntax and punctuation - **Writing Goals** — Chapter goal, daily goal, and ranking goal with real-time progress tracking - **Creative Homepage** — Full-width dashboard with 2×2 grid layout, dynamic welcome, novel overview, stats panel, one-click new novel - **Focus Timer** — Automatic focus/slack time detection with Web Worker threading - **Immersive Mode** — Full-screen distraction-free writing with dashboard and auxiliary panels - **Foreshadowing Manager** — Mark, track, and recover story foreshadowing across chapters - **Timeline System** — Track story events with multi-chapter associations and custom types - **Sticky Notes** — Floating notes with auto-save and Markdown rendering - **OBS Overlay** — Real-time writing stats overlay for live streaming (local HTTP server, 127.0.0.1 only) - **Smart Chapter Sorting** — Auto-detect chapter numbers (Arabic/Chinese) and sort in file explorer - **Advanced Search** — Search across current book, global, or custom folder scopes with tree-based directory selection - **Chapter Merge & Export** — One-click merge all chapters into a single file - **Mobile Support** — Floating word count, touch-optimized controls, cross-device sync ## Installation ### From Obsidian Community Plugins (Recommended) 1. Open **Settings → Community Plugins → Browse** 2. Search for **"WebNovel Assistant"** 3. Click **Install**, then **Enable** ### Using BRAT 1. Install the [BRAT](https://github.com/TfTHacker/obsidian42-brat) plugin 2. Add this repository: `HatanoChihiro/obsidian-webnovel-assistant` 3. Enable the plugin ### Manual Installation 1. Download `main.js`, `manifest.json`, and `styles.css` from the [latest release](https://github.com/HatanoChihiro/obsidian-webnovel-assistant/releases) 2. Create folder `.obsidian/plugins/web-novel-assistant/` in your vault 3. Copy the downloaded files into that folder 4. Restart Obsidian and enable the plugin in Settings → Community Plugins ## Quick Start 1. After installation, open any Markdown file 2. The **status bar** displays real-time word count 3. Use **Command Palette** (Ctrl/Cmd + P) and search "WebNovel" to access all commands 4. Configure features in **Settings → WebNovel Assistant** 5. See the full [User Guide](USER_GUIDE.md) for detailed instructions ## License [MIT License](LICENSE)