- Add a top-level README (repo had none): overview, local quick start, posting via API keys / the skill endpoint, a docs index, and the admin split. - deployment.md: new "Django Admin (/admin/)" section covering how to log in, the is_superuser vs is_staff distinction, how to grant /admin/ access, and the raw-edit-bypasses-app-logic caution. - Refresh constraint wording to per-user multiple API keys. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Daybook
Daybook 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 daybook_post.py helper |
docs/deployment.md |
Docker deployment, reverse proxy, /admin/, backup |
skills/daybook-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.