TreeMap
무료 오픈소스 디스크 사용량 시각화 도구로, 사각형 트리맵·중복 파일 탐색·디스크 가득 예측·정리 시 파일을 휴지통으로만 이동한다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Image-first PPT/PDF localization: recreate each slide as a localized page image (same layout), strip watermarks, assemble a multi-page PDF. • Languages: English · Chinese (Simplified) · Korean · Japanese • Large decks: up to ~100 pages (60–70 page BPs supported) via batch processing • Colleague UI: public site or local FastAPI + HTML • Agent Skill: ppt-slide-localize (pack under skills/ppt-slide-localize/) Live site: https://ppt-slide-localize.fly.dev/ Repo: https://github.com/MotWang/ppt-slide-image-en-pdfREADME 전문 보기 ↗
Image-first PPT/PDF localization: recreate each slide as a localized page image (same layout), strip watermarks, assemble a multi-page PDF.
ppt-slide-localize (pack under skills/ppt-slide-localize/)Live site: https://ppt-slide-localize.fly.dev/
Repo: https://github.com/MotWang/ppt-slide-image-en-pdf
Secrets (ACCESS_TOKEN, CURSOR_WEBHOOK_URL, CURSOR_WEBHOOK_AUTH, etc.) live only in Fly/Render env vars — never commit them. Do not commit deck PDFs or runs/ page images.
Privacy: each browser tab gets a private session. Job list / download require that tab’s session token. Closing the tab schedules server-side file deletion (short grace so refresh can resume).
GEMINI_API_KEY, ARK_API_KEY, DASHSCOPE_API_KEY, DEEPSEEK_API_KEY, MOONSHOT_API_KEY, …). Access token / API base are for this job site only — not AI vendor keys.EN / zh / ko / ja5 / 8 / 10 / 12 (default) / 15run_idassembled, then download the PDF from the pageLimits and conventions
| Item | Detail |
|---|---|
| Max pages | 100 (jobs over the limit fail with an error) |
| Upload size | 150MB |
| Batching | Server splits work by batch_size; the agent generates only the current missing pages, uploads them, then POST …/continue starts the next batch |
| Resume | Checkpoint-safe; pages already in pages_out/pXX.png are skipped |
| Auth | Public site usually needs no token; if the API returns 401, paste the team ACCESS_TOKEN under Advanced |
Do not try to finish 60–70 pages in a single Automation turn. Rely on the site’s batch + continue loop.
pip install -r workflows/ppt-slide-image-en-pdf/web/requirements.txt
python3 workflows/ppt-slide-image-en-pdf/web/server.py
# open http://127.0.0.1:8787/
Optional environment variables:
| Variable | Meaning | Default |
|---|---|---|
MAX_PAGES | Max pages per deck | 100 |
MAX_UPLOAD_MB | Upload size limit (MB) | 150 |
BATCH_SIZE / DEFAULT_BATCH_SIZE | Default batch size | 12 |
MAX_BATCH_SIZE | Max pages per Automation turn | 15 |
ACCESS_TOKEN | Optional shared secret | empty (no auth) |
PUBLIC_BASE_URL | Public URL (written into job callback links) | local origin |
CURSOR_WEBHOOK_URL | Cursor Automation webhook URL | empty (job on disk only) |
CURSOR_WEBHOOK_AUTH | Automation auth (Bearer … or raw crsr_… key) | empty (webhook calls fail with 401) |
GEMINI_API_KEY | Optional shared Gemini / Imagen key | empty |
OPENAI_API_KEY | Optional shared OpenAI key | empty |
ANTHROPIC_API_KEY | Optional shared Anthropic key | empty |
ARK_API_KEY | Optional ByteDance / Volcengine ModelArk (Seedream) | empty |
DASHSCOPE_API_KEY | Optional Qwen / 通义万相 (DashScope) | empty |
DEEPSEEK_API_KEY | Optional DeepSeek | empty |
MOONSHOT_API_KEY | Optional Kimi / Moonshot | empty |
FAL_KEY | Optional shared fal.ai key | empty |
WORKFLOW_ROOT / RUNS_DIR | Workflow root / runs directory | see web/server.py |
Skill name: ppt-slide-localize
In-repo path: .cursor/skills/ppt-slide-image-en-pdf/SKILL.md
Distributable pack: skills/ppt-slide-localize/
Hard rules (summary):
job.json / webhook providers: Image engine and LLM are independent and pluggable (Cursor · Gemini · OpenAI · ByteDance · Qwen · fal · DeepSeek · Kimi · …). Fall back to Cursor GenerateImage only if the chosen image API fails.p01.png, p02.png, …batch_pages; after upload call /continue; assemble the PDF only when the checkpoint is completeFull routing tables + quality recipes: .cursor/skills/ppt-slide-image-en-pdf/SKILL.md / skills/ppt-slide-localize/SKILL.md.
Hosted agent bridge APIs (same origin / token as the job):
| Method | Path | Purpose |
|---|---|---|
| GET | /v1/jobs/{id} | Status and checkpoint |
| GET | /v1/jobs/{id}/input | Download source file |
| GET | /v1/jobs/{id}/pages_src.zip | Download source page zip |
| POST | /v1/jobs/{id}/pages | Upload this batch of pXX.png |
| POST | /v1/jobs/{id}/continue | Fire next-batch webhook when pages remain |
| POST | /v1/jobs/{id}/result | Upload final PDF |
| GET | /v1/jobs/{id}/download | Download finished PDF |
| GET | /health | Health check (max_pages, default_batch_size, …) |
Webhook payloads include batch_pages, batch_size, urls.continue, etc. Automation instructions should enforce: this batch only → upload → continue (if incomplete) → when done, assemble + result.
# Export
python3 workflows/ppt-slide-image-en-pdf/scripts/export_slides.py \
--input "/path/to/deck.pdf" \
--out-dir "workflows/ppt-slide-image-en-pdf/runs/<run_id>/pages_src"
# Checkpoint
python3 workflows/ppt-slide-image-en-pdf/scripts/run_checkpoint.py \
--run-dir "workflows/ppt-slide-image-en-pdf/runs/<run_id>" \
--pages-out pages_out
# Assemble (after the agent writes pages_out)
python3 workflows/ppt-slide-image-en-pdf/scripts/assemble_pdf.py \
--pages-dir "workflows/ppt-slide-image-en-pdf/runs/<run_id>/pages_out" \
--match-src-dir "workflows/ppt-slide-image-en-pdf/runs/<run_id>/pages_src" \
--out "workflows/ppt-slide-image-en-pdf/runs/<run_id>/output/<run_id>_en.pdf" \
--target-lang en
# Optional: sync to GitHub
python3 workflows/ppt-slide-image-en-pdf/scripts/sync_github.py \
--run-dir "workflows/ppt-slide-image-en-pdf" \
--run-id "<run_id>" \
--repo "MotWang/ppt-slide-image-en-pdf" \
--push
Directory flow: input/ → pages_src/ → pages_out/ → output/, one job per runs/<run_id>/.
cp -R skills/ppt-slide-localize /path/to/project/.cursor/skills/ppt-slide-localize
# or user-level
cp -R skills/ppt-slide-localize ~/.cursor/skills/ppt-slide-localize
See skills/ppt-slide-localize/README.md.
Workflow details: workflows/ppt-slide-image-en-pdf/README.md.
cd workflows/ppt-slide-image-en-pdf
fly apps create ppt-slide-localize # once
fly volumes create localize_data --region nrt --size 1
fly secrets set PUBLIC_BASE_URL='https://ppt-slide-localize.fly.dev'
fly secrets set CURSOR_WEBHOOK_URL='https://api2.cursor.sh/automations/webhook/...'
fly secrets set CURSOR_WEBHOOK_AUTH='Bearer crsr_...' # Generate auth header in Automations UI
# optional: fly secrets set ACCESS_TOKEN='...'
fly deploy
Webhook calls require both URL and auth. Without CURSOR_WEBHOOK_AUTH, jobs stay at exported and never start.
Or use Render with workflows/ppt-slide-image-en-pdf/render.yaml.
.cursor/skills/ppt-slide-image-en-pdf/ # in-repo Agent skill
skills/ppt-slide-localize/ # distributable skill pack (scripts + web)
workflows/ppt-slide-image-en-pdf/ # production workflow + Fly/Render deploy
web/ # index.html + FastAPI
scripts/ # export / checkpoint / assemble / sync
runs/ # local jobs (large images usually gitignored)