DeepSeek Harness Remote
DeepSeek Harness Remote 可將手機或另一台電腦與你運行 DeepSeek Harness 的電腦安全連接,隨時隨地繼續你的工作,方便隨時查看進度並繼續工作。
AI 翻譯
製作者的介紹僅有上面的一句話。 更多詳情請閱讀儲存庫 README。 儲存庫 README ↗
正在載入完整 README。
檢視完整 README ↗Writ is a fast, native macOS Markdown editor for technical writing.
Its core promise is simple: plain text in, publication-quality technical preview out. Markdown remains the canonical source format, while the preview renders the structure and meaning of technical documents: GitHub-Flavored Markdown, code, math, Mermaid diagrams, SVG/image references, tables, and export-ready typography.
Writ follows a WYWIWYM principle: What You Write Is What You Mean. It is not a proprietary rich-text editor, a cloud document system, or an Electron app.
M0 → M3 of the MVP plan are feature-complete. Pre-1.0 release builds are signed with my Developer ID; see the mini-site for the latest DMG.
Implemented:
.md, .markdown, and .txt, with
BOM-aware UTF-8 + CP1252 / Latin-1 fallback on readswift-markdown⌥⌘L) rendered by a custom NSView gutter⌥⌘K), math (⌥⌘M), Mermaid (⌥⌘D)⌥⌘1/2/3)WKWebView preview with debounced updates and stale-result
rejection; block-aware two-way scroll sync between editor and previewwrit-doc:// URL
scheme handler<script>, event handlers, and
javascript: URLs from raw inline HTML in sourceWKWebView.printOperation produces a paginated US
Letter PDF⇧⌘O) opens a sidebar window listing markdown
files in a directory; filter-as-quick-open⌥⌘0)⌘,): large-doc thresholds, debounce intervals,
line numbers toggleDeferred to post-MVP:
See TODO.md and docs/01-MVP-PLAN.md for milestone tracking.
Writ is built for:
MVP non-goals:
Writ reads a YAML (---) or TOML (+++) front-matter block at the top of a
document. Keys are surfaced to the preview, and tags is parsed as a list.
Some keys are pragmas — per-document switches for rendering behaviour. They come in two kinds, and the difference is deliberate.
Opt-out pragmas are on unless you turn them off. Both are purely local rendering choices, so the safe default is "enabled".
| Pragma | Effect when false |
|---|---|
math: false | Disables inline $…$ and block $$…$$ math extraction, in the preview and in editor syntax highlighting. Use it for documents full of currency amounts, where the $ heuristics misfire. |
emoji: false | Disables :shortcode: → glyph substitution, so :shrug: renders literally. Use it for prose that is dense with colons, or when you simply want the text left alone. |
For these, any other value — an absent key, true, or something malformed —
leaves the feature enabled.
Opt-in pragmas are off unless you explicitly turn them on, because they have a cost beyond rendering.
| Pragma | Effect when true |
|---|---|
plantuml: true | Renders ```plantuml fences by sending the diagram source to the renderer configured in Settings. This transmits that part of your document to that server. Without the pragma — or with no server configured — the fence stays visible as source and nothing leaves your machine. |
Only a literal true enables it. An absent key, a malformed value, or false
all mean disabled, and both the pragma and a configured endpoint are required
before any request is made.
---
title: Q3 Pricing
math: false
emoji: false
plantuml: true
---
Seats are $40 each, and the :tada: stays as written.
Writ is a native macOS app with a small set of local Swift packages:
App/ - AppKit document app, editor, preview, menu, export, and window controllersPackages/WritCore - document snapshots, revisions, hashes, render jobs, large document mode, and technical block modelsPackages/WritParser - Markdown parsing, math preprocessing, technical block extraction, and HTML emissionPackages/WritRender - preview scheduling, technical block caching, export helpers, and bridge payloadsResources/preview - WebKit preview shell, CSS, JavaScript bridge, KaTeX, MathJax, Mermaid, and highlight.js assetsBenchmarks/ - parser and fixture benchmark toolingdocs/ - product requirements, implementation plan, technical design, and milestone decisionsThe editor uses AppKit NSTextView/TextKit. The preview uses a persistent WKWebView loaded once per document, then updated through a JavaScript bridge. Parsing and preview scheduling run off the main thread so typing remains responsive.
WKWebView receives an update payload.Writ.xcodeproj from project.ymlThe app is designed to work offline and does not require an account. MVP builds do not use telemetry or remote rendering services.
brew install --cask ceesaxp/tap/writ
Or download the signed, notarized DMG from the releases page.
The Homebrew cask lives in the
ceesaxp/homebrew-tap repository,
not in this one — that is the copy brew reads, and the only one a release
needs to update.
Open the existing project:
open Writ.xcodeproj
Build from the command line:
xcodebuild -project Writ.xcodeproj -scheme Writ -configuration Debug build
Regenerate the Xcode project after changing project.yml:
xcodegen generate
Run package tests:
swift test --package-path Packages/WritCore
swift test --package-path Packages/WritParser
swift test --package-path Packages/WritRender
Run benchmarks:
swift run --package-path Benchmarks writ-fixtures
swift run --package-path Benchmarks writ-bench
NSTextView with TextKit 2 where practicalWKWebView updated through window.Writ.update(...)apple/swift-markdown, backed by cmark-gfmSee docs/03-M0-DECISIONS.md for the recorded M0 decisions and baseline performance numbers.
Performance is a product requirement for Writ.
MVP targets include:
WKWebView for the document lifetimeWrit is local-first:
plantuml: true in its front matter, the source of that document's
```plantuml fences is POSTed to the URL you chose. Both conditions
are required; neither is set by default. Nothing else in Writ contacts the
network.