CLI — mdwire
stdin 으로 받은 마크다운을 채널에 맞게 바꿔 stdout 으로 출력합니다. 어떤 언어로 만든 에이전트든 바인딩 없이 파이프로 연결해 쓸 수 있습니다.
cargo install mdwire-cli # Rust
go install github.com/minjun0219/mdwire/go/cmd/mdwire@latest # Go (플래그 같음, -V/--version 없음)
릴리스마다 macOS(Apple silicon)와 Linux(x86_64) 바이너리도 첨부됩니다. 각 파일의 SHA-256 은 릴리스 노트에 있습니다. Linux(arm64)와 Windows(x86_64) 바이너리도 첨부됩니다.
cat agent-output.md | mdwire --channel telegram-html # 조각은 NUL 로 구분
cat agent-output.md | mdwire --channel slack-markdown --stream # 받는 대로 바로 출력
cat agent-output.md | mdwire --channel plain --limit 4096 # 평문 폴백을 텔레그램으로
cat agent-output.md | mdwire --channel slack-markdown --report
플래그
| 플래그 | |
|---|---|
--channel <이름> |
필수입니다. telegram-html · slack-markdown · github-markdown · notion-markdown · plain · html 중 하나를 줍니다. |
--limit <글자 수> |
조각 길이 제한입니다. 기본값은 채널의 길이 제한입니다. |
--html-line-breaks <br|space> |
html 채널 전용입니다. 기본값은 br 입니다. |
--html-images <link|load> |
html 채널 전용입니다. 기본값은 link 입니다. |
--html-schemes <목록> |
html 채널 전용입니다. 쉼표로 구분합니다. 기본값은 http,https,mailto 입니다. |
--stream |
stdin 을 읽는 대로 출력합니다. 길이 제한으로 나누지 않습니다. |
--report |
정규화 보고를 stderr 에 JSON 한 줄로 출력합니다. |
--batch jsonl |
여러 문서를 JSON lines 로 받아 문서마다 보고를 한 줄씩 출력합니다. |
-h, --help · -V, --version |
도움말과 버전을 출력합니다. 버전은 Rust CLI 에만 있습니다. |
값을 받는 플래그는 --이름=값 형태로도 쓸 수 있습니다(--channel=slack-markdown).
채널과 옵션은 Concepts에 있습니다.
출력
- 기본(일괄 처리): 조각을 출력합니다. 조각이 여러 개면 NUL(
\0)로 구분합니다. --stream: 한 덩어리로 흘려 보냅니다. 일괄 처리 결과가 나뉘지 않았다면 그 결과와 같습니다.
--report
stderr 에 JSON 한 줄을 출력합니다.
{"closedEmphasis":1,"closedFence":0,"revertedCodeSpan":0,"droppedMarker":0,"escapedChar":0,"tagEmphasis":0,"strippedHtml":0,"rewrittenBullet":0,"rewrittenTable":0,"convertedMarker":0}
앞의 네 키는 고친 것이고, 뒤의 여섯 키는 채널에 맞춰 바꾼 것입니다. 고친 것에 다섯 번째 키 guessedPair 가 droppedMarker 뒤에 더해집니다 다음 릴리스. 각 키가 세는 것은
정규화 보고에 있습니다.
--batch jsonl
여러 문서를 프로세스 하나로 처리합니다. 답변 수백 개가 얼마나 자주 깨지는지 점검할 때 씁니다. 렌더링 결과 대신 문서마다 보고를 출력합니다.
입력 {"id": "a1", "text": "**마크다운"} id 는 문자열이나 숫자, 생략 가능
출력 {"line":1,"id":"a1","closedEmphasis":1,…}
오류 {"line":2,"error":"…"} 나머지 줄은 계속 읽음. 오류가 하나라도 있으면 종료 코드가 0 이 아님