Skip to content

Releases: DevAnimecx/jiro

v0.2.15 - THE COMPLETE RELEASE - Everything from v0.2.13, v0.2.14, and v0.2.15 combined

Choose a tag to compare

@DevAnimecx DevAnimecx released this 10 Sep 12:25

🚀 Jiro v0.2.15 - THE COMPLETE RELEASE

Everything from v0.2.13, v0.2.14, and v0.2.15 combined into one massive release!


🛡️ Stealth & Anti-Bot Engine

  • TLS/JA3 Fingerprint Rotation: Browser impersonation with 20+ profiles (Chrome, Firefox, Safari, Edge, Tor)
  • Behavioral Simulation: Randomized timing, mouse movements, scroll patterns
  • curl-cffi Integration: Native TLS fingerprint spoofing

📡 Real-time Streaming

  • WebSocket Endpoints: /ws/search, /ws/search/stream, /ws/monitor
  • Connection Manager: Track and manage active WebSocket connections
  • SSE Streaming: Server-Sent Events for real-time search results

🔍 Search Enhancements

  • Parallel Search: Multi-engine search with --parallel flag
  • Configurable Engines: --engines flag to control concurrent engine count (max 5)
  • Interactive Mode: jiro search -i for continuous search loop

💻 CLI Improvements

  • Benchmark Command: jiro bench for performance testing with statistics
  • Search Query Auto-Scrape: jiro scrape "query" searches then scrapes top result
  • Auto-HTTPS: Auto-prepend https:// for bare domains
  • Windows Unicode Fix: cp1252 compatible output on Windows

🏢 Enterprise Features

  • Rate Limiting: Sliding window rate limiter with per-second, per-minute, per-hour, per-day limits
  • Usage Quotas: Monthly quotas for searches, scrapes, and AI queries
  • Tier-based Limits: Free, Pro, and Enterprise tiers with different limits
  • Rate Limit Headers: X-RateLimit-* headers in API responses

🔌 Plugin System

  • Plugin Base Classes: SearchEnginePlugin, ScraperPlugin, AIProviderPlugin
  • Plugin Registry: Register, unregister, and discover plugins
  • Plugin Discovery: Auto-discover plugins from a directory
  • Plugin Hooks: Event-based hook system for plugin communication

⚡ Advanced Caching

  • Memory Cache: LRU/LFU in-memory caching with analytics
  • Cache Analytics: Hit rate, miss rate, eviction count, memory usage
  • Cache Strategies: LRU, LFU, TTL, Write-through
  • Cache Keys: SHA-256 based key generation

🌐 Official SDKs (NEW!)

Python SDK

pip install jiro-sdk
from jiro_sdk import JiroClient

client = JiroClient(api_key="your-key")
results = client.search("python web scraping")
content = client.scrape("https://example.com")
answer = client.ai_ask("What is Python?")

Features:

  • Sync & async clients
  • Full API coverage
  • Error handling
  • Context manager support
  • Type hints

JavaScript/TypeScript SDK

npm install jiro-sdk
import { JiroClient } from 'jiro-sdk';

const client = new JiroClient({ apiKey: 'your-key' });
const results = await client.search('python web scraping');
const content = await client.scrape('https://example.com');
const answer = await client.aiAsk('What is Python?');

Features:

  • Browser & Node.js compatible
  • TypeScript definitions
  • WebSocket streaming
  • ESM & CommonJS support

Go SDK

import "github.com/DevAnimecx/jiro/sdk/go"

client := jiro.NewClient(jiro.WithAPIKey("your-key"))
results, _ := client.Search("python web scraping", nil)
content, _ := client.Scrape("https://example.com", nil)
answer, _ := client.AiAsk("What is Python?", nil)

Features:

  • Idiomatic Go
  • Functional options
  • Context support
  • Error handling

📊 Monitoring & Observability

  • Metrics Registry: Prometheus-compatible metrics collection
  • Request Tracing: Correlation IDs with span tracking
  • Health Checks: Liveness and readiness probes
  • Performance Metrics: Counters, gauges, histograms with statistics

📤 Export/Import

  • Search Export: Export results to JSON, CSV, Markdown, YAML
  • Config Export: Backup and restore configurations
  • Backup Manager: Create and restore system backups

⏰ Scheduled Searches

  • Cron Scheduling: Cron-like schedule expressions
  • Recurring Jobs: Create, pause, resume, delete scheduled searches
  • Notifications: Email and webhook notifications on results

📜 Search History

  • History Tracking: Record all searches with timestamps
  • History Query: Search by text, engine, time range, user
  • Analytics: Popular queries, time distribution, cache hit rate

📦 Batch Operations

  • Batch Search: Execute multiple searches concurrently
  • Batch Scrape: Scrape multiple URLs in parallel
  • Mixed Operations: Combine search and scrape in one batch
  • Progress Tracking: Real-time progress and result aggregation

📦 Installation

# Python
pip install jirosearch==0.2.15

# Or install SDK separately
pip install jiro-sdk
# JavaScript
npm install jiro-sdk
# Go
go get github.com/DevAnimecx/jiro/sdk/go

🔗 Links


Full Changelog: https://github.com/DevAnimecx/jiro/commits/v0.2.15

v0.2.12 — Universal Integration, Deep Enterprise Lock, Fast Install

Choose a tag to compare

@DevAnimecx DevAnimecx released this 07 Sep 13:26

🚀 v0.2.12 — Universal Integration, Deep Enterprise Lock, Fast Install

🆕 New Features

  • MCP Setup Wizard — One-command setup for Claude Desktop, Cursor, OpenCode, Codex CLI, OpenClaw, Hermes, Continue.dev, and Zed
  • AES-256-GCM License Encryption — Enterprise license tokens now encrypted at rest
  • CapabilityToken HMAC Tokens — Cryptographic license validation with scoped capabilities
  • jiro doctor — Built-in diagnostics command for quick health checks

🔒 Enterprise Deep Lock

  • require_tier("enterprise") enforced on all 18 /enterprise/* endpoints
  • Authorization: License <token> header validation via HMAC-SHA256
  • Enterprise-only features: ai_search, advanced_healing, high_volume, custom_models, commercial_use, premium_support, white_label

🆓 Free Tier Power-Up

  • 100 RPM / 10,000 RPD / 50 max results / 20 concurrent / 25 batch
  • Unlocked: basic_search, basic_scrape, social_advanced, social_search, social_timeline, smart_search, structured_extraction, social_batch (5/batch), self_learning (basic)
  • Anonymous users get 12 free features (was 3)

🐛 Bug Fixes

  • Fixed Tuple import error in feature_flags.py
  • Fixed SQLite parameter binding in pro.py
  • Fixed payload scoping in licensing.py
  • Fixed MCP error messages for missing dependencies
  • Fixed SERVER_VERSION constant in MCP module

📦 Install

pip install jirosearch==0.2.12

PyPI: https://pypi.org/project/jirosearch/0.2.12/
Docs: https://jiro.dev

v0.2.11 — Enterprise Tier Deep Lock + Free Tier Power-Up + Premium UI/UX

Choose a tag to compare

@DevAnimecx DevAnimecx released this 05 Sep 18:20

What's New in v0.2.11

Enterprise Tier (Deep Locking)

  • HMAC-SHA256 license token validation on all /enterprise/* endpoints
  • require_tier('enterprise') dependency with Authorization: License header
  • Hardware-bound license validation with 24h grace period
  • Online revalidation support

Free Tier Power-Up

  • Generous limits: 100 RPM / 10,000 RPD (was 30/1,000)
  • Unlocked for free: social_batch (limited to 5/batch), self_learning (basic)
  • Anonymous access: 12 free features (was 3)

Tier System Unification

  • PLAN_LIMITS in pro.py is now single source of truth
  • feature_flags.py and licensing.py derive from PLAN_LIMITS at import
  • Fixed broken pro router (removed non-existent STARTER/PRO tiers)
  • Fixed deps.py tier hierarchy (2-level: free/enterprise)

Premium UI/UX

  • Product Hunt-ready README with comparison tables, feature cards, pricing
  • Landing page (docs/index.html) with particle effects, scroll animations
  • Animated counters, glass morphism, gradient borders, interactive terminal
  • SEO: Open Graph, Twitter Cards, JSON-LD structured data

Enterprise Features (Phase 1-6)

  • RBAC, OIDC, encryption, audit chain, sessions
  • Telemetry, distributed tracing, /metrics, /health
  • Query analytics, trend detection, anomaly alerts
  • Multi-tenant management, SLA monitoring
  • SOC2 controls, data residency, retention policies
  • Webhooks, batch jobs, enterprise admin API

Bug Fixes

  • Fixed broken pro.py PlanTier.STARTER/PlanTier.PRO references
  • Fixed deps.py 4-level tier hierarchy (now 2-level)
  • Fixed AuthManager class structure
  • Fixed circular imports between auth.py and deps.py

Tests

  • 828 passed, 9 skipped, 0 failed

Installation

\\�ash
pip install jirosearch==0.2.11
\\

Links

v0.2.2 - Security Hardening & MCP 16 Tools

Choose a tag to compare

@DevAnimecx DevAnimecx released this 03 Sep 18:36

Security Hardening

  • SSRF fail-closed: DNS resolution failures now reject requests instead of allowing
  • Session store deadlock fix in cleanup()
  • All assert statements replaced with proper runtime checks
  • SSRF validation added to scrape/social_scrape MCP tools
  • Error messages no longer leak stack traces to clients

MCP System (16 tools, 5 resources, 6 prompts)

  • 4 new tools: health_check, cache_stats, list_engines, list_social_platforms
  • 3 new resources: social_platforms, plans, plugins
  • 4 new prompts: social_research, deep_research, extract_structured, competitor_analysis
  • Resource handlers fixed (plans, plugins imports corrected)
  • SearchOrchestrator.health_check() added

Tests

  • 119/119 tests passing
  • New tests for SSRF rejection, all 16 tools, 5 resources, 6 prompts

v0.2.1 - Complete Release

Choose a tag to compare

@DevAnimecx DevAnimecx released this 03 Sep 13:37

Jiro v0.2.1 - Complete Release Notes

Local-first, AI-native web search & scraping platform with 12 social platforms, hybrid search, structured extraction, and Pro tier.

What's New

Phase 1: Search Intelligence

  • Hybrid Search - Combines keyword, semantic, and freshness signals for enhanced relevance
  • Cross-Encoder Reranking - ML-powered result reranking with configurable models
  • Semantic Embeddings - Vector similarity search using sentence-transformers
  • Relevance Scoring - Multi-signal ranking with keyword match, source authority, and freshness
  • Search Filters - Domain include/exclude, time range, category filters
  • Highlight Extraction - Query-aware snippet highlighting
  • Answer Synthesis - Extractive answers from search results
  • Multi-Query Expansion - Parallel query generation for complex topics

Phase 2: Social Scraping (12 Platforms)

Platform Features
Reddit Posts, comments, subreddits, user profiles
Hacker News Stories, comments, user profiles
YouTube Videos, channels, playlists, comments
Bluesky Posts, profiles, feeds
Twitter/X Tweets, threads, profiles (3-backend fallback)
Threads Posts, profiles
Instagram Posts, stories, reels, profiles
TikTok Videos, profiles, trending
LinkedIn Posts, profiles, companies
Facebook Posts, profiles, groups
Telegram Messages, channels, groups
Pinterest Pins, boards, profiles

Phase 3: Advanced Features

  • Structured Extraction - JSON Schema-based data extraction from search results
  • Intent Classification - Rule-based classifier with 16 intent types:
    • Informational, Navigational, Transactional, Research
    • Social, Shopping, News, Video, Image, Code
    • Academic, Local, Comparison, Definition, Troubleshooting, Creative
  • Smart Search - Auto-routing based on detected intent
  • Plugin System - 5 plugin types:
    • Engine Plugins (6): Google Scholar, arXiv, GitHub, Wikipedia, HN, Reddit
    • Search Plugins (6): Reranker, Deduplicator, Domain Filter, Freshness Boost, Source Authority, Snippet Enricher
    • Datasource Plugins (3): SEC Filings, Clinical Trials, Patents
    • Extractor Plugins: Custom content extraction
    • Social Plugins: Custom platform scrapers

Phase 4: Pro Tier

Plan Price RPM RPD Features
Free $0 10 100 Basic search, social scraping
Starter $29/mo 60 5,000 Hybrid search, structured extraction
Pro $99/mo 300 50,000 All features, webhooks
Enterprise $499/mo 1,000 500,000 Custom models, priority support
  • API Key Authentication - Secure key-based access with tiered permissions
  • Rate Limiting - Token bucket per API key
  • Quota Management - Daily request limits per tier
  • Usage Analytics - Detailed per-key, per-endpoint tracking

Phase 5: Production Ready

  • Docker - One-command deployment with docker-compose
  • Kubernetes - Production-ready Helm chart
  • OpenAPI 3.1 - Complete API specification
  • SDK Generation - Python, TypeScript, Go clients
  • Web Dashboard - Alpine.js + Tailwind UI with 5 tabs

Security Hardening

  • Auth enabled by default
  • Header-only API key authentication
  • Sanitized error messages
  • CORS protection
  • SSRF validation
  • JWT secret validation

API Endpoints

Search

  • POST /v1/search - Web search with hybrid mode
  • POST /v1/search/multi - Multi-query parallel search
  • GET /v1/search/stream - SSE streaming results

Social

  • POST /v1/social - Scrape social media URL
  • POST /v1/social/batch - Batch scrape multiple URLs
  • GET /v1/social/platforms - List supported platforms
  • POST /v1/social/search - Search across platforms
  • POST /v1/social/search/everywhere - Search all platforms

Smart

  • POST /v1/smart - Intent-aware smart search
  • POST /v1/smart/classify - Classify search intent

Structured

  • POST /v1/structured/extract - Extract structured data

Pro

  • POST /v1/pro/keys - Create API key
  • GET /v1/pro/keys - List API keys
  • DELETE /v1/pro/keys/{id} - Revoke API key
  • PUT /v1/pro/keys/{id}/upgrade - Upgrade tier
  • GET /v1/pro/usage - Get usage stats
  • GET /v1/pro/plans - List available plans

Monitor

  • GET /v1/monitor/status - Server status
  • GET /v1/monitor/health - Health check

MCP Tools (12)

Tool Description
search Search via 9 engines
scrape Extract URL content
ai_search Research with citations
search_hybrid Hybrid multi-signal search
search_structured Extract with JSON schema
social_scrape Scrape social URLs
social_search Search social platforms
social_batch Batch scrape URLs
smart_search Intent-aware routing
smart_classify Classify intent
compare_engines Compare engine results
monitor_status Server health metrics

Installation

pip

pip install jirosearch==0.2.1

npm (CLI wrapper)

npm install -g jiro-cli

Docker

docker pull jiro/jiro:0.2.1
docker run -p 8000:8000 jiro/jiro:0.2.1

Docker Compose

git clone https://github.com/DevAnimecx/jiro.git
cd jiro-search
docker-compose up -d

Kubernetes (Helm)

helm repo add jiro https://charts.jiro.dev
helm install jiro jiro/jiro --version 0.2.1

From Source

git clone https://github.com/DevAnimecx/jiro.git
cd jiro-search
pip install -e .

Quick Start

Start Server

jiro serve

Start Dashboard

jiro dashboard  # Opens on port 3000

Search

curl -X POST http://localhost:8000/v1/search \
  -H "Content-Type: application/json" \
  -d '{"q": "python web scraping", "engine": "google"}'

Hybrid Search

curl -X POST http://localhost:8000/v1/search \
  -H "Content-Type: application/json" \
  -d '{"q": "latest AI research", "hybrid": true, "answer": true}'

Social Scraping

curl -X POST http://localhost:8000/v1/social \
  -H "Content-Type: application/json" \
  -d '{"url": "https://reddit.com/r/programming/comments/abc123"}'

Smart Search

curl -X POST http://localhost:8000/v1/smart \
  -H "Content-Type: application/json" \
  -d '{"query": "github.com/fastapi"}'

Configuration

Environment Variables

# Server
JIRO_HOST=0.0.0.0
JIRO_PORT=8000

# Database
JIRO_DB_PATH=~/.jiro/jiro.db
JIRO_DB_POSTGRES=postgresql://user:pass@localhost/jiro

# Cache
JIRO_CACHE_TYPE=sqlite  # sqlite | memory | redis
JIRO_CACHE_TTL=3600

# Auth
JIRO_AUTH_ENABLED=true
JIRO_JWT_SECRET=your-secret-key-here

# Engines
JIRO_ENGINES=google,bing,brave,duckduckgo

Config File (~/.jiro/config.yaml)

server:
  host: 0.0.0.0
  port: 8000

engines:
  - google
  - bing
  - brave
  - duckduckgo

cache:
  type: sqlite
  ttl: 3600

auth:
  enabled: true
  jwt_secret: ${JIRO_JWT_SECRET}

MCP Integration

Claude Desktop

{
  "mcpServers": {
    "jiro": {
      "command": "jiro",
      "args": ["mcp"]
    }
  }
}

Cursor

{
  "mcpServers": {
    "jiro": {
      "command": "jiro",
      "args": ["mcp"]
    }
  }
}

Testing

# Run all tests
pytest tests/ -v

# Run specific test suite
pytest tests/test_phase1_search_intelligence.py -v
pytest tests/test_social_scraping.py -v
pytest tests/test_pro_tier.py -v

Security

  • Auth enabled by default
  • Header-only API key authentication
  • Sanitized error messages
  • CORS protection
  • SSRF validation
  • JWT secret validation

See SECURITY.md for reporting vulnerabilities.

Changelog

v0.2.1 (2026-09-03)

  • Security patch with auth hardening
  • Fixed CORS wildcard default
  • Removed hardcoded DB credentials
  • Sanitized error messages
  • Header-only API authentication

v0.2.0 (2026-09-03)

  • Initial v0.2 release with all features above

License

MIT License - see LICENSE for details.

Support

Credits

Built with ❤️ by the Jiro team.

Jiro Search 0.1.2 (jirosearch)

Choose a tag to compare

@DevAnimecx DevAnimecx released this 26 Aug 10:08

jirosearch 0.1.2 — fixes the reported pip install jirosearch failure and the
jiro --version string.

Changes since 0.1.1:

  • Distribution name confirmed live on PyPI as jirosearch (pip install jirosearch).
  • jiro.__version__ now reads from the installed distribution metadata, so
    jiro --version reports the real release (0.1.2).
  • README install command + PyPI badge updated to jirosearch.

Install:

pip install jirosearch
jiro --version   # -> jiro 0.1.2

Jiro Search 0.1.1 (jirosearch)

Choose a tag to compare

@DevAnimecx DevAnimecx released this 26 Aug 09:49

First PyPI-ready release of Jiro Search, distributed as jirosearch (the import name stays jiro).

pip install jirosearch

Includes the security hardening (SSRF guard, auth startup validation, Redis rate
limiting, SQLite connection pool, agent deadline/content-budget, robots.txt
enforcement) and the full ruff + mypy cleanup (0 lint/type errors, 390 tests passing).

Installable directly from this release:

pip install https://github.com/DevAnimecx/jiro/releases/download/v0.1.1/jirosearch-0.1.1-py3-none-any.whl

Jiro Search 0.1.0 (MVP)

Choose a tag to compare

@DevAnimecx DevAnimecx released this 25 Aug 19:42

Jiro Search 0.1.0 - Initial Public MVP

Local-first, AI-native web search & scraping API - a self-hosted SerpAPI alternative with an MCP server, agentic research, and built-in legal compliance. MIT licensed, free forever.

Highlights

  • 9 search engines (Google, Bing, DuckDuckGo, Brave, YouTube, Amazon, eBay, Yandex, Baidu) with automatic fallback
  • Universal scraper: URL -> markdown/text/html/JSON, readability + metadata extraction
  • Agentic research (/ai/search, /ai/agent) with citations + SSE streaming
  • MCP server (stdio / Streamable HTTP / SSE) for Claude Desktop, Cursor, Continue.dev, Zed, Cline
  • AI-agent tooling: OpenAI/Anthropic/Gemini function-calling + LangChain/LlamaIndex wrappers
  • Compliance layer: robots.txt parsing, ToS acknowledgments (persisted to SQLite), audit logging
  • BYOK: proxies (BrightData/Oxylabs/ScraperAPI/ZenRows/Smartproxy), CAPTCHA (2Captcha/CapSolver), LLM keys
  • Team features: hashed API keys, roles/scopes, per-key rate limits, JWT, /usage + Prometheus /metrics
  • Ops: Docker + Helm, async jobs with HMAC-signed webhooks

Get started

pip install jiro-search && jiro serve -> http://localhost:8000/docs

Open-core: free MIT community edition; Jiro Cloud + Enterprise (BSL-1.0) planned.