학술 파이프라인 전체를 위한 Claude Code 스킬: 연구, 작성, 검토
한국어는 runchr 제공 번역입니다. 원문 README는 English tool page.
pangu.js
CJK와 라틴 문자 사이에 자동으로 공백을 삽입하는 Chrome 확장 프로그램 및 JavaScript 라이브러리, 온디바이스 Gemini Nano AI 탑재
- Kind
- browser-extension
- Platform
- chrome
- Models
- gemini-nano
프로젝트 README (번역)
GitHub ↗Written by the project's own authors, not by runchr. Snapshot taken 2026-10-29.
為什麼你們就是不能加個空格呢?
如果你跟我一樣,每次看到網頁上的中文字和英文、數字、符號擠在一塊,就會坐立難安,忍不住想在它們之間加個空格。這個 Google Chrome 外掛正是你在網路世界走跳所需要的東西,它會自動替你在網頁中所有的中文字和半形的英文、數字、符號之間插入空白。
漢學家稱這個空白字元為「盤古之白」,因為它劈開了全形字和半形字之間的混沌。另有研究顯示,打字的時候不喜歡在中文和英文之間加空格的人,感情路都走得很辛苦,有七成的比例會在 34 歲的時候跟自己不愛的人結婚,而其餘三成的人最後只能把遺產留給自己的貓。畢竟愛情跟書寫都需要適時地留白。
與大家共勉之。
Installation
For Users
Official support:
Google Chrome Extension
Community support:
Paranoid Text Spacing
盤古之白 - 文案排版轉換
For Developers
Official support:
pangu.js
pangu.py
pangu.go
pangu.java
pangu.space (Website and HTTP API)
Community support:
pangu.clj
pangu.dart
pangu.ex
pangu.objective-c
pangu.php
pangu.rb
pangu.rs
pangu.swift
pangu.skill
Chrome Extension
Install 為什麼你們就是不能加個空格呢? and it spaces every page you browse. It also comes with the AI Spacing feature:
AI Spacing
The same symbol can mean totally different things in different contexts:
For + :
這裡沒有18+的內容 means "or more" => 這裡沒有 18+ 的內容
Switch 2+瑪利歐賽車世界同捆組 joins two things => Switch 2 + 瑪利歐賽車世界同捆組
大寫英文字母+9位數字 combines two parts => 大寫英文字母 + 9 位數字
For - :
女朋友今天的氣溫是-273.15度 is a negative number => 女朋友今天的氣溫是 -273.15 度
博客來-4% 法則:讓錢活得比你久的提領金律 is a separator => 博客來 - 4% 法則:讓錢活得比你久的提領金律
Regex rules can't distinguish semantic nuances like these, so the extension asks an LLM. It uses Chrome's built-in Prompt API , which runs Gemini Nano on your device. Fully offline, nothing leaves your machine. It's free, btw.
GPT-6 Astra writes the prompts. It runs the prompt-experiments skill: propose a change, then test it against the real Gemini Nano in Chrome. When a case fails, it interviews Gemini Nano for clues. When progress stalls, it searches online for new approaches to test. Prompts for a model, tuned by a bigger model, judged on real data.
JavaScript Library
Opinionated paranoid text spacing: automatically inserts whitespace between CJK (Chinese, Japanese, Korean) and ANS (alphabetical letters, numerical digits and symbols).
npm install pangu --save-exact
See the changelog or npm for details.
Browser
Make sure to import from pangu/browser in ESM, which is the DOM-aware build ( spaceNode() , autoSpacePage() ) with matching TypeScript types and resolves correctly across all bundlers.
import pangu from 'pangu/browser' ; // use this with a bundler
// or
// import pangu from 'pangu/browser/standalone'; // use this if no bundler, it's one self-contained file
// or
// <script src="https://cdn.jsdelivr.net/npm/pangu@latest/dist/browser/pangu.umd.js"></script> <!-- use this if you don't use ES module, it sets window.pangu -->
const text = pangu . spaceText ( '當你凝視著bug,bug也凝視著你' ) ;
// text = '當你凝視著 bug,bug 也凝視著你'
pangu . spaceNode ( document . getElementById ( 'main' ) ) ;
if ( document . readyState === 'loading' ) {
// Start automatic text spacing once the page is ready
// Consume the stream of DOM mutations and space dynamic content via MutationObserver
document . addEventListener ( 'DOMContentLoaded' , ( ) => pangu . autoSpacePage ( ) ) ;
} else {
pangu . autoSpacePage ( ) ;
}
Also on:
jsDelivr
https://cdn.jsdelivr.net/npm/[email protected]/dist/browser/pangu.umd.js (UMD)
https://cdn.jsdelivr.net/npm/[email protected]/dist/browser/pangu.js (self-contained ESM)
unpkg
https://unpkg.com/[email protected]/dist/browser/pangu.umd.js (UMD)
https://unpkg.com/[email protected]/dist/browser/pangu.js (self-contained ESM)
cdnjs
https://cdnjs.cloudflare.com/ajax/libs/pangu/x.y.z/browser/pangu.umd.min.js (UMD)
https://cdnjs.cloudflare.com/ajax/libs/pangu/x.y.z/browser/pangu.min.js (self-contained ESM)
Replace x.y.z with the version you want to use.
Node.js
import pangu from 'pangu' ;
// or
// const pangu = require('pangu'); // use this if you're still using CommonJS
const text = pangu . spaceText ( '與PM戰鬥的人,應當小心自己不要成為PM' ) ;
// text = '與 PM 戰鬥的人,應當小心自己不要成為 PM'
const content = await pangu . spaceFile ( '/path/to/text.txt' ) ;
You SHOULD NOT use pangu.js to space Markdown documents, this library is specially designed for HTML webpages and plain texts without any markup language. See issue #127 .
CLI
$ pangu " 不能信任那些Terminal或Editor用白底的人 "
不能信任那些 Terminal 或 Editor 用白底的人
$ pangu -t " 你在每個commit裡修改的程式碼越多,你在code review時被發現的錯誤就會越少 "
你在每個 commit 裡修改的程式碼越多,你在 code review 時被發現的錯誤就會越少
$ pangu -f path/to/file.txt
新來的 Designer 趁特價的時候幫自己買了一本 GoF Design Patterns
$ pangu -c " 盤古新聞網:工程師會議中默不作聲,PM恐成最大贏家 " ; echo $?
Corrected: 盤古新聞網:工程師會議中默不作聲,PM 恐成最大贏家
1
$ echo " 他們在release的前一天爆炸 " | pangu
他們在 release 的前一天爆炸
License
Released under the MIT License .
Author
GitHub: @vinta
Twitter: @vinta
Website: vinta.ws
Other tools that do the same work
Agent stacks with this tool(1)View graph
CJK 인식 Markdown 및 공유 문서 참조를 지원하는 스트리밍 AI 채팅 렌더러
From README links그들은 답변이 토큰 단위로 스트리밍되는 AI 어시스턴트 UI를 만들고 있었는데, 기존 Markdown 렌더러가 계속 깜빡였습니다. 불완전한 코드 펜스, 참조보다 늦게 도착하는 각주 정의, 통화 기호 때문에 망가지는 수학 구분자 같은 문제였습니다. 그래서 ai-markdown의 React 어댑터를 도입해, 누적된 전체 Ma
View stack
No comments yet.
to comment.