Skip to content

Commit d190911

Browse files
authored
Merge pull request #11 from youdotcom-oss/feat/add-youcom-entry-tarun7r-deep-research-agent
feat: add you.com integration entry for tarun7r/deep-research-agent
2 parents 6e00c8e + 7920c7d commit d190911

1 file changed

Lines changed: 62 additions & 0 deletions

File tree

Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# Integration Record: tarun7r/deep-research-agent
2+
3+
- Source repo: https://github.com/tarun7r/deep-research-agent
4+
- Repo stars at evaluation: 166 (<200)
5+
- Integration type: Optional search provider adapter (`you.com Search API`) in existing provider abstraction
6+
- Status: Proposed, implementation path validated against current codebase
7+
8+
## Why this repo
9+
10+
This project is an active AI deep-research agent with explicit web-search dependencies and an existing provider abstraction (`duckduckgo` + `tavily`), making You.com a clean optional provider with low integration risk.
11+
12+
## Integration path
13+
14+
Existing extension points:
15+
- `src/utils/web_utils.py` (search provider classes + fallback handling)
16+
- `src/utils/tools.py` (`get_search_providers` provider selection)
17+
- `src/config.py` (`SEARCH_PROVIDER` env config)
18+
19+
Scoped addition:
20+
1. Add `YouComProvider(SearchProvider)` calling `GET https://api.you.com/v1/agents/search?query=...&count=...`.
21+
2. Add provider option `SEARCH_PROVIDER=youcom`.
22+
3. Parse `results.web[]` into existing `SearchResult` shape.
23+
4. Keep fallback behavior to existing providers if you.com returns empty/error.
24+
25+
## Setup / env vars
26+
27+
- `SEARCH_PROVIDER=youcom`
28+
- `YOUCOM_API_KEY` (optional; Search API supports free keyless usage up to daily quota)
29+
- Existing envs remain unchanged.
30+
31+
## Usage example
32+
33+
```bash
34+
export SEARCH_PROVIDER=youcom
35+
# optional
36+
export YOUCOM_API_KEY=your_key_here
37+
python app.py
38+
```
39+
40+
Provider request sketch:
41+
42+
```python
43+
params = {"query": query, "count": max_results}
44+
headers = {"X-API-Key": os.getenv("YOUCOM_API_KEY")} if os.getenv("YOUCOM_API_KEY") else {}
45+
resp = requests.get("https://api.you.com/v1/agents/search", params=params, headers=headers, timeout=20)
46+
```
47+
48+
## Fallback and error handling
49+
50+
- Reuse existing circuit breaker + provider fallback orchestration in `WebSearchTool`.
51+
- On 429/5xx/network error, emit provider error and continue to next configured provider.
52+
- On empty `results.web`, return empty list without hard failure.
53+
54+
## Validation notes
55+
56+
Validated feasibility by repository inspection:
57+
- Confirmed provider abstraction and fallback support already exists (`SearchProvider`, `WebSearchTool`).
58+
- Confirmed config-driven provider selection already exists (`SEARCH_PROVIDER` in `src/config.py`).
59+
- Confirmed no default You.com integration currently present.
60+
- Confirmed this is additive and backward-compatible.
61+
62+
Date: 2026-05-23

0 commit comments

Comments
 (0)