fujiDevv/synapseclean
Live in productionLocal context compactor and semantic prompt cleaner for AI power-users.
Local context compactor and semantic prompt cleaner for AI power-users.
No GitHub topics on this repo.
- TypeScript77.2%
- HTML10.3%
- CSS10.1%
- Python2.2%
- JavaScript0.3%
1 Review
SynapseClean addresses a clear problem with a focused browser workflow. It converts selected webpage content into structured Markdown before the text reaches an AI chat, while keeping processing on the device. The extension supports automatic copy interception, a keyboard shortcut, a context menu, three output formats, domain-specific profiles, and optional Gemini Nano refinement through Chrome’s local Prompt API. Its fallback path is useful because rule-based cleaning still works when Gemini Nano is unavailable. The implementation preserves headings, lists, links, code blocks, and important text while removing navigation, comments, cookie prompts, and repeated lines. Large inputs are bounded, long AI requests are split into overlapping chunks, and processing yields periodically to avoid freezing the page. Privacy documentation clearly explains local storage, broad host permissions, and the absence of telemetry or external AI calls. Strict TypeScript, unit tests for compaction, clipboard fallback, message routing, settings migration, and prompt construction, plus a real Playwright copy-and-clipboard test, give the project a solid early foundation. The MIT license and contribution guide also make participation straightforward.
The biggest improvement would be automated enforcement. The package defines a strong verify:ci command, but the repository has no GitHub Actions workflow to run type checks, builds, unit tests, or Playwright tests on every change. Adding CI would make the documented standards dependable. The rule engine also has a subtle correctness risk. Several boilerplate regular expressions use the global flag and are reused with JavaScript’s stateful test() method. Repeated matching lines can therefore be skipped unexpectedly. Removing the global flag or resetting each expression would make filtering consistent, with a regression test covering repeated banners. Documentation versions need alignment too. The code and manifest report 1.1.1, the changelog stops at 1.1.0, and the privacy policy still identifies version 1.0.0. A dedicated security policy and private advisory link would improve vulnerability handling beyond the current email-only instructions. Finally, the extension requests access to all websites, tabs, scripting, and clipboard writes. Those permissions may support the design, but automated permission tests and a more prominent explanation during installation would strengthen trust. Overall, SynapseClean is a practical, privacy-focused extension with thoughtful local processing. CI, version consistency, and a few reliability fixes would make it much easier to maintain and trust.
