Skip to content

Releases: similigh/simili-bot

v0.1.7

25 Feb 08:47
ea34a71

Choose a tag to compare

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 via simili.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 reports
  • feat: Environment variable validation on startup with clear error messages
  • feat: Workflow concurrency control — prevents parallel triage runs on the same issue
  • feat: OpenAI embedding and LLM provider support
  • feat: Exponential backoff for Gemini API transient errors
  • feat: Duplicate auto-closer core (grace period, label swap, closing comment)
  • feat: Expanded human-activity detection (reactions, reopen, comments)
  • feat: simili auto-close CLI subcommand with --dry-run and --grace-period-minutes
  • ci: 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_comment and pull_request.edited events
  • Fix closeIssue operation order (close → swap labels → comment, not comment-first)
  • Fix missing pagination in auto-closer comment and event fetches
  • Fix CommentAuthor population from sender for 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.7

Contributors

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

13 Feb 17:08
40a11b4

Choose a tag to compare

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

Full Changelog: v0.1.5...v0.1.6

v0.1.5

11 Feb 12:15
cee4697

Choose a tag to compare

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 5

Use 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

  • Closes #34: Batch Issue Processing CLI
  • Closes #35: Simple Web Dashboard for Dry run

v0.1.0

04 Feb 15:46
a8f96d8

Choose a tag to compare

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:

  1. The bot now requires GITHUB_TOKEN (or TRANSFER_TOKEN for cross-repo transfers)
  2. Transfer detection now uses GitHub API - ensure token has repo scope
  3. Configuration inheritance is more robust - review your extends settings
  4. 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.1.0

v0.0.4

03 Feb 05:32
66f66b3

Choose a tag to compare

Implement configuration inheritance and environment variable fallback.

v0.0.3

03 Feb 04:28
40fa94b

Choose a tag to compare

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

02 Feb 07:41
fd23c74

Choose a tag to compare

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