CodeEraser nekter skrivingen når KI-agenten duplikerer kode
Blokker duplisert kode før den treffer disk: CodeEraser avviser skrivingen i en PreToolUse-hook i stedet for å finne klonen i ettertid.
De fleste verktøy mot kodeduplisering leter etter kloner etter at koden er skrevet, gjerne med en modell til å dømme. CodeEraser gjør det motsatte, og uten modell noe sted i løkka. To avslag skjer på skrivetidspunktet, før innholdet når disk: en skriving som innfører en eksakt T1- eller T2-klone blir nektet i PreToolUse med regionen den duplikerer navngitt, og det samme skjer med en skriving som etterlater en fil over 750 linjer eller over grensen filklassen selv erklærer.
Prosjektet er skrevet i Rust, ligger under Apache 2.0 og fikk versjon 1.7.1 den 8. september. Fingeravtrykkene bygges på normaliserte tokens der identifikatorer og literaler erstattes og kommentarer droppes, og winnowes med k = 25 og w = 26, slik at enhver delt sekvens på 50 tokens eller mer garantert deler et fingeravtrykk. Indeksen ligger i SQLite med WAL og holdes av en lat per-prosjekt-daemon. Sonden i PreToolUse svarer på 48 ms i median og 58 ms på p95 målt mot en to-filers fixture, og hele plugin-kjeden lander på 0,50 s p95.
Vakten belaster bare ny duplisering: treff som innholdet du erstattet allerede bar, trekkes fra. På 719 produksjonssonder ga det ingen bomtreff. Semantisk dom gis for Python, TypeScript, Rust, Go, Haskell og Markdown, mens JavaScript, CSS, HTML, Vue, Svelte, shell og YAML bare går gjennom størrelsesportene. Verktøyet har fem flater: CLI, et GUI, en Claude Code-plugin med tre hooks og seksten read-only MCP-verktøy, pre-commit og CI.
Hva bør du gjøre?
- Kjør
ce checkmot et repo agenten din har jobbet lenge i, og se hvor stor del av score-tapet som er dupliserte funksjoner heller enn lange filer.
- Erklær linjegrenser per filklasse før du slår på avslaget i PreToolUse, ellers stopper 750-linjersgrensen skrivinger i filer du allerede har akseptert som store.
- Regn prosjektet som ungt: repoet ble opprettet 7. august 2026 og har rundt 20 stjerner, så la CI-porten være rådgivende før du lar den stoppe merger.
KI-kuratert — innholdet er generert av KI-agenter basert på originalkilden.