WebNovel Assistant
This plugin has not been manually reviewed by Obsidian staff. A comprehensive Obsidian plugin for web novel writers. Track word counts, goals, and focus time. Manage foreshadowing, timelines, and timed tasks. Includes a bilingual UI and OBS overlay.
The above warnings are based on limited information and might not always be accurate.
Data
| ID | web-novel-assistant |
| Author | HatanoChihiro |
| Minimum Obsidian Version | 1.8.7 |
| Official Release Date | 2026-05-20 |
| Last update | 2026-06-12 |
Last Refresh
Obsidian Stats last refreshed the data behind this page on Jun 15, 2026.
| Community plugin snapshot | Jun 15, 2026 |
| Repository clone | last successful checkout Jun 15, 2026 |
| Release acquisition | release metadata checked Jun 15, 2026; latest main.js acquired |
Quick Links
Changes
| Date | Changed Property | Old Value | New Value |
|---|---|---|---|
| 2026-05-20 | Plugin Added | ||
| 2026-05-24 | Plugin Removed | ||
| 2026-05-24 | Plugin Re-Added | ||
| 2026-06-02 | Plugin Removed | ||
| 2026-06-02 | Plugin Re-Added | ||
| 2026-06-08 | Plugin Removed | ||
| 2026-06-09 | Plugin Re-Added | ||
| 2026-06-11 | Plugin Removed | ||
| 2026-06-11 | Plugin Re-Added | ||
| 2026-06-13 | description | This plugin has not been manually reviewed by Obsidian staff. Track word count, writing goals, focus time, and manage foreshadowing for Chinese web novel writing with OBS streaming overlay support. | This plugin has not been manually reviewed by Obsidian staff. A comprehensive Obsidian plugin for web novel writers. Track word counts, goals, and focus time. Manage foreshadowing, timelines, and timed tasks. Includes a bilingual UI and OBS overlay. |
| 2026-06-14 | Plugin Removed | ||
| 2026-06-15 | Plugin Re-Added |
Repository Data
| License | MIT in package.json MIT in LICENSE
file
|
| Package Manager | npm |
| Uses Typescript | Yes |
| Installed Bundlers | esbuild |
| Installed Testing Frameworks | Vitest |
| Has Test Files | Yes |
Latest Release main.js Size
| 382 KB |
| Detected ES Version | ES2022 |
| Probably Minified | Yes |
| main.js API Findings | 11 disclosures |
| Uses BRAT beta releases | No |
| Dependencies | None |
| Dev Dependencies | @codemirror/state, @codemirror/view, @typescript-eslint/eslint-plugin, @typescript-eslint/parser, esbuild, eslint, obsidian, ts-morph, tslib, typescript, vitest |
main.js API Findings
These conservative findings come from static analysis of the latest release main.js. The table includes warnings and high-confidence
informational findings; lower-confidence informational findings are omitted to reduce false positives. Warnings indicate usage of potentially risky
APIs, but such APIs can be used safely if handled with care.
| Disclosure | Detected From |
|---|---|
| Clipboard Access | Reads or writes clipboard data |
| Editor Behavior | Registers editor extensions |
| Full Vault Access | Enumerates vault files |
| Global Handlers Or Timers | Registers events, DOM handlers, or intervals |
| Markdown Processing | Registers markdown processors or renderers |
| Metadata Access | Reads Obsidian metadata cache, Updates frontmatter through Obsidian APIs |
| Note Content Access | Reads vault files |
| Private Network Access | References localhost or private-network addresses |
| Vault File Write | Renames, deletes, trashes, or copies vault files, Updates frontmatter through Obsidian APIs, Writes vault files |
| Worker Usage | Uses Worker APIs |
| Workspace Layout | Registers or manipulates workspace views and panes |
| Finding | Type | Confidence | Evidence |
|---|---|---|---|
| References localhost or private-network addresses | Warning | Medium | 127.0.0.1 (4), localhost (1) |
| Renames, deletes, trashes, or copies vault files | Warning | High | app.fileManager.renameFile (10), app.fileManager.trashFile (1) |
| Reads or writes clipboard data | Info | High | navigator.clipboard.writeText (3) |
| Uses persistent browser storage | Info | High | localStorage (2) |
| Uses Worker APIs | Info | High | Worker (1) |
| Registers editor extensions | Info | High | this.registerEditorExtension (2) |
| Registers markdown processors or renderers | Info | High | this.registerMarkdownCodeBlockProcessor (1), this.registerMarkdownPostProcessor (1) |
| Registers events, DOM handlers, or intervals | Info | High | this.registerDomEvent (1), this.registerEvent (18), this.registerInterval (1) |
| Reads Obsidian metadata cache | Info | High | app.metadataCache.getFileCache (7), app.metadataCache (11) |
| Updates frontmatter through Obsidian APIs | Info | High | app.fileManager.processFrontMatter (3) |
| References URLs or constructs URL objects | Info | High | http:// (5), URL (1) |
| Registers plugin settings UI | Info | High | this.addSettingTab (1), Setting (91), obsidian.Setting (91) |
| Registers commands, ribbon icons, or status bar items | Info | High | this.addRibbonIcon (7), this.addStatusBarItem (1) |
| Accesses Obsidian vault APIs | Info | High | app.vault (163) |
| Accesses vault folders | Info | High | app.vault.getRoot (8) |
| Enumerates vault files | Info | High | app.vault.getMarkdownFiles (12) |
| Opens or creates files through workspace or file manager APIs | Info | High | workspace_file_open:getLeaf.openFile (1) |
| Reads vault files | Info | High | app.vault.cachedRead (11), app.vault.read (22) |
| Writes vault files | Info | High | app.vault.append (1), app.vault.create (10), app.vault.createFolder (4), app.vault.modify (22) |
| Accesses Obsidian workspace APIs | Info | High | app.workspace (88) |
| Accesses the active file or editor | Info | High | app.workspace.getActiveFile (7), app.workspace.activeEditor (1) |
| Registers or manipulates workspace views and panes | Info | High | app.workspace.getLeavesOfType (20) |
The above data may not be accurate and contain errors. For more information refer to the page about data collection.
Lines of Code
The plugin has a total of 14101 lines of code. The following chart shows the lines of code split by programming language.
Downloads
The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.
Version History
| Version | Release Date | Note |
|---|---|---|
| 1.0.0 | 2026-04-15 | Released while not listed |
| 1.0.1 | 2026-04-16 | Released while not listed |
| 1.1.0 | 2026-04-19 | Released while not listed |
| 1.1.1 | 2026-04-19 | Released while not listed |
| 1.1.2 | 2026-04-20 | Released while not listed |
| 1.1.3 | 2026-04-21 | Released while not listed |
| 2.0.0 | 2026-04-22 | Released while not listed |
| 2.0.1 | 2026-04-22 | Released while not listed |
| 2.1.0 | 2026-04-23 | Released while not listed |
| 2.1.1 | 2026-04-23 | Released while not listed |
| 2.1.2 | 2026-04-24 | Released while not listed |
| 2.1.3 | 2026-04-27 | Released while not listed |
| 2.1.4 | 2026-04-28 | Released while not listed |
| 2.2.0 | 2026-04-30 | Released while not listed |
| 2.2.1 | 2026-05-11 | Released while not listed |
| 2.2.2 | 2026-05-11 | Released while not listed |
| 2.3.0 | 2026-05-12 | Released while not listed |
| 2.3.1 | 2026-05-15 | Released while not listed |
| 2.4.0 | 2026-05-18 | Released while not listed |
| 2.5.0 | 2026-05-20 | None |
| 2.6.0 | 2026-05-25 | None |
| 2.6.1 | 2026-05-25 | None |
| 2.6.2 | 2026-05-30 | None |
| 2.6.3 | 2026-06-02 | None |
| 2.6.4 | 2026-06-04 | None |
| 3.0.0 | 2026-06-09 | None |
| 3.1.0 | 2026-06-09 | None |
| 3.1.1 | 2026-06-09 | None |
| 3.1.2 | 2026-06-09 | None |
| 3.2.0 | 2026-06-11 | None |
| 3.2.1 | 2026-06-12 | None |
Blacklisted versions are versions that are known to cause major issues or contain security concerns and have thus been blacklisted by the Obsidian team. Obsidian will disable plugins on startup whose installed version is blacklisted. Released while not listed versions happened outside the period where the plugin was present in the community plugin list and are excluded from aggregate release statistics.