ChatBHT Development Notes#
Students already use commercial AI for academic work. ChatBHT was developed to provide equitable access through a university-run service, with institutional responsibility for data, usage rules and budgets.
Changelog#
March 2025 – September 2026
2025
- Concept
- First ideas for a shared AI workspace.
- API Access
- GWDG API key obtained. Initial work based on the SAIA documentation.
- Development Record
- No separate milestone documented for this month.
- First Release
- User accounts, streaming chat, image uploads, external knowledge access.
- Document Management
- Document library, shared conversations, saved prompts, initial tool experiments.
- Document Reliability
- Document management consolidated. Existing interface workflows refined.
- Guest Access
- Guest dialogs refined. Interface behaviour made more consistent.
- Adoption
- Further user registrations. No distinct feature milestone recorded.
- OpenAI Integration
- Direct OpenAI access added with dedicated model configuration.
- Unified Rendering
- Shared Markdown renderer introduced. Jupyter Book documentation expanded.
2026
- Local Knowledge
- Vector search, Docling conversion, tool APIs, voice input, local Arcana projects.
- Account Security
- Email action tokens added for account verification and recovery.
- Stabilization
- Existing application workflows maintained and refined.
- Invitations
- Invitation tokens extended. Navigation refined. English documentation expanded.
- Agent Execution
- Persistent jobs, live events, workspace execution, source-code export.
- Workspace Isolation
- Separate files and Git worktrees per conversation. Registration access links.
- GitLab Identity
- ChatBHT becomes an identity provider for GitLab sign-in.
- Conversation Archives
- Authorized GitLab archiving of conversations, files and metadata.
- Integrated Workspace
- Gajae runtime, personal memory, private knowledge projects, background indexing, reproducible deployment.
Technology Selection#
to vibe#
/tə vaɪb/verb · informal · in software development
Vibing here means developing software in dialogue with AI: expressing intent in language, generating code, evaluating and refining the result.
Taste becomes code.
As coding intelligence gets cheaper and more available, the durable factors are not raw coding output.
What still matters:
- product taste
- direction
- system design
- human trust
- operational stability
- judgment about what to build next
In that world, the job of the human is not to out-type the machine. The job of the human is to decide what deserves to exist.
Development Timeline#
First ideas in March 2025. GWDG API access in April 2025 marked the start of implementation, guided by the SAIA API documentation.
Licenses#
ChatBHT code: AGPL-3.0-only. This documentation: CC BY 4.0. Main projects below; dependencies, model weights and logos retain their own licences and terms.
| Project | Official Code Repository | License |
|---|---|---|
| ChatBHT | applications/chatbht | AGPL-3.0-only |
| Python | python/cpython | PSF-2.0 |
| Django | django/django | BSD-3-Clause |
| PostgreSQL | postgres/postgres | PostgreSQL |
| Docker Engine | moby/moby | Apache-2.0 |
| Docker Compose | docker/compose | Apache-2.0 |
| JavaScript | tc39/ecma262 | Ecma terms (specification) |
| HTMX | bigskysoftware/htmx | 0BSD |
| Alpine.js | alpinejs/alpine | MIT |
| Tailwind CSS | tailwindlabs/tailwindcss | MIT |
| Vite | vitejs/vite | MIT |
| GWDG (SAIA) | Not applicable (API service) | Service terms |
| KISSKI | Not applicable (service) | Service terms |
| OpenAI API | Not applicable (API service) | Proprietary service terms |
| pgvector | pgvector/pgvector | PostgreSQL |
| Docling | docling-project/docling | MIT |
| FastAPI | fastapi/fastapi | MIT |
| Gajae Code | Yeachan-Heo/gajae-code | MIT |
| TypeScript | microsoft/TypeScript | Apache-2.0 |
| Node.js | nodejs/node | MIT |
| Celery | celery/celery | BSD-3-Clause |
| Redis 7.4 | redis/redis | RSALv2 or SSPLv1 |
| GitLab CE | gitlab-org/gitlab-foss | MIT |
| Git | git/git | GPL-2.0 |
| Jupyter Book 1 | jupyter-book/jupyter-book | BSD-3-Clause |