LLM 마크다운을 깨지지 않게 채팅 채널로

mdwire 는 렌더러가 아니라 브릿지다. 에이전트가 쓴 마크다운을 받아, 채널마다 그 채널이 실제로 받는 문법으로 넘긴다 — 고치고, 이스케이프하고, 길이 한도 안에서 나눠서. 그려 주는 것은 여전히 채널의 몫이다.

LLM 마크다운  →  정규화  →  채널별 렌더  →  안전한 분할  →  전송
  1. 정규화. 에이전트 출력은 온전하지 않다. 짝 없는 **, 줄을 접어 쓴 글에서 줄을 넘는 강조, 닫히지 않은 코드펜스. 렌더하기 전에 고친다.
  2. 렌더. 채널이 받는 문법으로 낸다. 텔레그램 HTML 은 태그 아홉 개만 받고, 슬랙 markdown_text 는 표준 마크다운을 그대로 받는다.
  3. 분할. 채널의 한도를 지키되 마크업 한가운데를 자르지 않는다 — 스트리밍에서도 조각 경계가 **굵게** 안에 떨어지면 안 된다.

대상

텔레그램 HTML, 슬랙 markdown_text, GitHub 코멘트(GFM), 노션 페이지(다음 릴리스), 평문, 브라우저용 HTML. 구현은 Rust 코어, CLI, npm 패키지(WASM), 그리고 같은 코퍼스를 통과하는 Go 이식이 있다.

써 보기

데모는 npm 패키지를 브라우저에서 돌린다. 에이전트 답 하나를 텔레그램용과 슬랙용으로 나란히 옮겨 보고, 같은 답을 렌더러 다섯에 흘려 보고, 깨진 에이전트 출력을 정규화 전후로 맞대 본다.

설치

npm install @minjun0219/mdwire     # npm — 번들러, Node, Bun
cargo add mdwire-core              # Rust 라이브러리 (`use mdwire::…`)
cargo install mdwire-cli           # `mdwire` CLI
go get github.com/minjun0219/mdwire/go@latest

문서에는 넷이 같이 쓰는 개념과 언어별 API 가 있다: npm, Rust, Go, CLI.