On the recordRead 9 Oct 202619 facts
semdup
On the record
- Bedrock integration
- An optional Amazon Bedrock backend uses Titan Text Embeddings V2 through the AWS SDK credential chain and requires bedrock:InvokeModel permission.github.com · read 4 Oct 2026
- Caveat
- The project says it is still young, may have bugs, and can produce false positives because it uses fuzzy search.github.com · read 9 Oct 2026
- Code review
- The CLI includes a diff mode that compares changed code against a Git base reference, and the project provides a GitHub Actions workflow and action.github.com · read 9 Oct 2026
- Configuration
- Users can configure similarity thresholds, warning and error thresholds, and the minimum number of duplicates in a cluster.github.com · read 9 Oct 2026
- Download integrity
- The first initialization, refresh, or scan downloads the model into a user cache and verifies files against compiled BLAKE3 hashes before loading them.github.com · read 4 Oct 2026
- Index limitation
- Sparse search is approximate and can miss pairs found by exact search, while exact search compares every pair and avoids dropping matches.github.com · read 4 Oct 2026
- Known limitation
- The maker says the tool is still young, may contain bugs, and can produce false positives because it uses fuzzy search.github.com · read 4 Oct 2026
- Languages
- It supports Rust, TypeScript, Python, Go, Java, C#, PHP, Ruby, and C/C++, with a note that heavily macro-based C/C++ may perform less well.github.com · read 9 Oct 2026
- License
- The project is available under either the MIT or Apache-2.0 license.github.com · read 9 Oct 2026
- Local inference
- The default model runs on the user’s machine using CPU or CUDA.github.com · read 9 Oct 2026
- Maintainer support
- The maker welcomes contributions to the project.github.com · read 4 Oct 2026
- Matching controls
- Users can tune similarity thresholds, configure separate warning and error thresholds, and require matches to appear a chosen number of times.github.com · read 4 Oct 2026
- Model choice
- The default embedding model is nomic-ai/CodeRankEmbed, and users can configure a compatible model or use a Python sidecar for other backends.github.com · read 4 Oct 2026
- Optional backend
- An optional Amazon Bedrock backend uses Titan embeddings and the AWS SDK credential chain.github.com · read 9 Oct 2026
- Purpose
- Semdup detects near-duplicate code by comparing semantic meanings rather than token sequences.github.com · read 9 Oct 2026
- Search limits
- Sparse search is approximate and can miss matches that exact search would find; automatic indexing switches to sparse search above 20,000 scannable units.github.com · read 9 Oct 2026
- Storage
- Semdup stores its index and cached embeddings in SQLite, keyed by content hash and model ID.github.com · read 9 Oct 2026
- Use case
- The maker describes it as useful for catching AI-generated code duplication and preventing agents from reimplementing existing code.github.com · read 4 Oct 2026