Split CLAUDE.md per official Claude Code recommendations
CLAUDE.md: lean — commands, key conventions, fast tool guide, @ARCHITECTURE.md import routecheck/CLAUDE.md: purpose, access paths, env vars, gotchas openmemory/CLAUDE.md: tools, two Ollama instances, prompts, notes Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
25
routecheck/CLAUDE.md
Normal file
25
routecheck/CLAUDE.md
Normal file
@@ -0,0 +1,25 @@
|
||||
# routecheck
|
||||
|
||||
FastAPI service providing a Yandex Routing API proxy behind an image captcha.
|
||||
|
||||
## Purpose
|
||||
|
||||
Yandex Routing API free tier requires a website that uses the API. This service is that website.
|
||||
It also exposes an internal endpoint (`/api/route`) used by `CommuteTool` in `fast_tools.py`.
|
||||
|
||||
## Two access paths
|
||||
|
||||
- **Web UI** (`/`): solve PIL arithmetic captcha → get a token → query any two lat/lon points
|
||||
- **Internal API**: `GET /api/route?from=lat,lon&to=lat,lon&token=$ROUTECHECK_TOKEN` — no captcha
|
||||
|
||||
## Key env vars
|
||||
|
||||
- `YANDEX_ROUTING_KEY` — from developer.tech.yandex.ru, Router API, free tier
|
||||
- `INTERNAL_TOKEN` — equals `ROUTECHECK_TOKEN` from root `.env`; shared with deepagents
|
||||
- `HTTPS_PROXY` — set to `http://host.docker.internal:56928`; container has no direct external internet
|
||||
|
||||
## Notes
|
||||
|
||||
- Captchas expire after 5 min, route tokens after 1 hour, both stored in-memory (restart clears them)
|
||||
- Yandex API expects `lon,lat` order (not `lat,lon`) — `app.py` swaps automatically
|
||||
- Captcha image endpoint: `GET /captcha/image/{id}` — regenerates on each call with random noise
|
||||
Reference in New Issue
Block a user