MCPcopy Create free account
hub / github.com/Sayhi-bzb/AsciiCanvas

github.com/Sayhi-bzb/AsciiCanvas @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
940 symbols 2,747 edges 265 files ⚖ MIT 0 documented · 0% updated 7d agov0.3.0 · 2026-08-12★ 334

Browse by type

Functions 866 Types & classes 74
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

English | [简体中文]

CharDesk

人类与语言模型共享的视觉媒介。

CharDesk 把 Unicode 文本变成共享工作区:人看到画布,Agent 编辑 token。

打开 CharDesk · 探索 CharGraph · CLI 文档

从 Agent 开始

需要 Node.js 20 或更高版本。

npx skills add https://github.com/sayhi-bzb/chardesk --skill chardesk
npm install -g @chardesk/cli

然后直接告诉 Agent 你想看到什么:

$chardesk 用一块可视化黑板解释显卡如何工作。

Agent 会创建源码、检查结果并打开画布。你不需要先学习文件格式,也不需要配置 AI Provider。

可以用它做什么

  • 把概念讲成一段空间叙事,而不是堆成一堵文字墙。
  • 用字符幻灯片呈现想法。
  • 用曲线、公式、数据和标注制作科研图。
  • 设计界面、终端、仪表盘和产品状态。
  • 描绘架构、流程、时间线与关系。
  • 保留一块人和 Agent 都能检查、继续修改的 Blackboard。

CharDesk 作为人与 Agent 共享的视觉媒介

共享视觉媒介 · 源码

显卡工作原理的可视化讲解

可视化讲解 · 源码

厄尔尼诺科研图

科研图 · 源码

字符幻灯片叙事

字符 Slides · 源码

ANSI 与 Nerd Font 产品界面

界面设计 · 源码

人与 Agent 共享的 Blackboard

Agent Blackboard · 源码

ANSI 界面实验

上下文控制室

上下文控制室 · 源码

灵感信号播放器

灵感信号播放器 · 源码

口袋 Blackboard

口袋 Blackboard · 源码

为什么文本也可以是视觉媒介

人擅长扫视二维平面,语言模型擅长生成和修改 token 序列。截图保留了布局,却引入像素噪声,也很难在多轮协作中精确修改;普通文本容易编辑,却通常失去了空间与样式。

CharDesk 同时保留两者。固定 Unicode 网格承载位置,Box Drawing 承载结构,ANSI 承载强调。作品仍然可以被选择、搜索、比较版本,并由 Agent 直接修改。

   人阅读一个场景
          ⇅
   Unicode 网格 + ANSI
          ⇅
   Agent 编辑 token

表达媒介

视觉文本

Unicode、Box Drawing、中日韩字符、技术符号、单色 Emoji 与 Nerd Font 字形共享同一网格。ESC-less ANSI 为内容增加前景色、背景色、粗体、斜体、下划线、删除线与反色,而不必把作品变成图片。

结构化表达

可以编写 Markdown、Mermaid、数学公式、GFM 表格、Fenced Code、JSON、YAML、Vega-Lite,以及 XY 图或折线图。CharGraph 将结构化源码编译成可移植的字符图,同时保留生成它的源码。

空间组织

在自由画布或结构化画布中排列内容,用 |||--- 组合多行区域,把完整场景收进 Blackboard,或用 Slides 讲述故事。所有形态最终进入同一条字符网格渲染管线。

Agent 接入

  • 本地文件与 CLI:稳定的默认路径。Agent 使用原生文件工具,chardesk 负责检查、预览、打开和渲染。详见 CLI 文档
  • Chrome WebMCP:实验性能力。开启 chrome://flags/#enable-webmcp-testing,重启 Chrome,并为兼容的 Agent 保持 CharDesk 页面打开。
  • ChatGPT Site Tools:实验性能力。在 Settings → Browser → Permissions 中开启 Site tools,再用 ChatGPT 内置浏览器打开 CharDesk。参见 OpenAI 官方 Site Tools 文档

浏览器 Agent 可以调用 chardesk_read_materials,进入与 skill 相同的视觉语言和案例环境。Blackboard 工具默认操作当前页面可见的画布;创建或打开工作区时会自动激活它。

面向开发者

使用 @chardesk/protocol 完成格式交换,使用 @chardesk/viewer 完成框架无关的渲染,使用 @chardesk/fonts 获得兼容字形集。安装与 API 说明由各个包的文档负责。

致谢

感谢 LINUX DO 社区。

许可证

CharDesk 基于 MIT License 开源。

Extension points exported contracts — how you extend this code

browse all types & interfaces →

Core symbols most depended-on inside this repo

browse all functions →

Shape

Function 866
Interface 74

Languages

TypeScript100%

Modules by API surface

src/domains/export/utils/export.ts50 symbols
src/domains/canvas/components/AsciiCanvas/hooks/useCanvasInteraction.ts42 symbols
src/domains/canvas/state/helpers/structuredBoxEditing.ts37 symbols
src/domains/canvas/state/helpers/animationHelpers.ts25 symbols
coverage/prettify.js23 symbols
src/shared/ui/sidebar.tsx21 symbols
src/shared/types/index.ts21 symbols
src/shared/utils/structuredTextRanges.ts20 symbols
src/shared/utils/shapes.ts20 symbols
src/domains/actions/adapters/clipboardActions.ts20 symbols
src/domains/canvas/state/helpers/staticGridModel.ts19 symbols
src/domains/canvas/components/AsciiCanvas/hooks/useCanvasRenderer.ts19 symbols

For agents

$ claude mcp add AsciiCanvas \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page