{"id":"paseo-latex-renderer","repo":"lingluo831/paseo-latex-renderer","url":"https://github.com/lingluo831/paseo-latex-renderer","package":"paseo-latex-renderer","npm":{"package":"paseo-latex-renderer","version":"0.1.0","integrity":"sha512-WfCjmY54P4bWwPU3fFfITVPiatHMeRFHLeSECc4unsqHNg0/lpOQM41E+6GaNtrSapLdM5BSr/hW+1ABd2JKdw==","publishedAt":"2026-09-21T04:43:16.312Z","downloadsLast30Days":0},"name":"paseo-latex-renderer","description":"Native LaTeX math formula renderer for Paseo desktop and mobile clients","categories":["productivity"],"platforms":[],"caveats":[],"images":[],"themes":[],"health":{"manifestValid":true,"hasReadme":true,"hasLicense":true,"hasTests":true,"hasTypecheckScript":true,"updatedRecently":true},"scannedAt":"2026-09-21T06:03:08.652Z","addedAt":"2026-09-21T09:01:14+03:00","npmSecurity":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-21T06:02:55.539Z","version":"0.1.0","integrity":"sha512-WfCjmY54P4bWwPU3fFfITVPiatHMeRFHLeSECc4unsqHNg0/lpOQM41E+6GaNtrSapLdM5BSr/hW+1ABd2JKdw=="},"version":"0.1.0","security":{"status":"passed","blockingFindings":0,"advisoryFindings":0,"scannedAt":"2026-09-21T06:02:55.539Z","commit":"b9326e2f49d0cfd74cc1f522a6624da99a4e5ba4"},"license":"MIT","paseoVersionRequirement":">=0.8.0","descriptionNodes":[{"type":"text","text":"Native LaTeX math formula renderer for Paseo desktop and mobile clients"}],"caveatNodes":[],"manifest":{"id":"paseo-latex-renderer","requirements":{"paseo":">=0.8.0"},"build":[["node","./scripts/inline-fonts.mjs"]]},"repoMeta":{"stars":0,"defaultBranch":"main","pushedAt":"2026-09-21T05:16:52Z"},"owner":{"login":"lingluo831","avatarUrl":"https://avatars.githubusercontent.com/u/61485375?v=4"},"readmeText":"# paseo-latex-renderer\n\nPaseo 的高性能原生 LaTeX 公式渲染插件，适用于 Paseo Desktop（Windows / Electron）、Web 和 Mobile。\n\n专为研究人员和工程师设计，帮助你在 Paseo Agent 对话中直接阅读数学公式、控制理论、机器人学和科学论文中的复杂表达式。\n\n> English documentation: [README.en.md](README.en.md)\n\n---\n\n## 项目简介\n\n`paseo-latex-renderer` 是一个用于 Paseo 的客户端插件，可以在聊天内容中优雅地渲染 LaTeX 数学公式。\n\n它支持行内公式、块级公式、多行数学环境、复杂分式、积分、求和、希腊字母等内容，同时保持良好的视觉体验和多端兼容性。\n\n## 功能特性\n\n- **行内公式**：支持 `$E=mc^2$` 和 `\\(E=mc^2\\)`\n- **块级公式**：支持 `$$\\dots$$` 和 `\\[\\dots\\]`\n- **数学代码块**：支持 ```` ```math ```` 和 ```` ```latex ````\n- **复杂数学环境**：支持 `aligned`、`align`、`cases`、`matrix`、`bmatrix`、`pmatrix`、`\\frac`、`\\sum`、`\\int`、`\\partial`、下标、上标和希腊字母等\n- **100% 离线且自包含**：20 个 KaTeX WOFF2 字体均以 Base64 data URI 的形式内嵌，不依赖外部 CDN 或互联网连接\n- **自动适配主题**：自动继承 Paseo 浅色和深色主题的前景色与表面色\n- **水平滚动保护**：宽公式和多行公式可以平滑滚动，不会破坏聊天布局\n- **复制原始 LaTeX**：显示公式支持点击复制，行内公式支持点击复制\n- **保留完整 Markdown**：保留标题、段落、列表、表格、引用块以及带语法标签和复制按钮的代码块\n- **强化边界情况处理**：\n  - `$100`、`$100 and $200` 等金额不会被误判为数学公式\n  - `\\$` 等转义分隔符会保持为普通文本\n  - 行内代码和 `python`、`ts` 等编程代码块不会被错误解析\n  - 流式输出时，未闭合的公式会先以可读的原始文本显示\n  - 不支持的 LaTeX 命令会优雅回退，不会导致聊天崩溃\n- **零后台开销**：仅使用客户端插件，不额外启动后台 daemon 子进程\n\n## 目录结构\n\n```text\npaseo-latex-renderer/\n├── paseo-plugin.json      # Paseo 清单（插件 ID、依赖和构建配置）\n├── package.json           # 依赖项和构建/测试脚本\n├── tsconfig.json          # TypeScript 配置\n├── vitest.config.ts       # Vitest 单元测试配置\n├── index.client.tsx       # 插件客户端入口（Transformer 和 Renderer）\n├── client/\n│   ├── katex-css.ts       # 内嵌 Base64 WOFF2 字体的 KaTeX CSS\n│   ├── math-parser.ts     # Markdown + LaTeX AST 分词器和语法检测器\n│   ├── math-renderer.tsx  # React Native 数学组件\n│   ├── markdown-renderer.tsx # 完整 Markdown + Math 渲染器\n│   └── web.tsx            # Web/Electron KaTeX DOM 桥接和移动端安全回退\n├── scripts/\n│   └── inline-fonts.mjs   # 将 KaTeX 字体内嵌到 CSS 的脚本\n└── tests/\n    ├── latex-renderer.test.ts # 31 个单元测试和集成测试\n    └── react-native-mock.ts   # React Native 测试 mock\n```\n\n## 快速开始与安装\n\n### 环境要求\n\n- Node.js >= 18\n- Paseo >= 0.8.0\n\n### 安装依赖、构建和测试\n\n```bash\ncd paseo-latex-renderer\nnpm install\nnpm run build      # 将 KaTeX 字体内嵌到 client/katex-css.ts\nnpm run typecheck  # 对 TypeScript 代码进行类型检查\nnpm run test       # 使用 Vitest 运行 31 个单元测试\n```\n\n### Windows 桌面端安装\n\n在运行 Paseo Daemon 的 Windows 主机上安装插件：\n\n```bash\npaseo plugin install \"C:\\path\\to\\paseo-latex-renderer\"\n```\n\n也可以使用打包好的 CLI：\n\n```bash\nC:\\ProgramData\\paseo\\resources\\bin\\paseo.cmd plugin install <path>\n```\n\n检查插件状态：\n\n```bash\npaseo plugin ls\n```\n\n如果 daemon 尚未启用插件：\n\n1. 确认 `~/.paseo/config.json` 中设置了：\n\n   ```json\n   {\n     \"pluginsEnabled\": true\n   }\n   ```\n\n2. 重新加载 daemon 配置：\n\n   ```bash\n   paseo reload\n   ```\n\n3. 插件状态应从 `disabled` 变为 `running`。\n\n### 远程 Ubuntu Daemon 安装\n\n如果远程 Ubuntu 服务器正在运行 Paseo Daemon，可以按以下步骤安装：\n\n1. 将 `paseo-latex-renderer` 克隆或复制到 Ubuntu 主机，例如 `/home/user/paseo-latex-renderer`。\n2. 安装依赖并构建：\n\n   ```bash\n   cd /home/user/paseo-latex-renderer\n   npm install\n   npm run build\n   npm run typecheck\n   ```\n\n3. 将插件安装到 Ubuntu daemon：\n\n   ```bash\n   paseo plugin install /home/user/paseo-latex-renderer\n   ```\n\n4. 验证安装：\n\n   ```bash\n   paseo plugin ls\n   ```\n\n5. 当 Windows Paseo Desktop 连接到 Ubuntu Daemon 时，Windows 桌面端会自动接收并执行客户端包，从而提供原生 LaTeX 公式渲染能力。\n\n## 常见操作与故障排除\n\n### 更新 / 重新加载插件源码\n\n修改插件代码后执行：\n\n```bash\nnpm run typecheck\npaseo plugin reload paseo-latex-renderer\n```\n\n### 启用 / 禁用插件\n\n```bash\npaseo plugin disable paseo-latex-renderer\npaseo plugin enable paseo-latex-renderer\n```\n\n### 移除插件\n\n```bash\npaseo plugin remove paseo-latex-renderer\n```\n\n### 常见问题\n\n- **插件状态显示为 `disabled`**：确认 `~/.paseo/config.json` 中设置了 `\"pluginsEnabled\": true`，然后执行 `paseo reload`。\n- **公式显示为原始文本**：检查公式分隔符是否正确闭合，例如 `$` 或 `$$`。未闭合公式会暂时保留为原始文本，以避免流式输出时闪烁。\n- **特定 LaTeX 命令无法渲染**：插件会安全回退，不会因为遇到不支持的命令而崩溃；如需更完整的支持，可以扩展解析规则。\n- **主题或样式不一致**：插件会自动继承当前主题的前景色和表面色，通常不需要额外配置。\n\n## 使用示例\n\n```markdown\n$E = mc^2$\n\n\\[\n\\int_0^1 x^2 \\, dx = \\frac{1}{3}\n\\]\n\n```math\n\\sum_{i=1}^{n} i = \\frac{n(n+1)}{2}\n```\n\n```latex\n\\begin{aligned}\n\\dot{x} &= Ax + Bu \\\\\n\\dot{y} &= Cx + Du\n\\end{aligned}\n```\n\n## 适用场景\n\n该插件特别适合以下场景：\n\n- AI/LLM 对话中的数学推导展示\n- 科学论文阅读和公式对照\n- 控制理论、机器人学和机器学习研究\n- 教学场景中的公式讲解\n- 工程计算过程中的表达式和结果展示\n\n## 许可证\n\n本项目采用仓库中配置的开源许可证。详细信息请查看仓库中的 `LICENSE` 文件（如果存在）。\n"}