← all repositories
Sayhi-bzb/CharDesk

A whiteboard that diffs — and your agent can draw on it

Screenshots are noise to an agent and plain text is blind to a human — CharDesk splits the difference with a styled Unicode grid both can work in.

CharDesk
Not currently ranked — collecting fresh signals.
star history

What it does CharDesk renders visual work — diagrams, wireframes, slides, scientific figures — onto a fixed grid of Unicode characters: box-drawing lines for structure, ANSI for color and emphasis. Humans read the scene as a picture; agents read it as text they can inspect, revise, and verify. Structured sources like Markdown, Mermaid, math, JSON, YAML, and Vega-Lite compile through CharGraph into the same character graphics, and the project ships two faces: Canvas for visual work and Cell UI for interactive interfaces.

The interesting bit The medium argument is the good part. Screenshots preserve layout but are pixel noise an agent can’t revise precisely across turns; plain text edits beautifully but gives up space and style. A character grid keeps both — position from the grid, structure from box-drawing, emphasis from ANSI — so the result stays selectable, searchable, and diffable. It’s ASCII art with a protocol spec.

Key highlights

  • One rendering pipeline behind every form: freeform canvases, Cell templates, slides, and shared Blackboards all resolve to the same character grid.
  • CharGraph compiles Markdown, Mermaid, math, GFM tables, JSON, YAML, Vega-Lite, and XY or line charts into portable character graphics, with the source preserved alongside.
  • Three agent routes: local files plus the chardesk CLI (the stable default), plus experimental Chrome WebMCP and ChatGPT Site Tools support for browser agents.
  • A real builder surface: @chardesk/protocol for interchange, @chardesk/viewer for framework-independent rendering, @chardesk/fonts for the compatible glyph set.
  • TypeScript throughout, MIT-licensed.

Caveats

  • Only the files-plus-CLI route is called stable; both browser integrations are explicitly labeled experimental.
  • The grid mixes Nerd Font glyphs with CJK, so alignment depends on having the right fonts — hence a dedicated fonts package. A default terminal font will wobble.
  • The main README stays at pitch level: how “ESC-less ANSI” is actually encoded, or what the raw format looks like, is left to the package docs — and the onboarding assumes you arrive with an agent in tow.

Verdict If you’re wiring agents into real work and want visual output that reviews like code — diffable, greppable, revisable — this is a genuinely clever medium. If you need pixel-perfect graphics, a character grid has a ceiling, and no amount of ANSI raises it.

Frequently asked

What is Sayhi-bzb/CharDesk?
Screenshots are noise to an agent and plain text is blind to a human — CharDesk splits the difference with a styled Unicode grid both can work in.
Is CharDesk open source?
Yes — Sayhi-bzb/CharDesk is open source, released under the MIT license.
What language is CharDesk written in?
Sayhi-bzb/CharDesk is primarily written in TypeScript.
How popular is CharDesk?
Sayhi-bzb/CharDesk has 447 stars on GitHub.
Where can I find CharDesk?
Sayhi-bzb/CharDesk is on GitHub at https://github.com/Sayhi-bzb/CharDesk.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.