关于 Hyades
Hyades 将标准 LaTeX 数学公式转换为可选择的 Unicode 或 ASCII 文本,适用于终端、代码注释和纯文本文档。它是无需额外依赖的 C 命令行工具,并提供本地和远程 MCP 服务供 AI 助手使用。
主要功能
- 01将 LaTeX 数学公式转为 Unicode 文本
- 02ASCII 输出模式
- 03表格、列表和文本布局
- 04宏与计算结构
- 05Helix 和 Neovim 编辑器支持
- 06本地和远程 MCP 服务
适用场景
- 01在终端输出中显示公式
- 02在代码注释或邮件中加入数学内容
- 03处理带标签的纯文本文档
- 04让 AI 助手渲染公式
MCP 相关
Hyades 提供本地和远程 MCP 服务,让 AI 助手能够渲染数学表达式。远程选项使用 Cloudflare Worker;本地选项以原生二进制文件运行。
配置
远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。
https://hyades-mcp.apg.workers.dev/mcpclaude mcp add --transport http apology-is-policy-hyades https://hyades-mcp.apg.workers.dev/mcp{"mcpServers":{"apology-is-policy-hyades":{"type":"http","url":"https://hyades-mcp.apg.workers.dev/mcp"}}}在 Cursor 中打开{"servers":{"apology-is-policy-hyades":{"type":"http","url":"https://hyades-mcp.apg.workers.dev/mcp"}}}在 VS Code 中打开{"mcpServers":{"apology-is-policy-hyades":{"type":"http","url":"https://hyades-mcp.apg.workers.dev/mcp"}}}{"mcpServers":{"apology-is-policy-hyades":{"serverUrl":"https://hyades-mcp.apg.workers.dev/mcp"}}}命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。
工具
1| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| ascii | boolean | 否 | 使用纯 ASCII 输出而非 Unicode(默认值:false) |
| width | integer | 否 | 输出宽度(字符数,默认值:80)。标准终端宽度使用 80。处理复杂数学内容时,避免低于 60。 |
| source | string | 是 | 完整的 Hyades 文档源代码。显示数学公式使用 $$...$$,行内数学公式使用 $...$。数学公式外的纯文本将作为正文渲染。 |
详细介绍
Hyades
将 LaTeX 数学公式转换为纯 Unicode 文本。 适用于终端、代码注释、电子邮件,以及所有不支持富文本的场景。
上方的每个公式都是纯文本——可以选中并复制粘贴到任何地方。源代码是标准 LaTeX。
这是什么?
Hyades 可以将这样的标准 LaTeX 数学公式:
$$
f(x) = \overbrace{\sum_{k=0}^{n} \frac{f^{(k)}(a)}{k!}
(x-a)^k}^{\mathit{Taylor polynomial}}
+ \underbrace{R_n(x)}_{\mathit{Remainder}}
$$
渲染为多行 Unicode 文本:
𝑇𝑎𝑦𝑙𝑜𝑟 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙
╭───────────┴───────────╮
𝑛 (𝑘)
─── 𝑓 (𝑎) 𝑘
𝑓(𝑥) = ╲ ───────── (𝑥 − 𝑎) + 𝑅 (𝑥)
╱⎽⎽ 𝑘! 𝑛
𝑘 = 0 ╰───┬───╯
𝑅𝑒𝑚𝑎𝑖𝑛𝑑𝑒𝑟
也可以按需渲染为纯 ASCII:
n (k)
--- f (a) k
f(x) = \ --------- (x - a) + R (x)
/__ k! n
k = 0
它是一个使用纯 C 编写的原生 CLI 二进制程序。因此速度极快,且不需要任何额外依赖。 开箱即支持 Linux、MacOS、Windows 和 Web(WASM)。
在浏览器中试用 → —— 交互式 WASM 操作场,附带教程和完整的语法参考。无需安装。
功能特性
数学公式——兼容 95% 的 LaTeX
分数、根式、积分、求和、乘积、极限、矩阵、分段函数、对齐公式、希腊字母、自动缩放定界符、上括号/下括号、重音符号、撇号、二项式系数、可扩展箭头、公式编号,等等……粘贴现有的 LaTeX 即可直接渲染。
完整数学功能列表
| 类别 | 命令 |
|---|---|
| 分数 | \frac、\dfrac、\tfrac —— 可无限嵌套 |
| 根式 | \sqrt{x}、\sqrt[n]{x} |
| 大型运算符 | \sum、\prod、\int、\iint、\iiint、\oint、\oiint,支持上下限 |
| 极限 | \lim、\limsup、\liminf、\max、\min、\argmax、\argmin |
| 矩阵 | \pmatrix、\bmatrix、\Bmatrix、\vmatrix、\Vmatrix —— 也支持 \begin{pmatrix} 语法 |
| 分段函数 | \cases{...} —— 分段函数 |
| 对齐公式 | \aligned{...},支持 \intertext 和 \tag |
| 希腊字母 | 全部小写(\alpha–\omega)和大写(\Gamma–\Omega)字母 |
| 定界符 | \left/\right 自动缩放、\middle、不可见的 \left.\right|、\big–\Bigg 尺寸 |
| 重音符号 | \hat、\bar、\tilde、\vec、\dot、\ddot、\acute、\grave、\breve、\check |
| 宽装饰符 | \overline、\underline、\overbrace、\underbrace、\overrightarrow、\widehat、\widetilde |
| 注释标记 | \overset、\underset、\stackrel、\boxed、\tag、\substack |
| 数学字体 | \mathbf、\mathbb(ℕℤℚℝℂ)、\mathcal、\mathfrak(𝔄𝔅ℭ)、\mathsf(𝖠𝖡𝖢)、\mathscr、\boldsymbol(粗体希腊字母 𝛂𝛃,粗体 ∇ → 𝛁) |
| 关系符号 | \leq、\geq、\neq、\ll、\gg、\prec、\succ、\approx、\equiv、\sim、\propto、\coloneqq、:=、前缀 \not |
| 集合论 | \in、\notin、\subset、\subseteq、\cup、\cap、\setminus、\emptyset |
| 逻辑 | \forall、\exists、\neg、\land、\lor、\implies、\iff、\therefore、\because |
| 箭头 | \rightarrow、\Rightarrow、\mapsto、\hookrightarrow、\xrightarrow{f}、\xleftarrow{g} |
| 数论 | \pmod、\bmod、\mid、\binom |
| 运算符 | \oplus、\otimes、\odot、\circ、\bullet、\star、\dagger、\ddagger |
| 函数 | \sin、\cos、\log、\ln、\exp、\det、\ker、\gcd、\operatorname{...} |
| 布局 | \phantom、\smash、\mathord、\mathbin、\mathrel |
| 兼容性 | 接受 \displaystyle、\textstyle、\notag 并将其视为空操作——可直接粘贴 LaTeX |
- 表格 -- 使用
\table和\row/\col,支持 6 种边框样式(单线、双线、粗线、圆角、点线、无边框)、内边距、对齐方式和列跨度 - 列表 --
\fancylist使用 Markdown 语法构建列表 - 布局 -- 类似 Flex 的
hbox/vbox容器,子项支持自动/内在/固定宽度,并支持水平和垂直对齐 - 文本格式 --
\textbf、\textit、\texttt、\verb|...| - 段落布局 -- 使用新颖的等宽字体优化换行算法排版两端对齐的文本,或使用普通的左对齐;支持断词
- 线条 --
\hrule/\vrule,支持自动调整大小和智能自动交叉连接 - 宏 -- 支持用户定义、参数和变量作用域
- 计算 -- 变量、数组、循环、条件语句、lambda——一门配备基于栈的指令机器的完整编程语言
- ASCII 模式 -- 为不支持 Unicode 的环境提供完整的 ASCII 回退模式
- 语法高亮 -- 支持 vscode、Helix 和 Neovim
- 内联错误诊断 -- 支持 vscode、Helix 和 Neovim
安装
预构建二进制文件
从 Releases 下载(macOS、Linux、Windows),然后运行安装脚本:
# Linux / macOS
chmod a+x install.sh
./install.sh
# Windows (PowerShell)
.\install.ps1
脚本将:
- 安装 hyades、cassilda、hyades-cmp,并将其添加到 PATH
- Unix:
$HOME/.local/bin - Windows:
$env:USERPROFILE\bin
- Unix:
- 如果已安装,则集成到 Helix 和 Neovim
- 将文档文件渲染到
- Unix:
$HOME/.local/share/hyades/docs - Windows:
$env:USERPROFILE\AppData\Local\hyades
- Unix:
- 排版内容以验证安装
这会将 hyades、cassilda 和 hyades-mcp 添加到 PATH,并在已安装 Helix 和/或 Neovim 的情况下,将 tree-sitter 语法和 LSP 服务集成到其中。
从源代码构建
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build
# → build/hyades, build/cassilda
用法
# Render LaTeX from stdin
echo '$$\sum_{i=1}^n i^2$$' | hyades
# Render a source file
hyades equations.hy
# ASCII-only output
echo '$$\int_0^1 f(x) dx$$' | hyades --ascii
# Run an interactive-mode Hyades program
hyades -c matrix_rain.hy
两个二进制程序
| hyades | 将 .hy 源文件(或标准输入)渲染到标准输出。适用于快速数学运算、管道处理和代码注释。 |
| cassilda | 用于 .cld 文件的文档处理器。可将带标签的部分原位渲染到代码注释中,或输出到标准输出——可以把它想成纯文本版的 Jupyter 笔记本。 |
# Render a labeled section to stdout
cassilda render notebook.cld section_name
# Process all sections in-place
cassilda process notebook.cld
MCP 服务
MCP 服务允许 AI 助手即时渲染数学表达式。
远程 -- 无需安装,使用 Cloudflare Worker:
# Claude Code
claude mcp add hyades --transport http https://hyades-mcp.apg.workers.dev/mcp
# Claude Desktop / Cursor / Windsurf -- add to config:
{ "mcpServers": { "hyades": { "url": "https://hyades-mcp.apg.workers.dev/mcp" } } }
本地 -- 离线运行,使用原生二进制文件(包含在发布版本中):
# Claude Code
claude mcp add hyades /path/to/hyades-mcp
# Claude Desktop / Cursor / Windsurf -- add to config:
{ "mcpServers": { "hyades": { "command": "/path/to/hyades-mcp" } } }
示例:在终端中与 Claude 一起推理数学问题
安装脚本会自动配置所有已安装的编辑器。也可以手动配置——配置文件位于发行包中的 editor-configs/。
Helix 和 Neovim 开箱即支持完整集成:
- 通过 tree-sitter 实现语法高亮(
.hy和.cld文件) - 错误诊断——显示在行内和侧边栏中
- 跳转到定义——跳转到宏和标签的定义处
- 悬停提示——显示命令和宏的文档弹窗
- 补全——提供上下文相关的建议
- 引用——查找某个符号的所有用法
Hyades 在 MacOS 上的 Helix 中运行(GhosTTY,字体:PragmataPro Mono)
Hyades 在 Windows 上的 Helix 中运行(字体:JuliaMono)
此外还提供 VS Code 扩展。(我还没来得及打磨并发布它,应该几天内就能完成。)
不止于此
Hyades 拥有字节码编译器和基于栈的虚拟机(称为 Subnivean),可让你编写几乎任何计算代码,为宏和渲染提供支持。发行包中包含两个有趣的示例。第一个是终端中的黑客帝国代码雨效果
第二个是交互式生命游戏
这也是 Hyades 具备图灵完备性的直接证明。
AI 使用说明
我在 AI 时代到来之前就启动了这个项目,因此大约一半的内容是在没有 AI 帮助的情况下完成的。后来,Claude 在功能实现上给了我很大帮助;如果靠我自己,这些功能需要数周才能完成。尤其是在还要照顾一个小宝宝的情况下,Claude 帮我完成了这个项目。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。