Skip to content

[ImgBot] Optimize images - #1

Open
imgbot[bot] wants to merge 1 commit into
mainfrom
imgbot
Open

[ImgBot] Optimize images#1
imgbot[bot] wants to merge 1 commit into
mainfrom
imgbot

Conversation

@imgbot

@imgbot imgbot Bot commented May 9, 2026

Copy link
Copy Markdown

Beep boop. Your images are optimized!

Your image file size has been reduced by 18% 🎉

Details
File Before After Percent reduction
/media/banner.png 833.08kb 682.42kb 18.08%

📝 docs | :octocat: repo | 🙋🏾 issues | 🏪 marketplace

~Imgbot - Part of Optimole family

@cr-gpt

cr-gpt Bot commented May 9, 2026

Copy link
Copy Markdown

Seems you are using me but didn't get OPENAI_API_KEY seted in Variables/Secrets for this repo. you could follow readme for more information

2233admin pushed a commit that referenced this pull request Jun 10, 2026
…ughelbur#48)

* Add free (key-less) research source library

Step 3a of the free-research mode (FORK_INSIGHTS.md #1-5): the source
layer only, lifted from the a0919376604 fork and scrubbed. Nothing is
wired into the existing commands yet - this is purely additive.

- scripts/research/lib/sources/: 11 key-less source clients (arxiv,
  crossref, devto, duckduckgo, hackernews, lobsters, openalex, reddit,
  semantic_scholar, wikipedia). Each returns [] on failure, never raises.
- lib/aggregator.py: runs sources in parallel (ThreadPoolExecutor, 30s
  timeout), reports per-source success/warnings, "success" when >= 3
  sources returned results.
- lib/cache.py: 24h-TTL JSON cache at ~/.cache/obsidian-second-brain/research.
- lib/http.py: shared session with polite UA + retry-on-5xx.
- lib/result.py: frozen Result dataclass + JSON encoder.
- lib/source_config.py: env-based tunables (contact email, cache TTL,
  rate limits). Deliberately separate from config.py so the free sources
  import with NO OBSIDIAN_VAULT_PATH set (they only fetch + emit JSON).

tests/test_research_sources.py adds 6 no-network unit tests (import
isolation without a vault path, Result roundtrip, cache roundtrip,
config defaults/overrides, graceful aggregation with a failing source).
CI now installs requests; pytest pythonpath set to repo root.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Wire free-mode auto-fallback into /research

/research now works with no API keys. Mode is auto-selected:
- PERPLEXITY_API_KEY set: Perplexity Sonar deep dossier, saved by the
  script (unchanged behavior).
- no key, or --free: aggregate free key-less sources and emit JSON; the
  command body instructs Claude to synthesize the AI-first dossier and
  save it. --academic restricts free mode to scholarly sources.

Previously /research hard-errored without a Perplexity key - the main
adoption barrier the a0919376604 fork set out to fix. Paid and free
paths share the same dossier structure. Paid deps (perplexity, vault)
are imported lazily so free mode needs neither a key nor a vault path.

Implements FORK_INSIGHTS.md #1-6 for /research.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Wire free-mode auto-fallback into /research-deep

/research-deep now works with no API keys. Phase 1 (vault scan) is
deterministic and runs in both modes. Mode is auto-selected:
- PERPLEXITY_API_KEY set: the existing 4-phase paid pipeline (gap
  analysis + Perplexity/Grok gap-fill + synthesis + save + propagation
  payload), unchanged.
- no key, or --free: vault scan + free key-less source aggregation,
  emitted as a "free-sources-deep" JSON payload (vault baseline excerpts
  + fresh source results). The calling Claude does the delta synthesis,
  writes the AI-first note, and runs /obsidian-save propagation - it is
  the LLM in free mode. --academic restricts free sources to scholarly.

Paid deps (perplexity, grok, vault) import lazily inside the paid path;
free mode reuses /research's source selection. Tested end-to-end: vault
scan found 8 baseline notes + 40 source results with graceful
degradation on slow sources.

Implements FORK_INSIGHTS.md #1-6 for /research-deep.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Document free research mode in README and CHANGELOG

README now states /research and /research-deep work with no keys
(auto-fallback to free sources), lists the sources, and documents
--free / --academic. CHANGELOG [Unreleased] gains the free-mode entry.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
/media/banner.png -- 833.08kb -> 682.42kb (18.08%)

Signed-off-by: ImgBotApp <ImgBotHelp@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant