Upload files to "documentation"

This commit is contained in:
2025-04-17 16:20:07 +00:00
commit 5c9dac7bed
3 changed files with 190 additions and 0 deletions

View File

@@ -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

View File

@@ -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 14)
- 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 57)
- Improved emotion detection algorithms
- Custom persona creation
- User settings/preferences
- UI/UX polish
- Expanded test coverage
### Phase 3: Future Features & Platforms (Estimated: Weeks 812)
- 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 14 |
| Phase 2 | Enhancements | Weeks 57 |
| Phase 3 | Future Features & Platforms | Weeks 812 |
*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*

View File

@@ -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*