Skip to content

by2kb 0.7.2

Choose a tag to compare

@Charlesmpc Charlesmpc released this 04 Oct 10:07
bdc7ed0

by2kb 0.7.2

Conversational requests such as “我想查一下什么是supabase” and “我想了解下supabase” now produce a clean topic. Hermes uses its trusted host-model completion API to plan up to three constrained queries, falling back to local rules on timeout, invalid output, or unavailable host access. The original request remains attached to the selection and subsequent learning notes; no additional model credentials are required.

Discovery expands queries when results do not sufficiently match learning intent. Title-based introduction/tutorial/deployment/comparison cues break ties after topic relevance; short introductions receive a modest preference for “what is” requests. Candidate pools expand to 20 Bilibili and 10 YouTube entries per request. Views and likes remain display metadata, not quality scores. This is lexical and intent-aware ranking, not vector search or full-content review.

Each enabled provider may issue at most three requests across all queries and retries. Valid empty responses, connection failures, timeouts, HTTP 412/429 and selected server errors retry with bounded backoff (about 2/4 seconds, small jitter). Valid Retry-After values are respected only within the remaining budget. Permanent/authentication/schema failures do not blindly retry. A failed expansion preserves earlier successful candidates.

Source failure is distinct from zero matches. Structured JSON includes query plans and per-source attempts, sanitized outcomes/status codes/timing; partial lists include one concise source-availability note. Caption failures remain absent from individual cards. Search never downloads media or invokes ASR, and existing metadata survives preview failures.

Configuration and compatibility

Existing config files, search sessions, library paths, ASR credentials and enrichment settings remain readable; no reinitialization is needed. New optional [search] settings default to:

total_timeout_s = 28
attempt_timeout_s = 8
max_attempts = 3
retry_base_s = 2

timeout_s remains the search-phase cap (default 20 s), now including retries/waits; the overall deadline takes precedence. Concurrent caption previews are capped at 5 s or the smaller configured preview timeout / remaining budget. Hermes planning has an 8 s cap and consumes the same overall budget; unavailable planning falls back to rules. Startup, JSON serialization and local storage add some overhead, so these budgets are not a hard real-time service guarantee. Config validation rejects nonfinite settings. Providers remain independently enabled/disabled.

The Hermes hook reserves a search session before planning and reuses it through discovery, preventing an older slow planner from replacing a newer list. CLI supports optional --plan-file, --budget-s, --session-id; search begin reserves a pending session for hosts. Rule-only CLI search remains available.

Persistent platform access restrictions can still prevent retrieval; keyword planning and retry do not guarantee recovery from HTTP 412 or YouTube bot checks. Browser/login fallback is not part of this release.

Fixes #50.