Releases: similigh/simili-bot
v0.1.7
Simili Bot v0.1.7
This release delivers the duplicate issue auto-closer — a complete two-phase workflow for managing duplicate issues — along with OpenAI provider support, resilience improvements, and several bug fixes.
✨ Highlights
🤖 Duplicate Issue Auto-Closer (Phase 2)
Issues labelled potential-duplicate are now automatically closed after a configurable grace period (default: 72 h), but only when there is genuinely no human pushback. The bot detects three human-activity signals before closing:
| Signal | Description |
|---|---|
| Negative reactions | 👎 (-1) or 😕 (confused) on the bot's triage comment |
| Human reopen | Issue reopened by a non-bot user after the label was applied |
| Human comment | Any non-bot comment posted after the label was applied |
A new simili auto-close CLI subcommand ships with this release, enabling local dry-runs and CI usage:
simili auto-close --repo owner/repo --dry-run --grace-period-minutes 5🔌 OpenAI Provider Support
Simili Bot now supports OpenAI as an embedding and LLM provider alongside Gemini. Set your OPENAI_API_KEY and configure the provider in simili.yaml.
🔁 Exponential Backoff & Retry Hardening
Gemini API calls now retry with exponential backoff on transient failures. Retry logic uses typed error checking and an injectable RetryConfig for easier testing and customisation.
🆕 What's New
feat: LLM model configurable viasimili.yaml(llm.model,llm.provider)feat: CLI can now fetch issues directly from GitHub by number (--number)feat: Issues and PRs are visually differentiated in similar-thread reportsfeat: Environment variable validation on startup with clear error messagesfeat: Workflow concurrency control — prevents parallel triage runs on the same issuefeat: OpenAI embedding and LLM provider supportfeat: Exponential backoff for Gemini API transient errorsfeat: Duplicate auto-closer core (grace period, label swap, closing comment)feat: Expanded human-activity detection (reactions, reopen, comments)feat:simili auto-closeCLI subcommand with--dry-runand--grace-period-minutesci: E2E integration test pipeline with auto-closer dry-run coverage
🐛 Bug Fixes
- Fix stale issue/PR state shown in similar-thread comments after status changes
- Prevent infinite bot comment loops on
issue_commentandpull_request.editedevents - Fix
closeIssueoperation order (close → swap labels → comment, not comment-first) - Fix missing pagination in auto-closer comment and event fetches
- Fix
CommentAuthorpopulation fromsenderfor non-comment event types - Fix E2E workflow to run only on approved reviews (security for fork PRs)
📦 Installation
Download the binary for your platform from the assets below, or use it as a GitHub Action:
- uses: similigh/simili-bot@v0.1.7Contributors
Thanks to everyone who contributed to this release: @mahsumaktas, @Openclaw-ai-dev, @nick1udwig, @Sachindu-Nethmin, @Kavirubc
Full Changelog: v0.1.6...v0.1.7
v0.1.6
What's Changed
- feat: support pull request events in triage pipeline by @mahsumaktas in #39
- fix: PR triage review feedback (synchronize trigger, thread header, comment clarity) by @Kavirubc in #41
- feat: CLI PR indexing (#46) & standardized embedding content (#47) by @Kavirubc in #48
New Contributors
- @mahsumaktas made their first contribution in #39
Full Changelog: v0.1.5...v0.1.6
v0.1.5
Release v0.1.5
🎉 Major Features
🔧 Batch CLI Command
Process multiple issues from JSON files against the vector database without making any GitHub writes.
Features:
- Process arrays of issues from JSON files
- Support JSON (detailed) and CSV (stakeholder-friendly) output formats
- Concurrent processing with configurable worker pool
- Override collection, thresholds, and top-k via CLI flags
- Perfect for testing bot logic on historical data
Usage:
simili batch --file issues.json --out-file results.csv --format csv --workers 5Use Cases:
- Test bot logic on historical issues without spamming repos
- Generate analysis reports for stakeholders
- Validate similarity search and duplicate detection accuracy
- Audit quality assessment without requiring write access
🌐 Web UI (simili-web)
Interactive web interface for real-time issue analysis with minimal shadcn-style design.
Features:
- Submit issues via web form (title, body, org, repo)
- View similar issues with similarity scores
- See duplicate detection with LLM reasoning
- Get quality scores and improvement suggestions
- Receive label and transfer recommendations
- Single-binary deployment with embedded static files
Usage:
export GEMINI_API_KEY=xxx QDRANT_URL=xxx QDRANT_API_KEY=xxx QDRANT_COLLECTION=xxx
./simili-web
# Open http://localhost:8080🐛 Bug Fixes
Duplicate Detection Improvements
- Fixed: Related issues incorrectly marked as duplicates
- Root cause: Only titles were passed to LLM, not full issue bodies
- Solution: Now extracts and passes full text field from Qdrant payload
- Rewrote duplicate detection prompt to be more conservative
- Raised confidence threshold to 0.85
- Added DuplicateReason field to capture LLM reasoning
Before: Issue chain #8640 → #8641 → #8642 incorrectly marked as duplicates
After: Issues correctly identified as related but not duplicates
Transfer Detection
- Fixed transfer comment message when issue stays in current repo
- Prevent incorrect routing by including current repo in candidates
✨ Enhancements
Message Templates
- Redesigned all bot messages with professional branding
- Improved clarity and consistency across all interactions
Hybrid Routing
- Implemented hybrid routing with repository documentation learning
- Combines rule-based and VDB semantic matching for better accuracy
🔧 Technical Changes
- Extracted reusable ExecutePipeline() function for batch processing
- Added URL sanitization to prevent XSS vulnerabilities
- Improved error handling for JSON encoding operations
- Fixed parameter shadowing issues
- Updated embedding model to gemini-embedding-001
📚 Documentation
- Added comprehensive README for simili-web
- Updated main README with batch CLI usage
- Added API documentation and troubleshooting guides
- Included examples for both CLI and web UI
📦 What's Changed
Full Changelog: v0.1.0...v0.1.5
Issues Closed
v0.1.0
Simili-Bot v0.1.0 - Transfer Detection & Smart Routing
This release introduces major improvements to transfer detection, smart routing, and multi-repository issue triage.
Major Features
Smart Issue Routing & Transfer System
- LLM Triage & Smart Routing (#24): Intelligent issue classification and automatic cross-repository routing using AI
- Transfer Rules Engine (#22): Configurable rules-based system for automatic issue transfers between repositories
- Transfer-First Flow with /undo Command (c760085): Issues are transferred immediately with ability to undo incorrect transfers
Transfer Loop Prevention
- GitHub API-Based Transfer Detection (#28, #25): Proper detection using GitHub timeline events API
- Eliminates false positives from time-based heuristics
- Accurately identifies transferred issues to prevent re-triaging
- Queries actual "transferred" events instead of relying on creation timestamps
- Bot Comment Detection (3fdefb0): Prevents bot from triaging its own comments and creating feedback loops
- Skip Indexing for Transferred Issues (0499041): Transferred issues are no longer indexed to avoid duplicate embeddings
Critical Bug Fixes
GitHub Integration
- Repository Parsing from Webhooks (#26): Fixed parsing of repository owner/name from GitHub webhook events
- Event Action Parsing (d298c71): Properly extracts action field (opened, transferred, etc.) from webhook payloads
- TRANSFER_TOKEN Support (aed3242): Use dedicated token for cross-repository operations when available
Configuration & Inheritance
- Configuration Inheritance (c733c39, 134f875): Fixed config merging and boolean field handling in multi-repo setups
- Issue Number Extraction (60ce224): Robust extraction of issue numbers from Qdrant vector store payloads
- Similarity Search Compatibility (541ff8e): Fixed compatibility between similarity search and indexer components
Deployment & Compatibility
- Docker Action Migration (eb22f4c): Migrated to Docker-based GitHub Action for better reliability
- Go Version Standardization: Standardized on Go 1.23+ across all build environments
- Remove TUI Dependencies (a59a717): Switched to standard stdout logging for better CI/CD compatibility
- Embedding Model Updates (2f11d7c, c77eaa2): Updated to latest Gemini embedding models
Improvements
- Enhanced Debug Logging (1bda6dc): Added comprehensive logging to gatekeeper for diagnosing transfer detection
- QDRANT_URL Environment Priority (ebca28d): Prioritize environment variables over config file for container deployments
- Error Visibility (4864464): Use string slices for errors to ensure proper JSON serialization
- CODEOWNERS (#21): Added code ownership definitions
Deployment
This release uses GoReleaser for multi-platform builds:
- Linux (amd64, arm64)
- macOS (amd64, arm64)
- Windows (amd64, arm64)
Migration Notes
If upgrading from v0.0.4:
- The bot now requires GITHUB_TOKEN (or TRANSFER_TOKEN for cross-repo transfers)
- Transfer detection now uses GitHub API - ensure token has repo scope
- Configuration inheritance is more robust - review your extends settings
- LLM features require GEMINI_API_KEY environment variable
Release Stats
- 46 commits since v0.0.4
- 4 merged pull requests
- Multiple critical bug fixes for production stability
- Zero breaking changes to existing configurations
Full Changelog
v0.0.4
v0.0.3
Changelog
- 40fa94b feat: Introduce simili-cli.
- 7e8101e feat: Add CI mode support to skip interactive TUI in non-interactive environments
- 6cfe224 feat: Implement 'index' command for bulk issue backfilling (#19)
- ea5c6bf feat: Implement multi-repository setup examples using GitHub Reusable Workflows and provide corresponding documentation and examples. (#16)
v0.0.2
Changelog
- fd23c74 chore: add .goreleaser.yaml to fix build issue
- 98535f0 Fixes lint and error handling issues, and enhances TUI, configurability, and logging based on code review feedback.
- cc6a91b feat: Implement CLI (Cobra/BubbleTea) & PendingActionScheduler (#14)
- 13eb629 v0.0.2v: Foundation Integration (Gemini + Qdrant + GitHub API) (#12)
- 3e6c234 feat: Initial implementation of Simili-bot v0.0.1 (#1)
- 7f343a4 Initial commit