commit 5c9dac7bed3790e32de1b3ce2d6e7b74dd56759f Author: aodhan Date: Thu Apr 17 16:20:07 2025 +0000 Upload files to "documentation" diff --git a/documentation/01. Project Overview.md b/documentation/01. Project Overview.md new file mode 100644 index 0000000..aa75e4a --- /dev/null +++ b/documentation/01. Project Overview.md @@ -0,0 +1,54 @@ +# Visual Assistant + +This project will give an LLM a visual persona for the purpose of chatting with the user. This will start with simple static png images that change to reflect emotion and chat content and work up to using Live2D models. + +## MVP Features + +- Chat interface +- Persona selection +- Static PNG images for expressions +- Changing expressions based on chat content +- Use of memories to track user information and allow for consistent behavior + +## Future Features + +- Live2D models +- TTS + +## Project Structure + +visual-assistant/ +├── core/ # Core application logic +│ ├── memory/ # Memory storage and retrieval system +│ ├── persona/ # Persona configuration handlers +│ └── emotion_engine/ # Emotion detection algorithms +├── chat_interface/ # Web interface components +│ ├── static/ # CSS/JS assets +│ └── templates/ # HTML templates +├── persona/ # Persona definitions +│ ├── default/ # Default persona assets +│ └── custom/ # User-created personas +├── utils/ # Utility functions +│ ├── image_processing.py +│ └── config_loader.py +├── assets/ # Static assets +│ ├── expressions/ # PNG expression images +│ └── models/ # Live2D model storage +├── tests/ # Test suite +└── documentation/ # Project docs + +## Technical Stack + +- **Backend**: Python 3.10+ (FastAPI/Flask) +- **Frontend**: JavaScript/HTML5/CSS3 +- **Mobile**: Android (Kotlin/Java) +- **Memory Storage**: SQLite/Redis +- **Image Processing**: Pillow +- **Dependency Management**: Poetry + +## Deployment + +- **Containerization**: Docker +- **CI/CD**: GitHub Actions +- **Cloud Providers**: AWS/Heroku/Firebase +- **Monitoring**: Sentry \ No newline at end of file diff --git a/documentation/02. Project Plan.md b/documentation/02. Project Plan.md new file mode 100644 index 0000000..900df30 --- /dev/null +++ b/documentation/02. Project Plan.md @@ -0,0 +1,70 @@ +# Project Plan: Visual Assistant + +## Introduction + +This document outlines the phased development plan for the Visual Assistant project. The initial focus is on delivering a Minimum Viable Product (MVP) to provide a functional, interactive visual chatbot with persona and emotion features. Subsequent phases will introduce advanced capabilities and platform support. + +--- + +## Development Phases + +### Phase 1: MVP (Estimated: Weeks 1–4) +- Chat interface (web app) +- Persona selection +- Static PNG expressions for emotional feedback +- Expression changes driven by chat content +- User memory system for consistent behaviour +- Basic project documentation +- Unit and integration tests + +### Phase 2: Enhancements (Estimated: Weeks 5–7) +- Improved emotion detection algorithms +- Custom persona creation +- User settings/preferences +- UI/UX polish +- Expanded test coverage + +### Phase 3: Future Features & Platforms (Estimated: Weeks 8–12) +- Live2D model integration +- Text-to-Speech (TTS) support +- Android app development +- Cloud deployment (AWS/Heroku/Firebase) +- Monitoring and analytics + +--- + +## Timeline + +| Phase | Tasks | Duration | +|-----------|----------------------------------------|-------------| +| Phase 1 | MVP Core Features | Weeks 1–4 | +| Phase 2 | Enhancements | Weeks 5–7 | +| Phase 3 | Future Features & Platforms | Weeks 8–12 | + +*Timeline is indicative and may be adjusted based on team capacity and feedback.* + +--- + +## Milestones & Deliverables +- **End of Week 2:** Basic chat interface and persona selection demo +- **End of Week 4:** MVP feature-complete, initial documentation, and tests +- **End of Week 7:** Enhanced features and improved UX +- **End of Week 12:** Live2D, TTS, Android app, and cloud deployment + +--- + +## Risks & Mitigations +- **Integration complexity:** Mitigated by modular architecture and regular code reviews +- **Resource constraints:** Prioritise MVP and core features +- **Platform-specific challenges:** Early prototyping and use of cross-platform tools where possible + +--- + +## Review & Next Steps +- Regular sprint reviews (bi-weekly) +- Update plan as requirements evolve +- Track progress in TODO.md + +--- + +*Document last updated: 17 April 2025* diff --git a/documentation/03. Phase 1 Plan.md b/documentation/03. Phase 1 Plan.md new file mode 100644 index 0000000..a923b3c --- /dev/null +++ b/documentation/03. Phase 1 Plan.md @@ -0,0 +1,66 @@ +# Phase 1 Plan: Minimum Viable Product (MVP) + +## Objective +Deliver a functional MVP of the Visual Assistant, featuring a web-based chat interface, persona selection, static PNG expressions for emotions, and a basic memory system. + +--- + +## Week 1: Project Setup & Foundations +- Initialise repository and set up version control +- Establish core directory structure (see Project Overview) +- Configure Python environment using Poetry +- Set up basic FastAPI/Flask backend +- Create placeholder frontend (HTML/CSS/JS) +- Add initial documentation (README, CONTRIBUTING) +- Write initial unit tests for setup scripts + +**Deliverable:** +- Running backend and static frontend skeleton + +--- + +## Week 2: Chat Interface & Persona Selection +- Develop chat interface (basic message input/output) +- Implement backend chat endpoint +- Design persona selection UI component +- Create persona configuration files and sample personas +- Connect persona selection to backend logic +- Add tests for chat and persona modules + +**Deliverable:** +- Functional chat interface with persona selection + +--- + +## Week 3: Expressions & Emotion Logic +- Integrate static PNG images for expressions +- Implement basic emotion detection (rule-based) +- Link chat content to expression changes +- Store and retrieve user state (memory system) +- Refine persona and expression assets +- Expand test coverage (emotion logic, memory) + +**Deliverable:** +- Chatbot reflects emotions with PNG expressions + +--- + +## Week 4: Polish, Documentation & Testing +- Improve UI/UX (styling, accessibility) +- Review and update documentation +- Add integration and end-to-end tests +- Conduct code review and refactoring +- Prepare MVP demo and deployment scripts +- Finalise initial changelog and update TODO.md + +**Deliverable:** +- MVP feature-complete, documented, and tested + +--- + +## Review & Checkpoints +- Weekly reviews to assess progress and adjust plan +- All code changes documented in CHANGELOG.md +- Tasks tracked and updated in TODO.md + +*Document last updated: 17 April 2025*