{"id":50891461,"url":"https://github.com/acunningham-ship-it/github-models-paperclip-adapter","last_synced_at":"2026-06-15T21:02:46.396Z","repository":{"id":352470067,"uuid":"1215268821","full_name":"acunningham-ship-it/github-models-paperclip-adapter","owner":"acunningham-ship-it","description":"Paperclip adapter for GitHub's free Models API (gpt-4o, Llama, Phi, Mistral, DeepSeek, Codestral). No Copilot subscription needed.","archived":false,"fork":false,"pushed_at":"2026-04-19T17:52:22.000Z","size":22,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-19T19:31:51.654Z","etag":null,"topics":["ai-agents","free-llm","github-models","openai-compatible","paperclip","typescript"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/acunningham-ship-it.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":null,"dco":null,"cla":null}},"created_at":"2026-04-19T17:43:50.000Z","updated_at":"2026-04-19T17:52:26.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/acunningham-ship-it/github-models-paperclip-adapter","commit_stats":null,"previous_names":["acunningham-ship-it/github-models-paperclip-adapter"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/acunningham-ship-it/github-models-paperclip-adapter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acunningham-ship-it%2Fgithub-models-paperclip-adapter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acunningham-ship-it%2Fgithub-models-paperclip-adapter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acunningham-ship-it%2Fgithub-models-paperclip-adapter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acunningham-ship-it%2Fgithub-models-paperclip-adapter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/acunningham-ship-it","download_url":"https://codeload.github.com/acunningham-ship-it/github-models-paperclip-adapter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/acunningham-ship-it%2Fgithub-models-paperclip-adapter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34379915,"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-15T02:00:07.085Z","response_time":63,"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":["ai-agents","free-llm","github-models","openai-compatible","paperclip","typescript"],"created_at":"2026-06-15T21:02:45.588Z","updated_at":"2026-06-15T21:02:46.386Z","avatar_url":"https://github.com/acunningham-ship-it.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# github-models-paperclip-adapter\n\n\u003e Paperclip adapter for GitHub's free Models API. No Copilot subscription needed.\n\n## What it does\n\nLets Paperclip agents use GitHub's free [Models API](https://github.com/marketplace/models) (gpt-4o, Llama 3.1 405B, Phi-3.5, Mistral, DeepSeek, Codestral, etc.) without paying for Claude or OpenRouter.\n\n**Why it exists:** Hermes-paperclip-adapter has a `provider` override bug. OpenRouter's free tier is unreliable for production. GitHub Models gives you 10+ frontier models for free with a daily quota — but no Paperclip adapter exists for it. Until now.\n\n## Status\n\n🚧 **v0.0.1 — scaffold only.** Implementation in progress.\n\nThis repo exists ahead of the [Agent htop](https://github.com/acunningham-ship-it/agent-htop) launch as the free LLM backbone htop's research/analysis agents will use. v1.0 ships shortly after htop's launch.\n\n## Models supported (free via GitHub Models)\n\n- `gpt-4o`, `gpt-4o-mini`, `o1-preview`, `o1-mini`\n- `Llama-3.1-405B-Instruct`, `Llama-3.3-70B`\n- `Phi-3.5-MoE`, `Phi-3.5-mini`\n- `Mistral-Large-2407`, `Codestral-2501`\n- `DeepSeek-V3`, `DeepSeek-R1`\n\n(Full list: github.com/marketplace/models)\n\n## Authentication\n\nRequires a fine-grained GitHub PAT with the `models:read` Account permission.\n\nCreate at: https://github.com/settings/personal-access-tokens\n\n```bash\nexport GITHUB_TOKEN=github_pat_...\n```\n\n## Installation (when v1 ships)\n\n```bash\nnpm install -g github-models-paperclip-adapter\n# Then register in ~/.paperclip/instances/default/config.json\n```\n\nOr for development:\n\n```bash\ngit clone https://github.com/acunningham-ship-it/github-models-paperclip-adapter\ncd github-models-paperclip-adapter\nnpm install\nnpm run build\n```\n\nThen symlink/install in your Paperclip plugins dir.\n\n## Agent configuration example\n\n```json\n{\n  \"name\": \"Researcher\",\n  \"adapterType\": \"github_models\",\n  \"adapterConfig\": {\n    \"model\": \"gpt-4o-mini\",\n    \"timeoutSec\": 600,\n    \"maxTurnsPerRun\": 30\n  }\n}\n```\n\n## Architecture\n\n| Component | Purpose |\n|---|---|\n| `src/index.ts` | Adapter factory exported to Paperclip plugin loader |\n| `src/server/execute.ts` | Streaming OpenAI-compat HTTP client → GitHub Models endpoint |\n| `src/server/parse.ts` | Session state codec (resume from prior turn) |\n| `src/server/detect-model.ts` | Validate model exists + is available on free tier |\n| `src/shared/constants.ts` | `ADAPTER_TYPE`, model defaults, GitHub Models base URL |\n| `src/ui/index.ts` | Optional UI parser for Paperclip dashboard |\n\nImplementation pattern derived from [openrouter-paperclip-adapter](https://github.com/acunningham-ship-it/openrouter-paperclip-adapter) and [hermes-paperclip-adapter](https://github.com/NousResearch/hermes-paperclip-adapter).\n\n## Roadmap\n\n- **v0.0.1** (now) — scaffold + README\n- **v0.5.0** — execute.ts non-streaming MVP, single-turn working\n- **v0.8.0** — streaming + session resume\n- **v0.9.0** — tool calling support\n- **v1.0.0** — production-ready, launches alongside Agent htop\n\n## License\n\nMIT — Armani Cunningham, 2026.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facunningham-ship-it%2Fgithub-models-paperclip-adapter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Facunningham-ship-it%2Fgithub-models-paperclip-adapter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Facunningham-ship-it%2Fgithub-models-paperclip-adapter/lists"}