{"id":50666725,"url":"https://github.com/exoad/bibo","last_synced_at":"2026-06-08T07:04:44.632Z","repository":{"id":354299547,"uuid":"1222841615","full_name":"exoad/bibo","owner":"exoad","description":"\"the little local coding agent that could\" Mirrored from exoad's Git Server.","archived":false,"fork":false,"pushed_at":"2026-05-05T01:48:44.000Z","size":1897,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-05T03:35:31.466Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"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/exoad.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,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-27T19:02:09.000Z","updated_at":"2026-05-05T01:48:47.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/exoad/bibo","commit_stats":null,"previous_names":["exoad/bibo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/exoad/bibo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoad%2Fbibo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoad%2Fbibo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoad%2Fbibo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoad%2Fbibo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/exoad","download_url":"https://codeload.github.com/exoad/bibo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/exoad%2Fbibo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34051778,"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-08T02:00:07.615Z","response_time":111,"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":"2026-06-08T07:04:21.309Z","updated_at":"2026-06-08T07:04:44.627Z","avatar_url":"https://github.com/exoad.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./icon.png\" width=82/\u003e\n\n# bibo\n\n*A coding agent for local models on consumer hardware*\n\nFortified with industry-grade system prompts from Claude \u0026 OpenCode\n\n\u003c/div\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n\u003cimg src=\"./sc.png\" height=300/\u003e\n\n\u003c/div\u003e\n\n**Public Bibo is not supported by me anymore. Fork it and make bibo your own!**\n\n## My Server\n\n- **GPU 1:** NVIDIA V100 SXM2 (w/ PCIe Adaptor) 32GB for attention layers\n- **GPU 2:** NVIDIA RTX 3080 (20GB MOD) for MoE expert layers\n- **CPU:** AMD Ryzen 5 7500X3D\n- **RAM:** 32GB DDR5\n\nCurrently running Qwen-3.6-35B-A3B Q5 with llama.cpp.\n\n\u003e Also compile llama.cpp yourself for better custom tailoring!\n\n## Quick Start\n\n```bash\ngit clone https://github.com/exoad/bibo.git\ncd bibo\nnpm install\n```\n\n### Configure the Model\n\nBibo uses a `provider.json` file to configure model providers. The `llama-cpp-provider` extension reads this file at startup.\n\n**First, create your config:**\n\n```bash\ncp provider.json.example provider.json\n```\n\n**Then edit `provider.json`** to point at your model endpoints:\n\n| Field | Purpose | Default |\n|-------|---------|---------|  \n| `baseUrl` | Model server endpoint | `http://127.0.0.1:6969/v1` |\n| `apiKey` | API key (if required) | `noop` |\n\n**Local llama.cpp** (running on this machine):\n```json\n{\n  \"providers\": [\n    {\n      \"name\": \"jackbox\",\n      \"api\": \"openai-completions\",\n      \"baseUrl\": \"http://127.0.0.1:6969/v1\",\n      \"apiKey\": \"noop\"\n    }\n  ]\n}\n```\n\n**Remote server** (your own model host):\n```json\n{\n  \"providers\": [\n    {\n      \"name\": \"jackbox\",\n      \"api\": \"openai-completions\",\n      \"baseUrl\": \"http://\u003cyour-server-ip\u003e:6969/v1\",\n      \"apiKey\": \"noop\"\n    }\n  ]\n}\n```\n\n\u003e [!TIP]\n\u003e `provider.json` is ignored by VCS — keep it local. Use `provider.json.example` as a template.\n\n\u003e [!NOTE]\n\u003e If `provider.json` doesn't exist, the extension falls back to environment variables:\n\u003e `LLAMACPP_BASE_URL`, `LLAMACPP_API_KEY`, `OLLAMA_BASE_URL`, `OLLAMA_API_KEY`.\n\n### Run\n\n```bash\n./bin/bibo.sh\n```\n\n#### Dashboard\n\nBibo includes a web-based dashboard that shows sessions, brain memory, vault notes, and quests in real-time.\n\n```bash\nbibo                    # Start with dashboard\nbibo \"your prompt\"      # Start with a specific prompt\n```\n\nThe dashboard runs on `http://127.0.0.1:3000` and auto-starts when you run `bibo`.\n\n#### Global Alias\n\nTo use `bibo` from anywhere, add this to your `~/.zshrc` (or equivalent shell config):\n\n```bash\nalias bibo='~/bibo/bin/bibo.sh'\n```\n\nOn Windows, use:\n\n```cmd\ndoskey bibo=C:\\bibo\\bin\\bibo.cmd $*\n```\n\n## Setup\n\n### Model Provider Configuration\n\nThe `llama-cpp-provider` extension (`.pi/extensions/llama-cpp-provider/index.ts`) reads `provider.json` at startup and registers providers dynamically.\n\nIf `provider.json` doesn't exist, it falls back to environment variables:\n- **`LLAMACPP_BASE_URL`** - llama.cpp OpenAI-compatible endpoint\n- **`LLAMACPP_API_KEY`** - API key (leave as `noop` if no auth)\n- **`OLLAMA_BASE_URL`** - Ollama endpoint (default: `http://127.0.0.1:11434/v1`)\n- **`OLLAMA_API_KEY`** - Ollama API key (default: `noop`)\n\n### pi Settings\n\nSee `.pi/settings.json` for model profiles, compaction, and retry settings.\n\n## Structure\n\n| Path | Purpose |\n|------|---------|\n| `bin/` | Cross-platform bibo launcher (macOS/Linux/Windows) |\n| `dashboard/` | Web dashboard for sessions, brain, vault, and quests |\n| `.pi/extensions/` | 20 TypeScript extensions (auto-discovered) |\n| `skills/` | Markdown cheat sheets injected on demand |\n| `AGENTS.md` | Project system prompt |\n| `SYSTEM.md` | Extended system prompt |\n| `SELF.md` | Internal architecture reference |\n| `.pi/settings.json` | Per-model profiles, compaction, retry settings |\n\n## Custom Extensions \u0026 Skills\n\n**Local extensions** (`.pi/extensions/`):\n- `benchmark-profiles` - profiling benchmarks\n- `breathing-border` - animated chatbox border\n- `browser` - browser extraction\n- `browser-extract-retention` - retention-aware extraction\n- `checkpoint` - session checkpointing\n- `context-mode` - context management (inlined from npm)\n- `cost-tracker` - fake cost counter\n- `evidence` - evidence collection\n- `evidence-compact` - compact evidence bridge\n- `extra-tools` - additional tool integrations\n- `hello` - greeting widget\n- `knowledge-inject` - knowledge injection\n- `llama-cpp-provider` - llama.cpp model provider\n- `output-parser` - structured output parsing\n- `permission-gate` - tool permission gating\n- `quality-monitor` - repeated tool call detection\n- `shell-session` - persistent shell sessions\n- `skill-inject` - skill injection\n- `thinking-budget` - thinking token budget\n- `timer` - session timer\n- `tool-gating` - tool access control\n- `turn-cap` - turn limiting\n- `write-guard` - write operation protection\n\n**NPM packages** (`.pi/settings.json`):\n- `@feniix/pi-code-reasoning` - code reasoning\n- `pi-gsd` - GSD workflow system\n- `pi-web-access` - web search/fetch\n- `pi-markdown-preview` - markdown preview\n- `@rhobot-dev/rho` - rho agent framework\n- `pi-token-burden` - token budgeting\n- `@feniix/pi-statusline` - statusline widget\n- `pi-review-loop` - automated code review\n- `pi-quests` - quest/task management\n- `pi-tool-display` - tool display\n- `pi-mermaid` - mermaid diagrams\n- `pi-rtk-optimizer` - RTK optimizer\n\n## Customization\n\n- **Extensions** - each under `.pi/extensions/\u003cname\u003e/`. Disable by removing the directory or editing `.pi/settings.json`. Add your own as a TypeScript module.\n- **Skills** - auto-discovered from `.pi/skills/` and `skills/`. Disable with `--no-skills`.\n- **Settings** - see [pi settings docs](https://pi.dev/docs/settings).\n\n## Attribution\n\nFork of [little-coder](https://github.com/itayinbarr/little-coder) → built on [pi](https://github.com/badlogic/pi-mono).\n- **pi** - Apache 2.0 / MIT\n- **little-coder** - Apache 2.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexoad%2Fbibo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fexoad%2Fbibo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fexoad%2Fbibo/lists"}