Target Repository URL
https://github.com/BetaStreetOmnis/EasyRAG
You.com API(s)
search
Estimated Complexity
small
Integration Description
EasyRAG is a lightweight local RAG knowledge base with a web UI (Python, FastAPI + FAISS, ~145 stars, Chinese). Retrieval is served by POST /kb/search over the local vector store. This integration adds a POST /web/search endpoint using You.com Search as an external retriever, returning the same {status, data} + {index, score, text, metadata} envelope as /kb/search. Without YDC_API_KEY the endpoint returns a clear "not enabled" message; all errors degrade to empty. Purely additive, key-gated.
Target Repo Contributing Guidelines
https://github.com/BetaStreetOmnis/EasyRAG/blob/main/CONTRIBUTING.md
Planned Approach
- core/web_search/youcom_retriever.py:
YouComWebRetriever (requests, GET https://ydc-index.io/v1/search, X-API-Key from YDC_API_KEY, youdotcom-integration/betastreetomnis-easyrag UA), normalize web/news to {index,score,text,metadata}, top_k clamp + total truncation, graceful [] on any error
- app.py:
WebSearchQuery model + POST /web/search returning the /kb/search envelope; no-key returns a "not enabled" message
- 11 stdlib-unittest tests (repo CI is flake8 lint-only; new files flake8-clean) + live end-to-end check
- Purely additive; key-gated; never leaks the key
Status Checklist
Links
Target repo issue: BetaStreetOmnis/EasyRAG#23
Target repo PR: BetaStreetOmnis/EasyRAG#24
Additional Notes
Fork: https://github.com/Cooperation-org/EasyRAG, branch feature/youcom-search. Chinese repo — issue, PR and commits in Chinese with an English summary. Independent Fable review passed; fixes applied (python-dotenv optional import so a clean install never crashes, whitespace-key strip, non-dict payload hardening).
Target Repository URL
https://github.com/BetaStreetOmnis/EasyRAG
You.com API(s)
search
Estimated Complexity
small
Integration Description
EasyRAG is a lightweight local RAG knowledge base with a web UI (Python, FastAPI + FAISS, ~145 stars, Chinese). Retrieval is served by
POST /kb/searchover the local vector store. This integration adds aPOST /web/searchendpoint using You.com Search as an external retriever, returning the same{status, data}+{index, score, text, metadata}envelope as/kb/search. WithoutYDC_API_KEYthe endpoint returns a clear "not enabled" message; all errors degrade to empty. Purely additive, key-gated.Target Repo Contributing Guidelines
https://github.com/BetaStreetOmnis/EasyRAG/blob/main/CONTRIBUTING.md
Planned Approach
YouComWebRetriever(requests, GET https://ydc-index.io/v1/search, X-API-Key from YDC_API_KEY,youdotcom-integration/betastreetomnis-easyragUA), normalize web/news to {index,score,text,metadata}, top_k clamp + total truncation, graceful [] on any errorWebSearchQuerymodel +POST /web/searchreturning the/kb/searchenvelope; no-key returns a "not enabled" messageStatus Checklist
Links
Target repo issue: BetaStreetOmnis/EasyRAG#23
Target repo PR: BetaStreetOmnis/EasyRAG#24
Additional Notes
Fork: https://github.com/Cooperation-org/EasyRAG, branch feature/youcom-search. Chinese repo — issue, PR and commits in Chinese with an English summary. Independent Fable review passed; fixes applied (python-dotenv optional import so a clean install never crashes, whitespace-key strip, non-dict payload hardening).