TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Open-source AI humanizer: rewrite AI-generated text into natural, human-sounding prose. LLM rewriting + multi-engine translation, with step-by-step traces. Python CLI, n8n & Docker.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Open-source AI humanizer: rewrite AI-generated drafts into natural, human-sounding prose — and see every step it takes.
Quick start · Examples · Try it online · Humanizer API · Discord · 中文
Quantum computing has been proposed as a paradigm shift for solving certain optimization and simulation tasks. Unlike classical bits, qubits can represent superpositions, enabling parallel computation in specific problem structures.
Quantum computing has attracted much attention as an innovative method for solving certain optimization and simulation problems. Unlike traditional bits, qubits can assume a superposition state, which enables parallel computing in certain problem structures.
Excerpt from Example 01 — the full trace shows every intermediate step (Chinese → Japanese → Finnish → English).
git clone https://github.com/lynote-ai/humanize-text.git
cd humanize-text
pip install -r requirements.txt
cp config/config.example.toml config/config.toml # add your LLM + Niutrans keys
python -m src.standard.pipeline --input "Your AI-generated text here"
--input takes either a text string or a path to a .txt file. Add --verbose to watch each step, or --json to get the full step-by-step trace as JSON.
Don't want to set up keys? Try the hosted version at lynote.ai — paste and go.
The open pipeline combines two LLM rewrites with two machine-translation hops across distant languages and different engines:
| Step | Engine | From → To | Purpose |
|---|---|---|---|
| 1 | LLM (temp 1.3) | Input → Chinese | Humanizing rewrite + language shift |
| 2 | LLM (temp 1.3) | Chinese → Japanese | Second rewrite, carries Step 1 as history |
| 3 | Google Translate | Japanese → Finnish | First hop — distant-language restructuring |
| 4 | Niutrans | Finnish → English | Second hop — cross-engine reconstruction |
Why this chain works
| Tier | What it does | Best for |
|---|---|---|
standard | 2 LLM rewrites + 2 MT hops | The default balance |
advanced | + multi-round LLM rewriting | Deeper restructuring |
focus | + detection-guided feedback loop | Maximum restructuring |
Technical details: docs/pipeline.md · docs/techniques.md
| Method | Who it's for | How |
|---|---|---|
| Python CLI | Developers | See Quick start |
| n8n workflow | No-code automation users | Import n8n/humanize_standard.json |
| Docker | Self-hosting a REST endpoint | docker compose up -d — see docs/installation.md |
| Hosted | Anyone who wants zero setup | lynote.ai or the Humanizer API |
DeepSeek (default):
[api_keys]
deepseek_api_key = "sk-..."
niutrans_api_key = "your-key"
[llm]
provider = "deepseek"
OpenRouter:
[api_keys]
openrouter_api_key = "sk-or-..."
niutrans_api_key = "your-key"
[llm]
provider = "openrouter"
model = "deepseek/deepseek-chat" # any OpenRouter model slug
Atlas Cloud:
[api_keys]
atlascloud_api_key = "ak-..."
niutrans_api_key = "your-key"
[llm]
provider = "atlascloud"
model = "qwen/qwen3.5-flash"
OrcaRouter:
[api_keys]
orcarouter_api_key = "sk-orca-..."
niutrans_api_key = "your-key"
[llm]
provider = "orcarouter"
model = "deepseek/deepseek-chat" # any OrcaRouter model slug
Override the endpoint with base_url in [llm], or via the LLM_BASE_URL / LLM_API_KEY environment variables. Full reference: docs/configuration.md.
n8n/humanize_standard.json into your n8n instance.https://openrouter.ai/api/v1/chat/completions to use OpenRouter).More: docs/n8n-guide.md
We ran the open pipeline end-to-end on 5 real texts and saved every intermediate step.
| # | Topic | Detector verdict on our test | Confidence |
|---|---|---|---|
| 01 | Quantum Computing | human | 0.9997 |
| 02 | Quantum Readiness Strategy | human | 0.9982 |
| 03 | Sustainable Supply Chains | human | 0.7810 |
| 04 | Financial Literacy | human | 0.9924 |
| 05 | Peer Review in Science | human | 0.7218 |
Each example shows: original input → Step 1 → Step 2 → Step 3 → Step 4 (final). These are illustrative snapshots from one detector at one point in time, not a guarantee — see Responsible use & limitations.
Expert evaluation on 50 text pairs:
| Dimension | Score (out of 10) |
|---|---|
| Information Completeness | 10.0 |
| Language Fluency | 9.0 |
| Style Adaptability | 8.8 |
| Readability | 9.2 |
| Creativity & Impact | 8.5 |
| Overall | 9.1 |
Key information retention: 100% (50/50 pairs).
Style-only rewriting has a ceiling: recent research shows that what separates human from AI writing is largely discourse-level structure, not surface style (see our research notes on the StoryScope study, COLM 2026).
So for our own rewrite model we built a structure-first data pipeline, and we open-source it in training-data-pipeline/:
flowchart LR
sources["Public crawl + private pairs"] --> gates["Quality + structure gates"]
gates --> split["Deterministic stratified split"]
split --> sft["SFT training pool"]
sft --> reserve["Reserve a disjoint KTO pool"]
reserve --> gen["6 candidate chains · temps 0.3-1.0"]
gen --> select["Negative selection + structure-first 60/20/20 mix"]
select --> review["Human review gate"] --> kto["Balanced KTO train / validation"]
Docs: DATA_CONSTRUCTION.md · ARCHITECTURE.md · PROMPTS.md
If you'd rather not manage keys and infrastructure, Lynote.ai runs our own model trained with the structure-first method above, and automatically picks the right approach for each passage.
| This repo | Lynote.ai | |
|---|---|---|
| Engine | Open translation-chain pipeline | Our own model trained with the structure-first method |
| Tier selection | Manual | Automatic, per passage |
| Languages | Configurable target language | 80+ languages |
| Setup | Python + API keys | None — paste and go |
For developers — the Lynote Humanizer API: one synchronous REST call, Markdown and line breaks preserved, per-request Purpose and Readability controls, 80+ languages. Billing: 1 credit per input word (Chinese counts 1 character as 1 word); output is free.
curl https://api.lynote.ai/v1/humanize \
-H "Authorization: Bearer $LYNOTE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text": "Your AI-generated draft here", "readability": "University", "purpose": "Academic"}'
Plans, rate limits, and full docs: lynote.ai/ai-humanizer-api
This toolkit is for improving the readability and natural cadence of AI-assisted drafts. If you are writing in an academic setting, follow your institution's policies on AI use and disclosure. Please don't use it to misrepresent authorship.
See also SECURITY.md.
src/ # the open humanizer pipeline (runnable)
├── standard/ # Standard pipeline — 4-step chain, CLI entry
│ ├── pipeline.py
│ ├── llm_client.py # OpenAI-compatible client
│ ├── llm_rewriter.py
│ └── translators.py # Google + Niutrans engines
└── methodologies/ # four methodology reference implementations + FastAPI app
training-data-pipeline/ # structure-first SFT + KTO data pipeline (research)
├── code/ # ordered stages a–f, harness, tests
├── configs/ data/demos/ # versioned policies + 50 demo records per stage
└── docs/ # ARCHITECTURE, DATA_CONSTRUCTION, PROMPTS
examples/
├── example_usage.py # minimal entry
├── showcase/ # 5 real samples with every intermediate step
└── legacy/ # earlier examples + method comparison outputs
n8n/ # no-code workflow
docker/ # Dockerfile for the REST endpoint
Issues and PRs are welcome — new LLM providers, translation engines, language pairs, and evaluation scripts are especially useful. See CONTRIBUTING.md, or start a thread in Discussions.
MIT — see LICENSE.
⭐ If this project helps you, please give it a star — it helps more people find it.
Website · Discord · X · Product Hunt