Replace standalone Telegram bot with full CodeAnywhere framework fork. BetterBot shares all framework code and customizes only: - instance.py: BetterBot identity, system prompt, feature flags - tools/site_editing/: list_files, read_file, write_file with auto git push - .env: model defaults and site directory paths - compose/: Docker setup with betterlifesg + memoraiz mounts - deploy script: RackNerd with Infisical secrets
53 lines
1.8 KiB
Markdown
53 lines
1.8 KiB
Markdown
# BetterBot
|
|
|
|
A Telegram bot for editing the Better Life SG website and Memoraiz app frontend.
|
|
Fork of [CodeAnywhere](https://github.com/andrekamarudin/code_anywhere) — shares
|
|
the core Copilot SDK framework and only customises `instance.py` and
|
|
`tools/site_editing/`.
|
|
|
|
## How it works
|
|
|
|
1. User sends a message to the Telegram bot (e.g. "Change the phone number to 91234567")
|
|
2. BetterBot uses the CodeAnywhere Copilot SDK framework with site-editing tools
|
|
3. Tools list / read / write files and automatically commit + push to git
|
|
|
|
## Projects
|
|
|
|
| Key | What it manages | Mount path |
|
|
|-----|----------------|------------|
|
|
| `betterlifesg` | Static HTML site (Tailwind CSS via CDN) | `/repo/betterlifesg/site` |
|
|
| `memoraiz` | React 19 + Vite 6 frontend | `/repo/memoraiz/frontend` |
|
|
|
|
## Stack
|
|
|
|
- Python 3.12 + CodeAnywhere framework (Copilot SDK, python-telegram-bot)
|
|
- Runs on RackNerd
|
|
- Forgejo repo: `andre/betterbot`
|
|
|
|
## Fork relationship
|
|
|
|
BetterBot shares all framework files with CodeAnywhere. The only
|
|
betterbot-specific files are:
|
|
|
|
| File | Purpose |
|
|
|------|---------|
|
|
| `instance.py` | Bot identity, system prompt, feature flags, tool registration |
|
|
| `tools/site_editing/` | list_files / read_file / write_file with auto git push |
|
|
| `.env` | Non-secret config (model defaults, site paths) |
|
|
| `compose/` | Docker compose for RackNerd with site-dir mounts |
|
|
| `scripts/deploy-betterbot.sh` | Deploy script targeting RackNerd + Infisical |
|
|
|
|
To sync upstream changes, copy updated framework files from `code_anywhere/`.
|
|
|
|
## Deployment
|
|
|
|
```bash
|
|
ssh racknerd bash /opt/src/betterbot/scripts/deploy-betterbot.sh
|
|
```
|
|
|
|
## Commands
|
|
|
|
- `/start` — Introduction and examples
|
|
- `/reset` — Clear conversation history
|
|
- `/model <name>` — Switch LLM model
|
|
- `/current` — Show current model
|