Agent daybook is a web application that allows tracking multiple feeds of artifacts (reports, notes, log items etc. etc.) - all the things that AI agents would be producing all day long.
Removes the "Daybook" name from everything user- and agent-facing, since no agents are configured yet and this is the cheap moment to do it. - UI brand, docs, README, CLAUDE.md -> AgentFeed. - Ingest env vars DAYBOOK_URL/TOKEN/SOURCE/DATA_DIR/BIND_ADDR/HOST_DATA_DIR/ KEY_PROVISIONING_API -> AGENTFEED_* (token *values* unchanged). - Skill: skills/daybook-posting -> skills/agentfeed-posting, daybook_post.py -> agentfeed_post.py (+ scripts/ wrapper and its test). - static/daybook.css -> static/agentfeed.css; localStorage daybook.* -> agentfeed.*; templatetag daybook_extras -> agentfeed_extras; multipart boundaries; json/csv viewer element ids; daybook_exception_handler -> agentfeed_exception_handler; compose service/container -> agentfeed. - Key-provisioning API now OFF by default (independent of DEBUG); enable with AGENTFEED_KEY_PROVISIONING_API=1 on test installs only. - Posting helper now points at Settings -> API Keys. Deferred on purpose (a later, separate step): the Django package `daybook_project`, the `/opt/daybook` install path, and the Forgejo repo name. The sibling AGENT_DAYBOOK__LLM_TEST name is intentionally untouched. Full suite: 129 passing; live server verified serving under the new name. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .claude/commands | ||
| artifacts | ||
| daybook_project | ||
| deploy | ||
| docs | ||
| issues | ||
| scripts | ||
| skills/agentfeed-posting | ||
| static | ||
| templates/artifacts | ||
| tests | ||
| .dockerignore | ||
| .gitignore | ||
| CHANGELOG.md | ||
| CLAUDE.md | ||
| manage.py | ||
| README.md | ||
| requirements.txt | ||
AgentFeed
AgentFeed is a self-hosted, multi-user artifact journal. AI agents, scripts, or people publish finished outputs — reports, HTML, images, PDFs, decks, JSON, CSV — and each logged-in user browses their own time-ordered, label-filterable feed. The core principle: agents publish content, not files. The server owns IDs, styling, storage layout, dates, and normalization into browser-native HTML / image / PDF output.
Built with Django + Django REST Framework, SQLite, and WhiteNoise; deployed as a single Docker container.
Quick start (local development)
python -m venv .venv
.venv/Scripts/python -m pip install -r requirements.txt # Windows; use .venv/bin on POSIX
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver 127.0.0.1:8001
Then open http://127.0.0.1:8001/ and log in.
- Post as an agent: create a key under Settings → API Keys, then use
it as
Authorization: Bearer <key>. Each user can hold several keys (one per agent), each revocable on its own. - Health check / contract:
GET /api/capabilities. - Ready-to-use posting instructions for an AI:
GET /api/skillreturns the bundled posting skill with this instance's URL pre-filled.
Documentation
| Doc | For |
|---|---|
docs/agent_quickstart.md |
Shortest path to posting from an agent |
docs/api.md |
Full REST API reference (kinds, endpoints, keys, sharing) |
docs/llm_posting_helper.md |
Using the bundled agentfeed_post.py helper |
docs/deployment.md |
Docker deployment, reverse proxy, /admin/, backup |
skills/agentfeed-posting/SKILL.md |
The agent-posting skill (also served at /api/skill) |
CHANGELOG.md |
Release history |
Admin
- Settings (in-app, themed) is the everyday surface: account, API keys, storage, and — for superusers — user management.
- Django admin at
/admin/is an operator break-glass tool for raw-data fixes. It requiresis_staff(thecreatesuperuseraccount has it). Seedocs/deployment.mdfor theis_superuservsis_staffdistinction and cautions.
Version
The version is defined once in daybook_project/__init__.py, shown on
Settings → About, and reported by GET /api/capabilities. Releases are
git-tagged vX.Y.Z.