{"id":31681351,"url":"https://github.com/romanslack/simuverseframework_mk1","last_synced_at":"2025-10-08T07:48:26.108Z","repository":{"id":282783968,"uuid":"949627023","full_name":"RomanSlack/SimuVerseFramework_MK1","owner":"RomanSlack","description":"The framework powering the SimuVerse simulation.","archived":false,"fork":false,"pushed_at":"2025-04-11T20:57:40.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-11T21:29:53.158Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RomanSlack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-03-16T21:25:51.000Z","updated_at":"2025-04-11T20:57:43.000Z","dependencies_parsed_at":"2025-04-11T21:26:25.781Z","dependency_job_id":"8173762e-6f13-45fa-94eb-f12a2d86dbac","html_url":"https://github.com/RomanSlack/SimuVerseFramework_MK1","commit_stats":null,"previous_names":["romanslack/simuverseframework_mk1"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/RomanSlack/SimuVerseFramework_MK1","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FSimuVerseFramework_MK1","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FSimuVerseFramework_MK1/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FSimuVerseFramework_MK1/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FSimuVerseFramework_MK1/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RomanSlack","download_url":"https://codeload.github.com/RomanSlack/SimuVerseFramework_MK1/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RomanSlack%2FSimuVerseFramework_MK1/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":278909712,"owners_count":26066887,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-10-08T07:48:08.065Z","updated_at":"2025-10-08T07:48:26.095Z","avatar_url":"https://github.com/RomanSlack.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimuVerse Framework\n\nThe framework powering the SimuVerse simulation.\n\n## Setup\n\n1. Create a `.env` file with your OpenAI API key:\n```\nOPENAI_API_KEY=your_api_key_here\n```\n\n2. Install requirements:\n```bash\npip install fastapi uvicorn openai python-dotenv\n```\n\n## Running the Framework\n\n1. Start the main API server:\n```bash\npython main.py\n```\n\nThis will start a FastAPI server on http://127.0.0.1:3000 that provides the agent interaction API.\n\n2. Start the logs viewer interface (in a separate terminal):\n```bash\npython logs_viewer.py\n```\n\nThis will start a separate web interface on http://127.0.0.1:3001 that shows logs for all agents in a nice, user-friendly interface.\n\n## API Endpoints\n\n### Main API (port 3000)\n\n- `POST /generate` - Generate a response from an agent\n- `GET /api/logs` - Get all logs in JSON format\n- `GET /api/logs/{agent_id}` - Get logs for a specific agent in JSON format\n- `POST /clear_logs` - Clear all logs\n- `POST /reset` - Reset the entire system (clear sessions and logs)\n\n### Logs Viewer (port 3001)\n\n- `GET /` - Web interface for viewing logs\n- `POST /clear_logs` - Clear all logs\n\n## Logs Viewer Features\n\n- View logs for all agents in a clean, user-friendly interface\n- Switch between standard and chat views\n- Auto-refresh functionality to see logs in real-time\n- Clear logs with a single click\n- Mobile-responsive design\n\n## How Logs Work\n\n1. The system logs all agent interactions to an `agent_logs.json` file\n2. Logs are organized by agent ID\n3. Each log entry includes:\n   - Timestamp\n   - Event type (user_input, generating_response, response, validation_failure)\n   - Detailed information specific to the event type\n4. Logs persist between server restarts but can be cleared via the API or UI\n\n## Example Agent Interaction\n\n```python\nimport requests\n\n# Generate a response from an agent\nresponse = requests.post(\n    \"http://127.0.0.1:3000/generate\", \n    json={\n        \"agent_id\": \"agent1\",\n        \"user_input\": \"Hello, how are you?\",\n        \"system_prompt\": \"You are a helpful assistant.\"\n    }\n)\n\nprint(response.json())\n```\n\n## Model\n\nCurrent model: gpt-4o-mini-2024-07-18","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanslack%2Fsimuverseframework_mk1","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fromanslack%2Fsimuverseframework_mk1","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fromanslack%2Fsimuverseframework_mk1/lists"}