andriy-viyatyk/persephone

Notepad with features

TypeScript

8

1,588 commits

updated Oct 4, 2026

See the code

See what people are saying

SourceMessageScoreDate

Build an MCP for any website, so your agent stops re-reading the page every time (r/ClaudeAI)

When an agent drives a website, it takes a page snapshot (up to \~18,000 characters), finds the thing, clicks, and snapshots again. For a site you use **every day** it re-reads the whole page for every question. So in Persephone (my dev notepad with a built-in browser that Claude drives over MCP) I…

2

Oct 4, 2026

README

Persephone

Persephone is a notepad for Windows that opens almost anything. It starts exactly like a notepad — one empty text page — but drop in a JSON file, a Word document, a SQLite database, or a ZIP archive and it shows the content, not the bytes. And it is built to be shared with AI agents: everything you see on screen, an agent can see and drive too.

Website: andriy-viyatyk.github.io/persephone — demo videos, features and use cases, plus the board catalog.

Demo Video

One viewer for everything

Any file a developer meets during the day opens in place — in three tiers:

  • Built in — code with syntax highlighting (Monaco, 50+ languages), JSON/CSV grids, Markdown, Mermaid diagrams, SVG and HTML previews, images, audio/video, archives (ZIP, RAR, 7z — including a look inside .docx/.xlsx), side-by-side diffs, and more. See the full list below.
  • Installable — the persephone-boards catalog adds viewers and editors on demand: Word, Excel, PowerPoint, PDF, draw.io diagrams, SQLite databases, Windows executables, todo lists. Open a matching file and an install offer appears right in the editor-switch control; each board is downloaded, checksum-verified, and trusted only after you accept it. The catalog keeps growing.
  • Made to order — if no viewer exists for your file, ask an AI agent to build one. A viewer is a Board: a folder of plain HTML/JS/CSS with optional backend scripts. A simple viewer takes an agent a few minutes to create, and it plugs in like a native editor.

A workspace shared with AI agents

Persephone ships a built-in MCP server — enabled with one checkbox in Settings (setup guide). It exposes a single tool, call, and behind it the whole application as one object model: pages and their editors, files, settings, dialogs, the browser, boards, Git, the window itself. The agent works in the same UI you are looking at:

  • It shows you things. An agent opens pages with rendered Markdown, diagrams, sortable grids, and highlighted code — instead of dumping walls of text into a chat.
  • It sees what you see. Every open page is addressable — pages[2].editor is the grid, the Markdown preview, the browser tab, or the board you are looking at — with its content, selection, and controls. Snapshot, click, and type work on the app itself and on web pages in the built-in browser.
  • It does what you can do. Anything reachable from the UI is reachable from a path: read and edit documents, switch editors, open files, run scripts, stage and commit in Git, install a board. Boards and web pages can publish their own model too, so a viewer an agent built this morning is as transparent to it as a built-in editor.
  • It keeps up. Every result carries the events the agent has not seen yet — a page you opened, a selection you changed — and it can walk you through the app step by step with highlighted controls and Skip / Next tooltips.

Content lives in one place and both of you operate on it: the agent drafts, you correct; you paste, the agent transforms.

Why this is easy: "AI vision"

This transparency is not hundreds of hand-written MCP tools — one per screen and action, all charged to the agent's context on every turn. Instead every object in Persephone carries a small self-description: what it is, what its members are, one line of help each. The agent starts with call and no path, reads a short overview, and descends only into the branch the task is about. Each result hints at what lies below, and a wrong path answers with the right names. The agent looks at the one part of the application the task concerns — hence vision — and everything else costs nothing. A small model that got lost choosing among individual tools drives the same app through paths with few mistakes.

The engine is published as the standalone ai-vision library (npm), so any application can describe itself the same way — and when such an app runs as a board or in Persephone's browser, its model plugs straight into the same tree.

Boards — a platform for mini apps

Boards turn Persephone into a platform for small personal applications: dashboards, data browsers, deployment helpers, tools specific to one project. A board runs locally in a sandboxed webview with no remote network access, is trusted per board, and pins to the sidebar next to the built-in editors.

The practical loop: describe the tool you need to your agent — it scaffolds the board, builds it, opens it, and iterates while you watch. Tools that used to stay on a "someday" list become things you get within a coffee break. See the Boards guide.

Also inside

  • Web browser — tabs with profiles, incognito mode, Tor routing, bookmarks, and DRM video support. Links from Markdown and code open in the nearest browser tab.
  • Git integration (off by default) — a commit-graph editor across all branches, staging and committing, push/pull, and revision diffs for any tracked file.
  • Mneme — vector memory (off by default) — turns any folder of Markdown notes into a locally indexed knowledge base with hybrid full-text + semantic search, exposed over MCP so agents remember across sessions. See the Mneme guide.
  • Scripting — the app.* API behind the agent's object model is yours too, in a JavaScript/TypeScript tab with full Node.js access. See the Scripting guide.

Download (Windows)

FormatLink
InstallerDownload EXE
PortableDownload ZIP

Privacy policy

Persephone does not collect or send usage data. It contacts other networked systems on its own in three cases only:

  • Update check: on start-up it asks the GitHub API for the latest release version, to tell you when an update is available.
  • Board catalog: at most once a day it downloads the list of installable boards from this project's GitHub repositories.
  • Widevine DRM component: the Electron runtime downloads Google's Widevine module so the built-in browser can play protected video. Google's privacy policy applies to that download.

Everything else is network traffic you start yourself: web pages in the built-in browser, Git push/pull, boards you install, scripts you run.

Built-in editors

EditorFile TypesDescription
Text Editorall filesMonaco-powered editor with syntax highlighting for 50+ languages
JSON Grid.jsonSortable, filterable table view for JSON arrays
CSV Grid.csv, .tsvSpreadsheet-like view with auto-detected delimiters
JSONL Grid.grid.jsonl, .jsonlGrid view for JSONL/NDJSON data — one JSON object per line
Log View.log.jsonlStructured viewer for JSONL log files with log-level filtering
Markdown Preview.mdRendered markdown with live updates
Mermaid Diagrams.mmd, .mermaidRendered diagram preview with light/dark toggle
SVG Preview.svgRendered SVG with zoom and pan
HTML Preview.htmlSandboxed rendered preview with script support
Image Viewer.png, .jpg, .gif, .webp, .bmp, .icoImage viewer with zoom and pan
Audio / Video Player.mp4, .mkv, .webm, .mov, .mp3, .flac, .wav, .m3u8Plays local and streamed media, with HLS support and an audio spectrum visualizer
Archive.zip, .rar, .7z, .tar, .docx, .xlsx, .epub, .isoBrowse archive contents as a file tree; open entries inline (ZIP-based formats are writable)
Notebook.note.jsonStructured notes with categories, tags, and search
Drawing.excalidrawExcalidraw-based drawing editor with library persistence, export, and screen snip
Links.link.jsonBookmark/link manager with tiles, list view, categories, and pinned links
Rest Client.rest.jsonHTTP request builder with collections, body types, and response viewer
Boardfolder w/ board-manifest.jsonSandboxed custom HTML mini-app — dashboard, tool, viewer, or custom editor
Browser—Web browser with profiles, incognito, Tor, bookmarks, and DRM support
Git Tree—Commit-history graph with branches & tags, staging, commit, and pull/push (Git integration)
Git Diff—Side-by-side revision comparison for any tracked file (Git integration)
Compareany two filesSide-by-side diff view

More viewers and editors — PDF, Word, Excel, PowerPoint, draw.io, SQLite, and others — install on demand from the persephone-boards catalog: browse it from the Search boards tab of the Tools & Editors hub, or just open a matching file. See the Boards guide.


Documentation

  • User Guide — Getting started, editors, keyboard shortcuts
  • MCP Setup — Connect AI agents to Persephone
  • Boards Guide — Custom viewers, editors, and mini apps
  • Mneme Guide — Vector memory / Markdown knowledge base for AI agents
  • Scripting Guide — Script execution, page/app API, autoload scripts
  • API Reference — app.pages, app.fs, app.settings, app.ui, app.fetch

Contributing & Feedback

Contributions, bug reports, and feature requests are more than welcome!

  • Found a bug? Please open an issue with a description and steps to reproduce.
  • Want to contribute? Feel free to fork the repository and submit a pull request — a new viewer, a bug fix, or a typo in the documentation, every bit helps!
  • Ideas? If you have a "cool idea" for a tool that should be built into Persephone, jump into the discussions and let's talk about it.

For Contributors

This project is developed with Claude AI assistance. Before contributing, please review:


Licensed under the MIT License.

andriy-viyatyk/persephone

Notepad with features

TypeScript

8

1,588 commits

updated Oct 4, 2026

See the code

See what people are saying

SourceMessageScoreDate

Build an MCP for any website, so your agent stops re-reading the page every time (r/ClaudeAI)

When an agent drives a website, it takes a page snapshot (up to \~18,000 characters), finds the thing, clicks, and snapshots again. For a site you use **every day** it re-reads the whole page for every question. So in Persephone (my dev notepad with a built-in browser that Claude drives over MCP) I…

2

Oct 4, 2026

README

Persephone

Persephone is a notepad for Windows that opens almost anything. It starts exactly like a notepad — one empty text page — but drop in a JSON file, a Word document, a SQLite database, or a ZIP archive and it shows the content, not the bytes. And it is built to be shared with AI agents: everything you see on screen, an agent can see and drive too.

Website: andriy-viyatyk.github.io/persephone — demo videos, features and use cases, plus the board catalog.

Demo Video

One viewer for everything

Any file a developer meets during the day opens in place — in three tiers:

  • Built in — code with syntax highlighting (Monaco, 50+ languages), JSON/CSV grids, Markdown, Mermaid diagrams, SVG and HTML previews, images, audio/video, archives (ZIP, RAR, 7z — including a look inside .docx/.xlsx), side-by-side diffs, and more. See the full list below.
  • Installable — the persephone-boards catalog adds viewers and editors on demand: Word, Excel, PowerPoint, PDF, draw.io diagrams, SQLite databases, Windows executables, todo lists. Open a matching file and an install offer appears right in the editor-switch control; each board is downloaded, checksum-verified, and trusted only after you accept it. The catalog keeps growing.
  • Made to order — if no viewer exists for your file, ask an AI agent to build one. A viewer is a Board: a folder of plain HTML/JS/CSS with optional backend scripts. A simple viewer takes an agent a few minutes to create, and it plugs in like a native editor.

A workspace shared with AI agents

Persephone ships a built-in MCP server — enabled with one checkbox in Settings (setup guide). It exposes a single tool, call, and behind it the whole application as one object model: pages and their editors, files, settings, dialogs, the browser, boards, Git, the window itself. The agent works in the same UI you are looking at:

  • It shows you things. An agent opens pages with rendered Markdown, diagrams, sortable grids, and highlighted code — instead of dumping walls of text into a chat.
  • It sees what you see. Every open page is addressable — pages[2].editor is the grid, the Markdown preview, the browser tab, or the board you are looking at — with its content, selection, and controls. Snapshot, click, and type work on the app itself and on web pages in the built-in browser.
  • It does what you can do. Anything reachable from the UI is reachable from a path: read and edit documents, switch editors, open files, run scripts, stage and commit in Git, install a board. Boards and web pages can publish their own model too, so a viewer an agent built this morning is as transparent to it as a built-in editor.
  • It keeps up. Every result carries the events the agent has not seen yet — a page you opened, a selection you changed — and it can walk you through the app step by step with highlighted controls and Skip / Next tooltips.

Content lives in one place and both of you operate on it: the agent drafts, you correct; you paste, the agent transforms.

Why this is easy: "AI vision"

This transparency is not hundreds of hand-written MCP tools — one per screen and action, all charged to the agent's context on every turn. Instead every object in Persephone carries a small self-description: what it is, what its members are, one line of help each. The agent starts with call and no path, reads a short overview, and descends only into the branch the task is about. Each result hints at what lies below, and a wrong path answers with the right names. The agent looks at the one part of the application the task concerns — hence vision — and everything else costs nothing. A small model that got lost choosing among individual tools drives the same app through paths with few mistakes.

The engine is published as the standalone ai-vision library (npm), so any application can describe itself the same way — and when such an app runs as a board or in Persephone's browser, its model plugs straight into the same tree.

Boards — a platform for mini apps

Boards turn Persephone into a platform for small personal applications: dashboards, data browsers, deployment helpers, tools specific to one project. A board runs locally in a sandboxed webview with no remote network access, is trusted per board, and pins to the sidebar next to the built-in editors.

The practical loop: describe the tool you need to your agent — it scaffolds the board, builds it, opens it, and iterates while you watch. Tools that used to stay on a "someday" list become things you get within a coffee break. See the Boards guide.

Also inside

  • Web browser — tabs with profiles, incognito mode, Tor routing, bookmarks, and DRM video support. Links from Markdown and code open in the nearest browser tab.
  • Git integration (off by default) — a commit-graph editor across all branches, staging and committing, push/pull, and revision diffs for any tracked file.
  • Mneme — vector memory (off by default) — turns any folder of Markdown notes into a locally indexed knowledge base with hybrid full-text + semantic search, exposed over MCP so agents remember across sessions. See the Mneme guide.
  • Scripting — the app.* API behind the agent's object model is yours too, in a JavaScript/TypeScript tab with full Node.js access. See the Scripting guide.

Download (Windows)

FormatLink
InstallerDownload EXE
PortableDownload ZIP

Privacy policy

Persephone does not collect or send usage data. It contacts other networked systems on its own in three cases only:

  • Update check: on start-up it asks the GitHub API for the latest release version, to tell you when an update is available.
  • Board catalog: at most once a day it downloads the list of installable boards from this project's GitHub repositories.
  • Widevine DRM component: the Electron runtime downloads Google's Widevine module so the built-in browser can play protected video. Google's privacy policy applies to that download.

Everything else is network traffic you start yourself: web pages in the built-in browser, Git push/pull, boards you install, scripts you run.

Built-in editors

EditorFile TypesDescription
Text Editorall filesMonaco-powered editor with syntax highlighting for 50+ languages
JSON Grid.jsonSortable, filterable table view for JSON arrays
CSV Grid.csv, .tsvSpreadsheet-like view with auto-detected delimiters
JSONL Grid.grid.jsonl, .jsonlGrid view for JSONL/NDJSON data — one JSON object per line
Log View.log.jsonlStructured viewer for JSONL log files with log-level filtering
Markdown Preview.mdRendered markdown with live updates
Mermaid Diagrams.mmd, .mermaidRendered diagram preview with light/dark toggle
SVG Preview.svgRendered SVG with zoom and pan
HTML Preview.htmlSandboxed rendered preview with script support
Image Viewer.png, .jpg, .gif, .webp, .bmp, .icoImage viewer with zoom and pan
Audio / Video Player.mp4, .mkv, .webm, .mov, .mp3, .flac, .wav, .m3u8Plays local and streamed media, with HLS support and an audio spectrum visualizer
Archive.zip, .rar, .7z, .tar, .docx, .xlsx, .epub, .isoBrowse archive contents as a file tree; open entries inline (ZIP-based formats are writable)
Notebook.note.jsonStructured notes with categories, tags, and search
Drawing.excalidrawExcalidraw-based drawing editor with library persistence, export, and screen snip
Links.link.jsonBookmark/link manager with tiles, list view, categories, and pinned links
Rest Client.rest.jsonHTTP request builder with collections, body types, and response viewer
Boardfolder w/ board-manifest.jsonSandboxed custom HTML mini-app — dashboard, tool, viewer, or custom editor
Browser—Web browser with profiles, incognito, Tor, bookmarks, and DRM support
Git Tree—Commit-history graph with branches & tags, staging, commit, and pull/push (Git integration)
Git Diff—Side-by-side revision comparison for any tracked file (Git integration)
Compareany two filesSide-by-side diff view

More viewers and editors — PDF, Word, Excel, PowerPoint, draw.io, SQLite, and others — install on demand from the persephone-boards catalog: browse it from the Search boards tab of the Tools & Editors hub, or just open a matching file. See the Boards guide.


Documentation

  • User Guide — Getting started, editors, keyboard shortcuts
  • MCP Setup — Connect AI agents to Persephone
  • Boards Guide — Custom viewers, editors, and mini apps
  • Mneme Guide — Vector memory / Markdown knowledge base for AI agents
  • Scripting Guide — Script execution, page/app API, autoload scripts
  • API Reference — app.pages, app.fs, app.settings, app.ui, app.fetch

Contributing & Feedback

Contributions, bug reports, and feature requests are more than welcome!

  • Found a bug? Please open an issue with a description and steps to reproduce.
  • Want to contribute? Feel free to fork the repository and submit a pull request — a new viewer, a bug fix, or a typo in the documentation, every bit helps!
  • Ideas? If you have a "cool idea" for a tool that should be built into Persephone, jump into the discussions and let's talk about it.

For Contributors

This project is developed with Claude AI assistance. Before contributing, please review:


Licensed under the MIT License.

Languages

TypeScript

89.0%

Rust

4.8%

CSS

2.7%

JavaScript

2.2%