Some checks failed
Release / semantic-release (push) Successful in 30s
Release / build-windows (push) Has been cancelled
Release / build-macos (arm64, macos-latest) (push) Has been cancelled
Release / build-macos (x64, macos-15-intel) (push) Has been cancelled
Release / build-linux (push) Has been cancelled
Release / release-main (push) Has been cancelled
Release / release-develop (push) Has been cancelled
tests / Unit tests (Linux, Python 3.11) (push) Has been cancelled
Drop Markdown files into an agents/ folder and their contents are appended to the main reply LLM's system prompt, so an operator can extend the assistant's rules/tone without code changes. Files are concatenated in filename order (use 00-, 10- prefixes to control ordering) and re-read once per turn, so edits apply on the next reply with no rebuild/restart. Fail-open: a missing, empty, or unreadable folder yields no instructions and never breaks a reply. - load_agent_instructions() in system_prompt.py (AGENTS_DIR env, default /app/agents); reads *.md only, skips blanks, ignores non-dir paths - engine.py appends it alongside the existing settings-UI llm_instructions, under the same "Additional instructions from the operator:" framing - docker-compose.yml bind-mounts ./agents:/app/agents:ro and sets AGENTS_DIR - agents/example.md.sample starter template (.sample is not loaded) - tests cover ordering, md-only filtering, blank-skip, env/arg resolution, and fail-open paths - README, .env.example, docs/llm_contexts.md updated Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
13 KiB
13 KiB