LLM 마크다운을 깨지지 않게 채팅 채널로
mdwire 는 렌더러가 아니라 브릿지다. 에이전트가 쓴 마크다운을 받아, 채널마다 그 채널이 실제로 받는 문법으로 넘긴다 — 고치고, 이스케이프하고, 길이 한도 안에서 나눠서. 그려 주는 것은 여전히 채널의 몫이다.
LLM 마크다운 → 정규화 → 채널별 렌더 → 안전한 분할 → 전송
- 정규화. 에이전트 출력은 온전하지 않다. 짝 없는
**, 줄을 접어 쓴 글에서 줄을 넘는 강조, 닫히지 않은 코드펜스. 렌더하기 전에 고친다. - 렌더. 채널이 받는 문법으로 낸다. 텔레그램 HTML 은 태그 아홉 개만 받고, 슬랙
markdown_text는 표준 마크다운을 그대로 받는다. - 분할. 채널의 한도를 지키되 마크업 한가운데를 자르지 않는다 — 스트리밍에서도 조각
경계가
**굵게**안에 떨어지면 안 된다.
대상
텔레그램 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