deer-flow/docker/AGENTS.md
Xinmin Zeng 2a97ec3e58
docs: turn README into an index and move reference detail to docs/guide (#8113)
* docs: turn README into an index and move reference detail to docs/guide

The README had grown to 393 KB because every change appended its notes there. The text moves verbatim into 18 topic guides under docs/guide/; only headings are re-leveled and relative links re-pointed. The README keeps the introduction, a quick start and a guide index. Contributor test notes move to CONTRIBUTING.md.

* docs: send user docs to topic guides and budget the root README

The rule 'update README.md for user-facing changes' is what grew the README. Guidance now points to docs/guide/, and check_agent_guidance.py fails when the root README exceeds 16 KiB (AG003).

* chore: remove unreferenced screenshots and finished plan notes

pr-build/ holds two PR screenshots (3 MB) from #1986. plans/ holds the plan for the merged #4049. docs/SKILL_NAME_CONFLICT_FIX.md is a February change note. Nothing references them.

* docs: route always-loaded AGENTS.md files to scoped guides

* docs(agents): cut scoped guides to scope, verify, traps, decisions

Each AGENTS.md keeps four kinds of content: the scope of the directory, the
verification commands, traps a local test run does not show, and decisions the
code cannot state. Values, field lists, function inventories, test names, issue
numbers and history are deleted, because the code, the tests and git state them.

Search and fetch providers share one community guide. Four guides with no
remaining content are removed. The size check now allows 6 KiB per file (hard
limit 8 KiB) and 24 KiB per chain (hard limit 32 KiB).

* style: format frontend guide table and guidance test imports

---------

Co-authored-by: Willem Jiang <willem.jiang@gmail.com>
2026-11-11 13:26:17 +08:00

1.4 KiB

Docker, nginx and provisioner (docker/)

Compose files, nginx configuration and the sandbox provisioner. The Helm chart in deploy/helm/ carries the same nginx routes.

cd backend && python -m pytest tests -q -k "nginx or compose or sigterm"
  • Place the browser-stream WebSocket location before the generic threads location in the Docker, local and Helm nginx configs. nginx takes the first matching regex.
  • Publish a port with an explicit bind address. A bare "${PORT}:2026" binds 0.0.0.0. Both Compose files default the host to 127.0.0.1. Only the published nginx port is external.
  • The root PORT controls Docker ingress only. Local Next.js stays on 3000, so a value in .env cannot redirect the wait for the dev port.
  • Production starts the Gateway with the image's Python and exec, and Compose sets init: true, so SIGTERM reaches the Gateway.
  • In PVC mode the provisioner declares the user-data volume once. Extra mounts and Lark broker credential mounts reuse it with their own sub-paths. Credential mounts stay broker-only, and hostPath mode keeps distinct volumes.
  • Keep local temp paths relative to the checkout and aligned with scripts/serve.sh and scripts/nginx.sh. Docker log and restart commands resolve DEER_FLOW_ROOT from the checkout before they call Compose, the same as start and stop.