{"id":44253889,"url":"https://github.com/localgpt-app/localgpt","last_synced_at":"2026-06-29T06:00:47.772Z","repository":{"id":337358231,"uuid":"1147402226","full_name":"localgpt-app/localgpt","owner":"localgpt-app","description":"Local AI assistant, dreaming explorable worlds.","archived":false,"fork":false,"pushed_at":"2026-06-21T18:54:39.000Z","size":9266,"stargazers_count":1107,"open_issues_count":6,"forks_count":100,"subscribers_count":6,"default_branch":"main","last_synced_at":"2026-06-21T20:19:38.129Z","etag":null,"topics":["agent","ai","bevy","rust","world"],"latest_commit_sha":null,"homepage":"https://localgpt.app/","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/localgpt-app.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security/SECURITY-TODO.md","support":null,"governance":null,"roadmap":"docs/roadmap/gen/Doc-0-Implementation-Tracker.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-02-01T17:32:52.000Z","updated_at":"2026-06-21T18:54:43.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/localgpt-app/localgpt","commit_stats":null,"previous_names":["localgpt-app/localgpt"],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/localgpt-app/localgpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localgpt-app%2Flocalgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localgpt-app%2Flocalgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localgpt-app%2Flocalgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localgpt-app%2Flocalgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/localgpt-app","download_url":"https://codeload.github.com/localgpt-app/localgpt/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/localgpt-app%2Flocalgpt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34915002,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-29T02:00:05.398Z","response_time":58,"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":["agent","ai","bevy","rust","world"],"created_at":"2026-02-10T16:00:30.407Z","updated_at":"2026-06-29T06:00:47.765Z","avatar_url":"https://github.com/localgpt-app.png","language":"Rust","funding_links":[],"categories":["Rust"],"sub_categories":[],"readme":"\n# \u003cimg src=\"https://localgpt.app/logo/localgpt-icon-app.svg\" width=\"50\" height=\"50\" alt=\"LocalGPT\" /\u003e LocalGPT\n\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](https://github.com/localgpt-app/localgpt#license)\n[![Crates.io](https://img.shields.io/crates/v/localgpt.svg)](https://crates.io/crates/localgpt)\n[![Downloads](https://img.shields.io/crates/d/localgpt.svg)](https://crates.io/crates/localgpt)\n[![Docs](https://docs.rs/localgpt/badge.svg)](https://docs.rs/localgpt/latest/localgpt)\n[![CI](https://github.com/localgpt-app/localgpt/workflows/CI/badge.svg)](https://github.com/localgpt-app/localgpt/actions)\n[![Discord](https://img.shields.io/discord/691052431525675048.svg?label=\u0026logo=discord\u0026logoColor=ffffff\u0026color=7389D8\u0026labelColor=6A7EC2)](https://discord.gg/spKRr6mRyp)\n\nBuild explorable 3D worlds with natural language — geometry, materials, lighting, audio, and behaviors. Open source, runs locally.\n\n[![LocalGPT Gen Demo](https://img.youtube.com/vi/R__tg7YY0T8/maxresdefault.jpg)](https://www.youtube.com/watch?v=R__tg7YY0T8)\n\n## Install\n\n### From crates.io (for users)\n\nIf you just want to run LocalGPT — no source checkout needed:\n\n```bash\n# World Building\ncargo install localgpt-gen\n\n# AI Assistant (chat, memory, daemon)\ncargo install localgpt\n```\n\n### From source (for developers)\n\nIf you've cloned the repository and want to hack on the code, use `cargo run` to iterate without installing:\n\n```bash\ngit clone https://github.com/localgpt-app/localgpt.git\ncd localgpt\n\n# World Building\ncargo run -p localgpt-gen -- \"Create a desert scene with pyramids\"\n\n# AI Assistant\ncargo run -- chat\ncargo run -- daemon start\n```\n\nFull options (feature flags, headless builds, Docker): see [Installation](https://localgpt.app/docs/installation).\n\n## \u003cimg src=\"https://localgpt.app/logo/localgpt-icon.svg\" width=\"32\" height=\"32\" alt=\"LocalGPT\" /\u003e Gen Mode (World Building)\n\n`localgpt-gen` is a standalone binary for AI-driven 3D world creation with the Bevy game engine.\n\n```bash\n# Start interactive mode\nlocalgpt-gen\n\n# Start with an initial prompt\nlocalgpt-gen \"Create a desert scene with pyramids and a UFO hovering above\"\n\n# Load an existing scene\nlocalgpt-gen --scene ./world.glb\n\n# Verbose logging\nlocalgpt-gen --verbose\n```\n\n### Features\n\n- **Parametric shapes** — box, sphere, cylinder, capsule, plane, torus, pyramid, tetrahedron, icosahedron, wedge\n- **PBR materials** — color, metalness, roughness, emissive, alpha, double-sided\n- **Lighting** — point, spot, directional lights with color and intensity\n- **Behaviors** — orbit, spin, bob, look_at, pulse, path_follow, bounce\n- **Audio** — ambient sounds (wind, rain, forest, ocean, cave) and spatial emitters\n- **Export** — glTF/GLB, HTML (browser-viewable), screenshots\n- **World skills** — save/load complete worlds as reusable skills\n\n### Headless Mode \u0026 Experiment Queue\n\nQueue world experiments and generate without a window — overnight batch runs, CI pipelines, or scripted variations:\n\n```bash\n# Generate a single world (no window)\nlocalgpt-gen headless --prompt \"Build a cozy cabin in a snowy forest\"\n\n# With style hint\nlocalgpt-gen headless --prompt \"Village marketplace\" --style \"Studio Ghibli\"\n```\n\nThe memory system learns your creative style across sessions — palettes, lighting preferences, entity templates — and applies them automatically in future generations.\n\nFull docs: [Headless Mode \u0026 Experiment Queue](https://localgpt.app/docs/gen/headless)\n\n### MCP Server\n\nUse Gen from Claude Desktop, Codex Desktop, or any MCP-compatible editor (VS Code, Zed, Cursor):\n\n```bash\nlocalgpt-gen mcp-server\n```\n\nAdd to Claude Desktop config (`~/Library/Application Support/Claude/claude_desktop_config.json` on macOS):\n\n```json\n{\n  \"mcpServers\": {\n    \"localgpt-gen\": {\n      \"command\": \"localgpt-gen\",\n      \"args\": [\"mcp-server\"]\n    }\n  }\n}\n```\n\nFor CLI tools (Claude CLI, Gemini CLI, Codex CLI), use `--connect` to route tool calls to your existing window. See [CLI Mode (MCP Relay)](https://localgpt.app/docs/gen/cli-mode).\n\nFull docs: [LocalGPT Gen](https://localgpt.app/docs/gen) | [MCP Server](https://localgpt.app/docs/gen/mcp-server)\n\nBuilt something cool? Share on [Discord](https://discord.gg/spKRr6mRyp) or [YouTube](https://www.youtube.com/@localgpt-gen)!\n\n---\n\n## AI Assistant\n\n`localgpt` is a local-first AI assistant with persistent memory, autonomous tasks, and multiple interfaces.\n\n```bash\n# Interactive chat\nlocalgpt chat\n\n# Single question\nlocalgpt ask \"What is the meaning of life?\"\n\n# Run as daemon with HTTP API and web UI\nlocalgpt daemon start\n```\n\n### Why LocalGPT?\n\n- **Single binary** — no Node.js, Docker, or Python required\n- **Local device focused** — runs entirely on your machine, your data stays yours\n- **Persistent memory** — markdown-based knowledge store with full-text and semantic search\n- **Hybrid web search** — native provider search passthrough plus client-side fallback\n- **Autonomous heartbeat** — delegate tasks and let it work in the background\n- **Multiple interfaces** — CLI, web UI, desktop GUI, Telegram bot\n- **Defense-in-depth security** — signed policy files, kernel-enforced sandbox, prompt injection defenses\n- **Multiple LLM providers** — LM Studio, Ollama, Anthropic, OpenAI, xAI, GLM, Vertex AI, CLI providers\n\n### How It Works\n\nLocalGPT uses XDG-compliant directories for config/data/state/cache. Run `localgpt paths` to see resolved paths.\n\nWorkspace memory layout:\n\n```\n\u003cworkspace\u003e/\n├── MEMORY.md     # Long-term knowledge (auto-loaded each session)\n├── HEARTBEAT.md  # Autonomous task queue\n├── SOUL.md       # Personality and behavioral guidance\n└── knowledge/    # Structured knowledge bank\n```\n\nFiles are indexed with SQLite FTS5 for keyword search and sqlite-vec for semantic search with local embeddings.\n\n### Configuration\n\nStored at `\u003cconfig_dir\u003e/config.toml`:\n\n**Local models via LM Studio** (no API key, fully offline):\n\n```toml\n[agent]\ndefault_model = \"openai/qwen/qwen3.5-35b-a3b\"\n\n[providers.openai]\napi_key = \"lm-studio\"\nbase_url = \"http://127.0.0.1:1234/v1\"\n```\n\n**Cloud providers** (Anthropic, OpenAI, etc.):\n\n```toml\n[agent]\ndefault_model = \"claude-cli/opus\"\n\n[providers.anthropic]\napi_key = \"${ANTHROPIC_API_KEY}\"\n```\n\nFull config reference: [`website/docs/configuration.md`](website/docs/configuration.md)\n\n### Security\n\n- **Kernel-enforced sandbox** — Landlock/seccomp on Linux, Seatbelt on macOS\n- **Signed policy files** — HMAC-SHA256 signed `LocalGPT.md` with tamper detection\n- **Prompt injection defenses** — marker stripping, pattern detection, content boundaries\n- **Audit chain** — hash-chained security event log\n\nSecurity docs: [`website/docs/sandbox.md`](website/docs/sandbox.md) | [`website/docs/localgpt.md`](website/docs/localgpt.md)\n\n### HTTP API\n\n| Endpoint | Description |\n|----------|-------------|\n| `GET /` | Embedded web UI |\n| `POST /api/chat` | Chat with assistant |\n| `POST /api/chat/stream` | SSE streaming chat |\n| `GET /api/memory/search?q=\u003cquery\u003e` | Search memory |\n\nFull API reference: [`website/docs/http-api.md`](website/docs/http-api.md)\n\n### CLI Commands\n\n```bash\nlocalgpt chat                   # Interactive chat\nlocalgpt ask \"question\"         # Single question\nlocalgpt daemon start           # Start daemon\nlocalgpt memory search \"query\"  # Search memory\nlocalgpt config show            # Show config\nlocalgpt paths                  # Show resolved paths\n```\n\nFull CLI reference: [`website/docs/cli-commands.md`](website/docs/cli-commands.md)\n\n## Blog\n\n- [Explorable World as Agent Skill](https://localgpt.app/blog/world-as-skill)\n- [Why I Built LocalGPT in 4 Nights](https://localgpt.app/blog/why-i-built-localgpt-in-4-nights)\n\n## Built With\n\nRust, Tokio, Axum, Bevy, SQLite (FTS5 + sqlite-vec), fastembed, eframe\n\n## Contributors\n\n\u003ca href=\"https://github.com/localgpt-app/localgpt/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=localgpt-app/localgpt\" /\u003e\n\u003c/a\u003e\n\n## License\n\n[Apache-2.0](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalgpt-app%2Flocalgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flocalgpt-app%2Flocalgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flocalgpt-app%2Flocalgpt/lists"}