
Okwenziwa yi-watermarks-remover
watermarks-remover iyikhono le-ejenti kanye nensizakalo ye-Python yokuhlola nokususa izimpawu zemvelaphi ye-AI emibhalweni nakumafomethi amafayela asekelwayo. Yenzelwe ubumfihlo, ucwaningo, nokugcina okuqukethwe kuhlanzekile ezintweni okungezakho noma ogunyaziwe ukuzicubungula.
Ikhono le-ejenti liyiklayenti le-HTTP elincane. Alinalo uhlelo lokuhlanza ngaphakathi futhi alidingi i-Python emshinini osebenzisa i-ejenti. Kunalokho, lithumela umsebenzi kusevisi esebenza ngokwehlukana eyakhiwe kusetshenziswa umtapo wolwazi ojwayelekile we-Python.
Iphrojekthi ihlukanisa umsebenzi wayo ube yizindawo ezintathu:
- Umbhalo Isendlalelo A: isusa ngendlela enqunyiwe abathwali be-Unicode abangabonakali, izikhala ezingajwayelekile, izilawuli zokuqondiswa kwamabhidi, nezinhlamvu zamathegi.
- Umbhalo Isendlalelo B: isebenzisa ukubhalwa kabusha okukhulu ukuze inciphise izimpawu zamanzi zokukhetha amathokheni ngokwezibalo. Lokhu kwenziwa ngokuzama futhi kungashintsha isitayela noma izwi.
- Ukuhlanza amafayela: kususa imethadatha esekelwayo ye-C2PA, EXIF, XMP, izakhiwo zemibhalo, kanye ne-container ezinhlotsheni eziningi zamafayela.
Alikho ithuluzi elingaqinisekisa ukuthi umtshina womkhiqizi uzoyeka ukuhlonza okuqukethwe. Gcina amafayela okuqala, buyekeza yonke imiphumela ehlanziwe, futhi sebenzisa iphrojekthi kuphela kokuqukethwe okungokwakho noma ogunyaziwe ukukucubungula.
Izici ezibalulekile namafomethi asekelwayo
Imibhalo eyinhloko idinga Python 3.10 noma entsha futhi isebenzisa kuphela umtapo wolwazi ojwayelekile. Amathuluzi okuzikhethela afana ne-c2patool, exiftool, ne-qpdf asetshenziswa uma etholakala.
Okuhlosiwe kokuhlanza okusekelwayo
- Izithombe: PNG, JPEG, WebP, AVIF, HEIC, BMP, GIF, TIFF, ne-SVG.
- Imibhalo: PDF, DOCX, XLSX, PPTX, EPUB, ne-ODT.
- Imibhalo namafayela ewebhu: HTML ne-Markdown, kuhlanganise nemethadatha esekelwayo, i-JSON-LD, okhiye be-AI frontmatter, kanye nezimpawu zombhalo zeSendlalelo A.
- Amakhonteyna emidiya: MP4, MOV, M4A, M4V, WAV, MP3, ne-FLAC.
Amadomethi angaziwa awahlanzwa ngokuzenzakalelayo. Imiyalo eqondene nombhalo nayo iyawenqaba amafayela kanambambili futhi ikuqondise kumathuluzi amafayela ajwayelekile.
Imikhawulo ebalulekile
Ukuhlanza okuyinhloko akubandakanyi i-C2PA eboshwe ngokuthambile noma izimpawu zamanzi ezimsulwa zamaphikseli, umsindo, nevidiyo. Ukuhlanza i-PDF kudinga i-qpdf ukuze kususwe isakhiwo, ngoba ukuhlela imethadatha ngokwengeza kungashiya amabhayithi angabuyiselwa. Ukudlula okukhethwayo kwe-Ghostscript kungabhekana nemethadatha engaphakathi kwezithombe ezifakiwe ze-PDF.
Ukuthola izimpawu kwehlukile ekuhlanzeni. Abatholi bokuzikhethela be-MarkLLM, keyed-Gumbel, Claude seams, kanye nokulinganisa kwe-SynthID yezithombe bakhethwa uma kudingeka futhi baklanyelwe ukwehluleka ngobumnene uma bengatholakali.
Faka ikhono le-ejenti
Clone-a noma landa inqolobane, ngena kufolda yayo, bese usebenzisa isifaki. Umyalo olandelayo ufaka ikhono eliphelele elisekelwa yisevisi ekucushweni komuntu siqu kwe-Claude Code:
python3 install_skill.py --skill remove-ai-marks --target claude-codeOkuhlosiwe kokufaka okutholakalayo kufaka:
--target claude-codeifaka ngaphansi kwe-~/.claude/skills/<skill>.--target claude-project --project-dir PATHifaka ngaphansi kwe-PATH/.claude/skills/<skill>.--target coworkikhiqiza i-dist/<skill>.zipukuze ilayishwe ngesixhumi esibonakalayo se-Cloud Skills.--target cursorifaka ngaphansi kwe-~/.cursor/skills/<skill>.
Sebenzisa python3 install_skill.py --list ukuze ubhale amakhono athunyelwe. Inqolobane inikeza ikhono eliphelele le-remove-ai-marks kanye nekhono elizimele, eligxile embhalweni kuphela, le-clean-user-facing-text. Okufakiwe okukhona kugcinelwa ikhophi eyisipele ngaphandle kokuthi usebenzise i---force. Ukuze uhlele bukhoma usuka ekhophi yokuhlola, engeza i---link.
Faka i-plugin ye-Claude Code
Abasebenzisi be-Claude Code bangafaka i-plugin ye-marketplace ngokuqondile:
/plugin marketplace add guillaumemeyer/watermarks-remover
/plugin install watermarks-remover@watermarks-removerAmakhono azobe eselayisha njenge-/watermarks-remover:remove-ai-marks kanye ne-/watermarks-remover:clean-user-facing-text. Buyekeza i-plugin ngalo myalo:
/plugin marketplace update watermarks-removerXhumanisa ikhono ne-Grok
mkdir -p ~/.grok/skills
ln -sfn "$(pwd)/skills/remove-ai-marks" ~/.grok/skills/remove-ai-marksQalisa isevisi
Qalisa isevisi ye-HTTP yasendaweni usuka enqolobaneni:
make serveNgenye indlela, qalisa umbhalo weseva ngokuqondile:
python3 service/scripts/server.py --host 127.0.0.1 --port 8765Ikheli elizenzakalelayo ngu-http://127.0.0.1:8765. Uma isevisi isebenza kwenye indawo, setha i-WATERMARKS_SERVICE_URL yekhono. Iseva ibophezela ku-loopback ngokuzenzakalelayo, okusiza ukuyigcina ingavezwa ngokuqondile kwamanye amakhompyutha.
Hlola ukuthi isevisi iyaphendula:
curl -s http://127.0.0.1:8765/healthI-endpoint yezempilo ibuyisa into equkethe i-ok kanye nenguqulo yesevisi.
Hlola futhi uhlanze amafayela emugqeni womyalo
Indlela ephephe kunazo zonke ukuhlola ifayela kuqala, ubhale umphumela ohlanziwe endleleni entsha, bese uqhathanisa umphumela nefayela lokuqala.
SCRIPTS=service/scripts
python3 "$SCRIPTS/inspect_file.py" draft.md
python3 "$SCRIPTS/clean_file.py" draft.md -o draft.cleaned.md
python3 "$SCRIPTS/clean_file.py" photo.png -o photo.cleaned.png
python3 "$SCRIPTS/clean_file.py" notes.docx -o notes.cleaned.docxSebenzisa i-inspect_file.py ne-clean_file.py kuzo zombili iziqukathi zombhalo nezinambambili. Le miyalo ikhetha isihlanzi esifanele esisekelwayo ngokuya ngefayela.
Hlanza izimpawu zombhalo zeSendlalelo A
Kokufakwayo kombhalo ongenalutho, hlola abathwali be-Unicode abangabonakali nabasuselwa ekuhleleni usebenzisa:
python3 "$SCRIPTS/inspect_text.py" draft.mdBese udala ikhophi ehlanziwe bese uphrinta izibalo:
python3 "$SCRIPTS/clean_text.py" draft.md -o draft.cleaned.md --statsI-Layer A inqunywa ngokuqondile futhi yakhelwe ukuthi ingalahlekelwa lutho ngokuphathelene nombhalo obonakalayo. Ungadluliseli i-DOCX, i-PDF, izithombe, noma okunye okufakwayo okuyibhinari kule miyalo yombhalo; sebenzisa imiyalo yamafayela esikhundleni salokho.
Lungiselela ukubhalwa kabusha kwe-Layer B
Izimpawu zamanzi zombhalo ezisekelwe ezibalweni zidinga ukubhalwa kabusha, hhayi ukususa izinhlamvu nje. Ngokuzenzakalelayo, umyalo wokubhala kabusha uphrinta umbuzo:
python3 "$SCRIPTS/rewrite_text.py" draft.md --backend print-prompt --strength paraphraseI-Layer B iyinqubo ephindaphindwayo futhi isebenza ngokuzama konke okusemandleni. Inganciphisa ukufana nesitayela nezwi lombhalo wokuqala. Uma ikhwalithi ibaluleke kakhulu kunokuhlanzeka kwezimpawu zamanzi, iphrojekthi incoma ukusebenzisa i-Layer A nokuhlanza amafayela, ugcine umbhalo wokuqala.
Sebenzisa i-HTTP API
Le sevisi inikeza ukuhlola, ukuthola, ukuhlanza, ukucubungula ngamaqoqo, ukuthola amakhono, kanye nesicaciso se-OpenAPI.
GET /healthibika impilo yesevisi nenguqulo.GET /capabilitiesibika amathuluzi angakhethwa nama-backend atholakalayo.GET /openapi.jsonibuyisa isicaciso se-OpenAPI 3.0.3.POST /inspectibuyisa uhlobo lokufakwayo, isimo sokusoliseka, nombiko.POST /detectibuyisa imiphumela yezitholi ezilungiselelwe.POST /cleanibuyisa idatha ehlanziwe ye-base64 nombiko.POST /inspect/batchkanye ne-POST /clean/batchkucubungula amafayela afinyelela kwangu-50 ngesicelo ngasinye.
Isibonelo esilandelayo siguqula ifayela le-Markdown libe yi-base64 bese silithumela endaweni yokugcina yokuhlanza:
WM="http://127.0.0.1:8765"
curl -s "$WM/health"
curl -s -X POST "$WM/clean" -H 'Content-Type: application/json' \
-d "{\"file\": \"$(base64 < notes.md | tr -d '\n')\", \"name\": \"notes.md\"}"Setha i-WATERMARKS_SERVER_API_KEY ukuze kudingeke ukuqinisekiswa nge-bearer. Uma usebenzisa isevisi ngaphandle komshini wokuthuthukisa wasendaweni, gcina ukuqinisekiswa nezilawuli zenethiwekhi ezifanele.
Qalisa isevisi nge-Docker
Yakha bese uqalisa isithombe esiyisisekelo ngohlelo lwamafayela lokufunda kuphela kanye nohlu lwesikhashana:
make docker-core-build
docker run --rm -p 127.0.0.1:8765:8765 --read-only --tmpfs /tmp watermarks-removerI-Docker Compose isekela amaphrofayela amaningana:
docker compose up -d
docker compose --profile harness up -d
docker compose --profile heavy up -d- Okuzenzakalelayo kuqalisa isevisi eyisisekelo.
- Iphrofayela ye-
harnessingeza izingxenye ze-MarkLLM ne-MarkDiffusion. - Iphrofayela ye-
heavyingeza izingxenye ze-CtrlRegen ne-SynthID ezakhiwe endaweni.
Izithombe ze-Core, MarkLLM, ne-MarkDiffusion zishicilelwa ku-GHCR. I-CtrlRegen kanye nomhloli we-SynthID kusala kungokwendawo kuphela ngenxa yamalayisensi avela kubanikazi bokuqala. Kopisha i-.env.example uye ku-.env ukuze uthole ukulungiselelwa okungakhethwa; ukuhlanza umbhalo okuyisisekelo akudingi ezinye izilungiselelo.
Nika amandla ukuhlola okuzenzakalelayo nge-hook
Ikhono le-ejenti liwumyalo, ngakho imodeli inquma ukuthi izolisebenzisa yini. I-hook inquma ngokungaguquguquki: iyasebenza njalo lapho kwenzeka ucingo lwethuluzi olufanayo.
I-plugin ye-Claude Code ibhalisa i-hook ye-PostToolUse ye-Write, Edit, MultiEdit, ne-NotebookEdit. Ibiza i-service/scripts/hook_written_file.py kwenye yezindlela ezimbili:
- check: indlela ezenzakalelayo ibika izimpawu kodwa ayiguquli ifayela.
- clean: isusa izimpawu ezisekelwayo endaweni futhi yazise imodeli.
Khetha indlela ngesilungiselelo se-plugin esithi Hook mode noma usethe:
WATERMARKS_HOOK_MODE=cleanNgaphandle kwe-plugin, ungabhalisa i-hook mathupha ku-~/.claude/settings.json. Ama-hook ahlanganisa amafayela abhalwe yi-ejenti kanye nesango le-pre-commit, kodwa ukuhlanza umbhalo ngokuqondile emibhalweni yengxoxo kusala kuwumsebenzi wokuzama konke okusemandleni futhi kuncike ekhonweni.
Engeza ukuhlola kwe-pre-commit
Ukuze uvimbele amafayela anezimpawu ngaphambi kokuba angene ku-Git commit, engeza i-check hook yendawo yokugcina ku-.pre-commit-config.yaml:
repos:
- repo: https://github.com/guillaumemeyer/watermarks-remover
rev: v0.5.0
hooks:
- id: watermarks-remover-checkI-hook ye-watermarks-remover-check iyehluleka uma kutholakala izimpawu. Enye i-hook, i-watermarks-remover-clean, ihlanza amafayela endaweni futhi idinga ukukhethwa ngokusobala.
Amathiphu athuthukile
Gcina okwangempela bese uqhathanisa imiphumela
Bhala idatha ehlanziwe endleleni yokukhipha ehlukile noma nini lapho kungenzeka. Lokhu kubaluleke kakhulu ekubhalweni kabusha kwe-Layer B naseziqukathini zamadokhumenti eziyinkimbinkimbi, lapho ukucubungula kungathinta khona umbhalo, amafa ashumekiwe, noma izakhiwo eziqondene nohlelo lokusebenza.
Faka amathuluzi afanele e-PDF
Sebenzisa i-qpdf uma udinga ukususa isakhiwo sangempela se-PDF. I-README ixwayisa ngokuthi i-exiftool iyodwa yenza isibuyekezo esengeza idatha, esingashiya amabhayithi amadala esengatholwa. Sebenzisa i-pass ejulile ye-Ghostscript ongayikhetha lapho imethadatha ingase ibe ngaphakathi kwezithombe ezishumekiwe.
Phatha ukuthola nokuhlanza njengemisebenzi ehlukene
Umsebenzi wokuhlanza ususa izithwali ezisekelwayo nemethadatha, kanti isitholi silinganisela ukuthi uhlelo lwe-watermark olulungiselelwe lukhona yini. Isibonelo, ukuqinisekiswa kwe-MarkLLM kunencazelo kuphela ngaphansi kokulungiselelwa okufanayo, futhi ukudlalwa kabusha kwe-keyed-Gumbel kudinga ukhiye wokukhiqiza. Lawa mathuluzi awawona ama-oracle ajwayelekile abo bonke abathengisi.
Khetha i-Layer B ngokucophelela
Uma usebenzisa i-Layer B, iphrojekthi incoma imodeli engeyona eyomthombo wokuqala ukuze kuncishiswe amathuba okusebenzisa uhlobo olufanayo lwesimpawu futhi. Njengoba ukubeka ngamanye amazwi kakhulu kungalimaza ithoni nokunemba, kweqe lapho ukugcina ikhwalithi yokubhala kuyinto ebaluleke kakhulu.
Hlola ama-backend ongawakhetha
Izikripthi zokuqalisa eziku-service/scripts/ zingalungiselela i-reverse-SynthID yokulinganisa izithombe, i-CtrlRegen yokususa esizindeni samaphikseli, i-MarkLLM yokuqinisekisa ama-watermark ombhalo alungiselelwe, kanye ne-MarkDiffusion yokuhlola ama-watermark ezithombe. Lawa ma-backend anezidingo nemikhawulo ehlukene; bheka izikripthi zawo zokusetha ngaphambi kokuwavula.
Ukusetshenziswa okunomthwalo wemfanelo
Sebenzisa i-watermarks-remover kuphela ngobumfihlo, ucwaningo, nokuhlanza okuqukethwe okungokwakho noma ogunyazwe ukukucubungula. Ayihloselwe ukukhwabanisa kwezemfundo noma izimangalo ezingamanga zokuthi okuqukethwe okukhiqizwe yi-AI kwabhalwa umuntu. Landela imithetho esebenzayo nezinqubomgomo zesikhungo.
Le phrojekthi itholakala ngaphansi kwe-MIT License. Ukuze uthole ukukhishwa kwezinhlobo nekhodi yomthombo, vakashela inqolobane ye-watermarks-remover ku-GitHub.
Isiphetho
i-watermarks-remover ihlanganisa ukuhlanzwa kombhalo okunqunywe kusengaphambili, ukususwa kwemethadatha kuzo zonke iziqukathi zamafayela eziningi, ama-backend okuthola ongawakhetha, ukuhlanganiswa nama-agent, ama-hook, kanye ne-HTTP API. Qala ngokuhlola, gcina okwangempela, sebenzisa ungqimba lokuhlanza oluncane nolufanele kakhulu, bese ubuyekeza umphumela esikhundleni sokuthatha noma yimuphi umphumela womtholi njengesiqinisekiso.
