README file from
GithubTypst Live is an independent Obsidian frontend for the
Tinymist language server. Keep
.typ files beside your notes, edit them with language intelligence, and use
Tinymist's real compiler and incremental preview.
Highlights
| Write and read in one editor | Keep the whole project in view |
|---|---|
| Switch between source and live reading mode. Math, headings, emphasis, lists, and references stay readable while the source remains editable. | Preview unsaved changes, use your project's template, and move between source and rendered pages in both directions. |
Features
| Feature | What you get |
|---|---|
| Typst editor | A CodeMirror 6 view for .typ, with syntax and language-server semantic highlighting. |
| Language intelligence | Diagnostics, snippet completion, hover documentation, go to definition, rename, and typstyle formatting. |
| Live reading mode | Rendered math and text constructs, with source revealed when you edit them. |
| Math and paper hovers | Project-aware formula rendering and previews of content calls such as figures and theorem boxes. |
| Incremental preview | Tinymist's SVG preview in a side pane, including unsaved changes. |
| Source navigation | Move the editor cursor to scroll the preview; click the preview to return to the corresponding source. |
| Multi-file books | Chapters can use the book main's imports and a project-owned preview template. |
| Optional YOLO bridge | AI ghost text in .typ files using your separately configured YOLO plugin; off by default. |
Quick Start
- Install and enable Typst Live using the release assets below.
- Install Tinymist
separately. On macOS with Homebrew:
brew install tinymist. - Open a
.typfile. If the server is not found, set its absolute executable path in Settings → Typst Live. - Use the editor's preview action or Typst Live: Open preview.
- Use the book/code action to switch reading modes. Hover over math, or enable Cursor preview to see the formula around the cursor while typing.
Try a small document:
#set heading(numbering: "1.")
= A small example
A right triangle satisfies $ x^2 + y^2 = z^2 $.
Requires Obsidian 1.13.7+, a filesystem-backed desktop vault, and a local Tinymist executable. Development and integration tests use Tinymist 0.15.2. Mobile is not supported in this release.
Installation
Community directory
Open the Typst Live community listing, choose Add to Obsidian, then enable Typst Live.
GitHub release
Download main.js, manifest.json, and styles.css from
Releases.
Create <vault>/.obsidian/plugins/typst-live/, copy the three files there, then
reload Obsidian and enable Typst Live in Community plugins.
The first public release is 0.1.0.
Only one enabled plugin should own the .typ editor in a vault. Earlier
personal development installs used obsidian-tinymist; disable that copy
before enabling this release. This plugin does not copy or migrate its settings.
Development
npm ci
npm test
npm run build
scripts/install-dev.sh /absolute/path/to/vault
The development installer uses the ID in manifest.json. It refuses to replace
an existing directory that is not a symlink.
Styled chapter previews
If a chapter imports layout functions without applying the complete document
layout, place .tinymist-preview.typ in its folder or an ancestor inside the
vault. The nearest file receives the selected source through
sys.inputs.at("preview-source"), a root-relative Typst path:
#import "template.typ": chapter-layout
#show: chapter-layout
#include sys.inputs.at("preview-source")
Your template owns the styling. Without a wrapper, the selected file is previewed
directly. A main.typ that includes a chapter can supply book-wide labels and
imports. Reopen the preview after adding or removing a wrapper.
Optional AI completion
Install and configure YOLO, then turn on YOLO tab completion (experimental) in Typst Live. The bridge uses YOLO's model, triggers, and enable toggle; it does not provide an AI service.
- Tab accepts visible ghost text; Shift-Tab or Escape dismisses it.
- Enter inserts a newline and never accepts AI text.
- Ordinary completion lists take priority over AI suggestions.
The bridge was checked against YOLO 1.6.9.7. Other versions may need a new contract check. See setup and format constraints.
Privacy and network use
The plugin has no telemetry, analytics, account requirement, or hosted backend. It does not install or update itself or Tinymist. Tinymist is a separately installed program that the plugin starts for language intelligence and preview.
- Local preview: Tinymist serves HTTP/WebSocket preview data on
127.0.0.1at a temporary port. This is communication on your computer, not a remote preview service. - Typst packages: Tinymist/Typst may fetch an uncached
@previewpackage when your document imports it. The Typst package registry documents these downloads and the cache. Cached packages can be used offline. - Optional AI: enabling the YOLO bridge passes source context to YOLO and its configured local or remote model provider. Provider accounts, charges, and data handling follow that provider and YOLO's configuration. The bridge is off by default; editing and preview do not require it.
- Files outside the vault: executable discovery checks the configured path, Homebrew/Cargo/WinGet locations, and the login shell's PATH. The external compiler can read system fonts and Typst's package cache outside the vault. Preview project paths are rooted at the vault; the plugin also reads local project templates needed for rendering.
Limits
This release has no mobile support, dedicated find-references UI, outline panel, or built-in PDF/SVG/PNG export commands. Use Tinymist/Typst's own tools for exports. AI completion is optional and depends on the installed YOLO version and your model service. See the roadmap for work in progress.
Feedback and contributions
Report a bug or suggest a feature. Include your operating system, Obsidian/plugin/Tinymist versions, a small reproduction, and expected versus actual behavior. Remove private document content and credentials from anything you share.
Contributions are welcome. Discuss substantial changes in an issue first. Development and release conventions are in AGENTS.md.
Acknowledgments
Built on Tinymist, Typst, and typst.ts, with Obsidian's CodeMirror and Lezer runtime. This is an independent integration, not an official product of Obsidian, Typst, or Tinymist. The README layout follows the presentation style of YOLO.
License
Author-owned source and documentation are MIT, copyright 2026 Qiulin Fan: use, modify, and redistribute them while retaining the copyright and permission notices. Upstream components and any upstream-derived fixture material retain their original licenses. See third-party notices.