以 NanoMD 渲染
最後更新
自 v1.2.2 起,瀏覽器儀表板以 NanoMD 渲染 agent 回覆與 Markdown 檔,圖表、流程圖與數學公式直接顯示為圖,不再是原始碼。
可渲染的內容
| Markdown | 結果 |
|---|---|
```chartjs,內容為 {"type": ..., "data": {...}} | 圖表:bar、line、pie、doughnut、radar、polarArea、scatter、bubble |
```mermaid | 圖:flowchart、sequenceDiagram、stateDiagram-v2、classDiagram、erDiagram、gantt、timeline |
```math 或行內 $...$ | KaTeX 數學公式 |
| 其他程式碼區塊 | 語法高亮,附複製按鈕 |
GFM 表格、待辦清單、註腳、==highlight==、> [!NOTE] 提示框 | 套用樣式的 Markdown |
無法解析的區塊(JSON 錯誤、不支援的圖表類型、Mermaid 語法錯誤)改顯示原始碼。本頁同樣由 NanoMD 渲染:
- {"type": "bar", "data": {"labels": ["Q1", "Q2", "Q3", "Q4"], "datasets": [{"label": "Requests (k)", "data": [12, 19, 15, 24]}]}}
sequenceDiagram
Browser->>Daemon: POST /v1/send
Daemon->>Model: prompt + tools
Model-->>Daemon: Markdown reply
Daemon-->>Browser: SSE stream- sequenceDiagram
- Browser->>Daemon: POST /v1/send
- Daemon->>Model: prompt + tools
- Model-->>Daemon: Markdown reply
- Daemon-->>Browser: SSE stream
A = P\left(1 + \frac{r}{n}\right)^{nt}
- A = P\left(1 + \frac{r}{n}\right)^{nt}
渲染的位置
| 介面 | 行為 |
|---|---|
Web 對話回覆與推理區塊(chat- session) | 串流時即渲染;較早訊息中的圖在捲入畫面時才渲染 |
回覆中的 .md、.markdown、.txt 檔案連結 | 在側邊面板開啟並以 NanoMD 渲染;本機圖片經 /v1/file/open 載入 |
| TUI、Telegram、Discord | 顯示 Markdown 原始碼 |
Agent 如何運用
System prompt 會告訴 agent 圖表在哪裡能渲染。
chat- session 中,對話回覆與 .md 檔都會附圖;其他 session 只放在 .md 檔,因為這些對話介面只會顯示原始區塊。內容含 3 個以上項目或時間點的數字、流程或公式時,agent 會主動在對應的表格或文字旁附上圖表、流程圖或公式,不需使用者要求;只重述單一數字或兩項比較時則不附圖。關於 NanoMD
NanoMD 是 TypeScript 撰寫的 Markdown parser,將 Markdown 轉為經過消毒的 HTML 與 JSON AST,頁面用到時才載入 Mermaid、KaTeX 與 Chart.js。Agenvoy 在
page/vendor.json 固定 parser 與樣式表版本(v1.2.2 為 2.0.10),daemon 下載一次到 ~/.config/agenvoy/vendor/nanomd/ 後由本機提供,離線也能渲染。語法參考與線上試用:nanomd.pardn.io。另見:瀏覽器儀表板。