Repository navigation
feat: provider registry, model picker, progress UX, config file (#34) - #45
Merged
Merged
Conversation
- fix(config): gemini maps to LDR's native google provider; openrouter routes through its native provider — no more placeholder-key 401s (#35 #36) - feat(providers): new deep module — single-source registry replacing the three parallel tables in config.py; model listing over each provider's public HTTP API, no new LDR internals (ADR-0001 intact) (#37) - feat(cli): 'deepcloak models' subcommand (#38); --json output mode (#42) - feat(progress): render LDR research phases via progress_callback (#39) - feat(mcp): provider/model params on research tools, list_models tool, capped run store (#40) - fix(research_core): warn loudly on degraded Stealth Fetch instead of silent except-pass (#41) - feat(config): TOML config-file layer, CLI > env > file (#43)
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implements #34 (full provider/model-picker support, progress UX, config persistence) via tickets #35–#43.
What
gemininow maps to LDR's nativegoogleprovider (llm.google.api_key);openrouterroutes through LDR's nativeopenrouterprovider instead of anopenai_endpointdetour that leaked a placeholder key → 401 (fix(config): map gemini to LDR's native google provider #35 fix(config): route openrouter through LDR's native openrouter provider #36)providers.py— single-source registry replacing the three parallel tables inconfig.py; model listing over each provider's public HTTP API (OpenRouter / OpenAI / Anthropic / Gemini / Ollama / LM Studio / llama.cpp / any OpenAI-compatible endpoint). No new LDR internals — the ADR-0001 seam stays_fetch_htmlonly (feat(providers): provider registry deep module + model listing over public APIs #37)deepcloak models [--provider X] [--base-url U] [--timeout S]— sorted model ids, one per line; auto-detects from env credentials (feat(cli): 'deepcloak models' subcommand #38)progress_callback, feature-detected per depth, rendered by a tolerant formatter next to Evidence Record lines (feat(progress): surface LDR research phases via progress_callback #39)deep_research/quick_summaryacceptprovider/model; newlist_modelstool; run store capped at 50 with"last"always resolved (feat(mcp): provider/model params on research tools + list_models tool + run-store cap #40)--jsonoutput mode —{query, report, evidence, settings}; API key omitted entirely (feat(cli): --json output mode #42)~/.config/deepcloak/config.toml(or$DEEPCLOAK_CONFIG); precedence CLI flags > env > file; malformed TOML raisesConfigError;lmstudio/llamacppjoined as first-class keyless providers (feat(config): TOML config-file layer (CLI > env > file > default) #43)Also includes this branch's earlier chore commit moving agent instructions from CLAUDE.md to AGENTS.md.
Verification
pytest: 100 passed, 1 skipped (skip = optional MCP runtime not installed in test env)ruff check .: cleandeepcloak modelswithout credentials exits 1 with a clean hint line;--jsonshape verifiedBacklog polish items (picker TUI, run history, rich spinner, retriever parallelization) tracked in #44.