{"id":51277866,"url":"https://github.com/mar-schmidt/podium","last_synced_at":"2026-06-29T23:00:29.014Z","repository":{"id":368282089,"uuid":"1283987352","full_name":"mar-schmidt/Podium","owner":"mar-schmidt","description":"Thin orchestration layer for local LLM agents. Durable sessions, profiles, scheduling. Leans on native MCP/tools/memory instead of replacing them.","archived":false,"fork":false,"pushed_at":"2026-06-29T21:38:50.000Z","size":287,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-29T22:24:31.387Z","etag":null,"topics":["agent-orchestration","ai-agents","claude","claude-code","cli","codex","go","golang","llm","llm-orchestration","mcp","svelte"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mar-schmidt.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"docs/agents.md","dco":null,"cla":null}},"created_at":"2026-06-29T12:22:41.000Z","updated_at":"2026-06-29T21:37:55.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mar-schmidt/Podium","commit_stats":null,"previous_names":["mar-schmidt/podium"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/mar-schmidt/Podium","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar-schmidt%2FPodium","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar-schmidt%2FPodium/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar-schmidt%2FPodium/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar-schmidt%2FPodium/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mar-schmidt","download_url":"https://codeload.github.com/mar-schmidt/Podium/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mar-schmidt%2FPodium/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34945707,"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-orchestration","ai-agents","claude","claude-code","cli","codex","go","golang","llm","llm-orchestration","mcp","svelte"],"created_at":"2026-06-29T23:00:27.454Z","updated_at":"2026-06-29T23:00:28.824Z","avatar_url":"https://github.com/mar-schmidt.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/assets/hero.svg\" alt=\"Podium — Your AI agents, in concert.\" width=\"100%\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/build-passing-1F8A5B?style=flat-square\u0026labelColor=3A3430\" alt=\"build passing\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/version-0.4.0-2F6E60?style=flat-square\u0026labelColor=3A3430\" alt=\"version 0.4.0\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/license-MIT-5A6470?style=flat-square\u0026labelColor=3A3430\" alt=\"license MIT\"\u003e\n  \u003cimg src=\"https://img.shields.io/badge/local--first-✓-C9A24E?style=flat-square\u0026labelColor=3A3430\" alt=\"local-first\"\u003e\n\u003c/p\u003e\n\n# Podium\n\nA thin orchestration layer for local LLM agents (Claude Code, OpenAI Codex atm.).\nPodium shells out to the native `claude` and `codex` CLIs and leans on *their*\nMCP, tools, and memory, while owning its own durable truth: named agents, durable\nchat sessions, a canonical history that replays onto a fresh backing CLI session\non any profile/provider switch, an embedded scheduler, and a shared project\nledger. It ships as a single Go binary with an embedded Svelte web UI.\n\n## Quick start (dev)\n\n### Install\n\nmacOS/Linux:\n\n```sh\ncurl -fsSL https://github.com/mar-schmidt/Podium/releases/latest/download/install.sh | bash\n```\n\nWindows PowerShell:\n\n```powershell\nirm https://podium.ai/install.ps1 | iex\n```\n\nThe installer downloads the matching release binary, verifies checksums, can set\nup user-level autostart, and launches `podium onboard` to check Claude/Codex and\ncreate your first agent.\n\nEvery commit to `master` publishes a GitHub Release using the automatic\n`v0.1.\u003crun-number\u003e` series. That series is intentionally monotonic rather than\ncalendar-based, so bursts of work can produce many releases without implying a\nmonthly cadence.\n\nAfter install, updates can be checked and applied from the CLI or web UI:\n\n```sh\npodium update check\npodium update apply --yes\n```\n\nLinux releases are distro-neutral static binaries.\n\n### Development\n\nPrerequisites: Go 1.26+, Node 20+ (for building the web UI).\n\n```sh\n# Build the web UI (vite) and both binaries into bin/ with a version stamp.\nmake build\n\n# Run the daemon (foreground). It scaffolds ~/.podium on first run.\n./bin/podiumd\n\n# In another shell, check it's live.\n./bin/podium status\n```\n\nOpen http://127.0.0.1:8787 for the web UI.\n\nTo develop the frontend with hot reload, run `npm run dev` in `web/` (it proxies\nAPI/WebSocket traffic to a running `podiumd`).\n\n### Cross-platform builds \u0026 packaging\n\n`podiumd` is a single static binary with the SPA embedded — no external assets,\nno cgo (pure-Go SQLite via `modernc.org/sqlite`), so it cross-compiles cleanly:\n\n```sh\nmake cross    # linux/darwin/windows × amd64/arm64 → bin/\u003cos\u003e-\u003carch\u003e/\nmake package  # archives release artifacts into dist/ and writes SHA256SUMS\n```\n\nAll runtime state lives under one overridable root, so running Podium as a Home\nAssistant add-on or in a container is a packaging step, not a rewrite:\n\n```sh\nPODIUM_HOME=/data/podium ./bin/podiumd   # relative values are anchored absolute\n```\n\nThe web bind is configurable in `config.yaml` (`server.bind` / `server.port`,\ndefault `127.0.0.1:8787`); see [Configuration](docs/configuration.md).\n\n## Layout\n\n```\ncmd/podium/     thin CLI client\ncmd/podiumd/    daemon: web server + scheduler + core\ninternal/       core, adapter, exec, schedule, config, store, server, client\nweb/            Svelte + Vite + TS + Tailwind SPA (built → embedded)\ndocs/           requirements, CLI reference, configuration, integration contracts\n```\n\nAll runtime state lives under `$PODIUM_HOME` (default `~/.podium/`).\n\n## Documentation\n\n- [Requirements](docs/requirements.md) — the authoritative spec (v1.6).\n- [CLI reference](docs/cli.md)\n- [Configuration](docs/configuration.md)\n- [Scheduling](docs/scheduling.md)\n- [Projects \u0026 Roadmap](docs/projects.md)\n- [Security \u0026 logging](docs/security.md) — permission modes, redaction, run logs\n- [Integration contracts](docs/integrations/README.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar-schmidt%2Fpodium","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmar-schmidt%2Fpodium","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmar-schmidt%2Fpodium/lists"}