- Add GPU deployment support with NVIDIA runtime
- Update Dockerfile.allinone with GPU environment variables
- Add comprehensive GPU_DEPLOYMENT.md guide
- Make port 11434 (Ollama) optional for security
- Update DEPLOYMENT.md with CPU and GPU deployment options
- Simplify default docker run commands
- Update healthcheck to only check web application
- Add memory requirements documentation
- Create MEMORY_REQUIREMENTS.md with model comparison
- Add build-8b.sh script for lower memory usage
- Document OOM troubleshooting steps
- Improve Docker build process
- Add BUILD_TROUBLESHOOTING.md for common issues
- Add DISTRIBUTION.md for image distribution methods
- Update .gitignore to exclude large binary files
- Improve docker-entrypoint.sh with better diagnostics
- Update .dockerignore to include ollama-linux-amd64.tgz
- Add backup file exclusions to .gitignore
- Changed export-ollama-models.sh to selectively copy only qwen3:14b and qwen3-embedding:4b
- Parses manifest files to identify required blob files
- Significantly reduces Docker image size by excluding unrelated models
- Added summary showing which models were skipped
This prevents accidentally including other models (like deepseek-r1, bge-m3, etc.)
that may exist in the user's Ollama directory but are not needed for the project.
Major changes:
- Remove fake OPRO evaluation (no more fake 0.5 scores)
- Add simple refinement based on user selection
- New endpoint: POST /opro/refine (selected + rejected instructions)
- Update prompt generation to focus on comprehensive coverage instead of style variety
- All generated instructions now start with role definition (你是一个...)
- Update README to reflect new approach and API endpoints
Technical details:
- Added refine_based_on_selection() in prompt_utils.py
- Added refine_instruction_candidates() in user_prompt_optimizer.py
- Added OPRORefineReq model and /opro/refine endpoint in api.py
- Updated frontend handleContinueOptimize() to use new refinement flow
- Changed prompt requirements from 'different styles' to 'comprehensive coverage'
- Added role definition requirement as first item in all prompt templates
- Removed '执行此指令' button from candidate cards
- Prevents confusion between execution interactions and new task input
- Cleaner workflow: input box for new tasks, 继续优化 for iteration, 复制 for copying
- Each candidate now only has two actions: continue optimizing or copy
- Add session layer above runs to group related optimization tasks
- Sessions use first task description as name instead of 'Session 1'
- Simplified sidebar: show sessions without expansion
- Add '+ 新建任务' button in header to create runs within session
- Fix: reload sessions after creating new run
- Add debugging logs for candidate generation
- Backend: auto-update session name with first task description