π€ A Comprehensive Local Web-Based AI Development Platform with Multi-Agent Orchestration
- β Integrate Venice AI API with Dolphin uncensored model
- β Support for custom system prompts configuration
- β AI-powered code generation from natural language prompts
- β Streaming responses for real-time feedback
- β Create and manage multiple AI agents
- β Each agent handles different development tasks (frontend, backend, testing, documentation)
- β Agents work in parallel to speed up development
- β Track agent activities and outputs in real-time
- β Recursive agent spawning for specialized tasks
- β Dashboard to view all generated projects
- β File browser to navigate project structure
- β Monaco code editor for viewing and editing files
- β Support for multiple file types and syntax highlighting
- β Auto-save and version control
- β Create new repositories
- β Push generated projects to GitHub
- β Manage commits and branches
- β View repository status
- β Track all prompts and AI interactions
- β Store project metadata and files
- β Log agent activities and task history
- β Store system prompt configurations
- β WebSocket support for live agent status updates
- β Real-time code generation streaming
- β Live progress tracking for all operations
- Framework: Python 3.11+ / FastAPI
- AI Integration: Venice AI API (Dolphin uncensored model)
- Database: PostgreSQL 14+
- ORM: SQLAlchemy with Alembic migrations
- WebSocket: FastAPI WebSockets
- GitHub: PyGithub
- Framework: Next.js 14 (React 18)
- Language: TypeScript
- Styling: Tailwind CSS
- Code Editor: Monaco Editor
- State Management: Zustand
- Data Fetching: TanStack Query (React Query)
- UI Components: Headless UI, Framer Motion
- WebSocket: Socket.io-client
-
Python 3.11+
python --version
-
Node.js 18+
node --version npm --version
-
PostgreSQL 14+
psql --version
-
Git
git --version
You'll need:
- Venice AI API Credentials - Sign up at Venice.ai
- GitHub Personal Access Token - Generate at GitHub Settings
cd /home/ubuntu/codeforge_ai
chmod +x setup.sh
./setup.sh# Start PostgreSQL
sudo systemctl start postgresql
# Create database and user
sudo -u postgres psql -f database/init.sql
# Verify connection
psql -U codeforge -d codeforge_db -h localhostcd backend
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Copy environment template
cp .env.example .env
# Edit .env with your API keys
nano .envRequired .env variables:
VENICE_API_KEY=your_venice_api_key_here
VENICE_API_SECRET=your_venice_api_secret_here
GITHUB_PERSONAL_ACCESS_TOKEN=your_github_token_here
GITHUB_USERNAME=your_github_username
DATABASE_URL=postgresql+asyncpg://codeforge:codeforge@localhost:5432/codeforge_db# Run database migrations
alembic upgrade head
# Start backend server
python main.pyBackend will be running at: http://localhost:8000
cd ../frontend
# Install dependencies
npm install
# Copy environment template
cp .env.local.example .env.local
# Start development server
npm run devFrontend will be running at: http://localhost:3000
Open your browser and navigate to:
http://localhost:3000
- Click on the Projects tab in the sidebar
- Click + Create Project
- Enter project details:
- Name
- Description
- Framework (optional)
- Click Create
- Navigate to the AI Chat tab
- Type your request, for example:
Create a React component for a user profile card with avatar, name, and bio - The AI will generate code with syntax highlighting
- Copy the code or create a file directly from the chat
- Go to the Agents tab
- Click + Create Agent
- Configure the agent:
- Name: e.g., "Backend Developer Agent"
- Role: e.g., "Backend Development"
- Capabilities: e.g., "Python", "FastAPI", "Database Design"
- System Prompt: (optional) Custom instructions
- Click Create Agent
Agents will automatically handle assigned tasks and can spawn child agents for specialized work.
- Open a project
- Click the GitHub icon
- Configure repository:
- Repository name
- Description
- Public/Private
- Select files to push
- Enter commit message
- Click Push to GitHub
# Check if PostgreSQL is running
sudo systemctl status postgresql
# Restart PostgreSQL
sudo systemctl restart postgresql
# Test connection
psql -U codeforge -d codeforge_db -h localhost# Check if port 8000 is in use
lsof -i :8000
# View backend logs
cd backend
tail -f logs/app.log
# Restart backend
pkill -f "python main.py"
python main.py# Clear node_modules and reinstall
cd frontend
rm -rf node_modules package-lock.json
npm install
# Check if port 3000 is in use
lsof -i :3000
# Restart frontend
npm run dev- Verify your API credentials in
backend/.env - Check API quota at Venice.ai Dashboard
- Test API connection:
curl -X POST https://api.venice.ai/api/v1/chat/completions \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "X-API-Secret: YOUR_API_SECRET" \ -H "Content-Type: application/json" \ -d '{"model": "dolphin-2.9.2-qwen2-72b", "messages": [{"role": "user", "content": "Hello"}]}'
Once the backend is running, access interactive API docs:
- Swagger UI: http://localhost:8000/docs
- ReDoc: http://localhost:8000/redoc
POST /api/chat- Stream chat completionsPOST /api/generate-code- Generate code from promptPUT /api/system-prompt- Update system prompt
POST /api/agents/create- Create new agentGET /api/agents- List all agentsGET /api/agents/{id}- Get agent detailsPOST /api/agents/{id}/task- Assign task to agentDELETE /api/agents/{id}- Terminate agent
POST /api/projects- Create projectGET /api/projects- List projectsGET /api/projects/{id}- Get project detailsGET /api/projects/{id}/files- Get project filesPOST /api/projects/{id}/files- Save file
POST /api/github/repos- Create repositoryPOST /api/github/push- Push files to GitHubGET /api/github/repos- List repositoriesGET /api/github/repos/{name}/status- Get repo status
codeforge_ai/
βββ backend/
β βββ app/
β β βββ services/ # Core services (Venice AI, Agents, GitHub)
β β βββ database/ # Database models and connection
β β βββ models/ # Pydantic schemas
β β βββ websocket/ # WebSocket manager
β βββ main.py # FastAPI application
β βββ requirements.txt
β βββ .env.example
β
βββ frontend/
β βββ src/
β β βββ app/ # Next.js app directory
β β βββ components/ # React components
β β βββ lib/ # API client and utilities
β β βββ store/ # Zustand state management
β βββ package.json
β βββ .env.local.example
β
βββ database/
β βββ init.sql # Database initialization
β
βββ README.md
# Backend tests
cd backend
pytest
# Frontend tests
cd frontend
npm test# Backend linting
cd backend
pylint app/
# Frontend linting
cd frontend
npm run lintContributions are welcome! Please follow these steps:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License. See the LICENSE file for details.
A: Yes! The system is designed to work with Venice AI's Dolphin model, but you can modify venice_service.py to integrate other providers like OpenAI, Anthropic, or local models.
A: For production deployment:
- Use a production-grade WSGI server (gunicorn with uvicorn workers)
- Set up proper environment variables
- Use a reverse proxy (Nginx)
- Enable HTTPS
- Use a managed PostgreSQL instance
- Deploy frontend to Vercel or build static files
A: Minimum requirements:
- 4GB RAM
- 2 CPU cores
- 10GB disk space
- Python 3.11+
- Node.js 18+
- PostgreSQL 14+
A: Venice AI offers various pricing tiers. Check Venice.ai Pricing for current rates.
A: Yes! Parent agents can spawn child agents, delegate tasks, and receive results. This enables complex multi-agent workflows.
For issues, questions, or suggestions:
- GitHub Issues: Create an issue
- Documentation: Full Docs
- Venice AI for the Dolphin uncensored model
- FastAPI for the excellent web framework
- Next.js team for the amazing React framework
- Monaco Editor for the powerful code editing experience
β¨ Happy Coding with CodeForge AI! β¨
Localhost Notice: This application runs on localhost of the computer where it's installed. The backend runs on
http://localhost:8000and frontend onhttp://localhost:3000. To access it remotely, you'll need to deploy it on your own infrastructure or use port forwarding/tunneling.
API Keys Security: Never commit your
.envfiles to version control. Always use.env.exampletemplates.
Database Backups: Regularly backup your PostgreSQL database to prevent data loss:
pg_dump -U codeforge codeforge_db > backup_$(date +%Y%m%d_%H%M%S).sql