{"slug": "stram-an-open-source-local-first-desktop-agent-with-human-approval-gates", "title": "Stram: An Open-Source, Local-First Desktop Agent With Human Approval Gates", "summary": "A developer has released Stram, an open-source, local-first desktop agent with human approval gates, designed to act as an always-available assistant that can take safe actions on its own. The agent, named Janus, runs against the user's own model provider key and includes a runtime, desktop app, and release surface, with native macOS and Windows shells available.", "body_md": "Most \"AI agents\" I've tried are prompt-first: you type something, they answer, they stop. I wanted something closer to an actual assistant — one that notices what's happening on my machine and decides whether to act, without me opening a chat window first. That's why I built **Stram**.\n\nRepo: [https://github.com/CodeInfinity1/Stram](https://github.com/CodeInfinity1/Stram) (MIT licensed, v1.0.1)\n\nStram is the runtime, desktop app, and release surface for **Janus**, the agent that lives inside it. Janus isn't a chatbot waiting for your next message — it's designed to be always-available, context-aware, and able to take the next safe step through governed tools on its own.\n\nThe flow looks like this:\n\n`\\`\n\n`text`\n\nstimulus\n\n-> interaction harness\n\n-> compact local context\n\n-> model-led attention/planning\n\n-> schema-validated tool calls\n\n-> policy and approval gates\n\n-> execution and audit timeline\n\n-> memory, learning, recovery, and response synthesis\n\n\\`\\`\n\nBroken down:\n\nEverything runs against your own model provider key — OpenAI, Anthropic, Groq, local Ollama, whatever you point it at. No hosted backend of mine sits in the loop.\n\n`\\`\n\n`bash`\n\ngit clone https://github.com/CodeInfinity1/Stram.git\n\ncd Stram\n\npython3 -m pip install -e \".[browser,pdf,ocr,office,test]\"\n\npython3 -m stram run \"system_status {}\" --workspace . --planner explicit\n\n\\`\\`\n\nOr start the local API + dashboard:\n\n`\\`\n\n`bash`\n\npython3 -m stram serve --workspace . --port 8765\n\n\\`\\`\n\nNative macOS (Swift) and Windows (.NET) desktop shells are also available in the repo under `apps/\\`\n\n.\n\nI'd rather be upfront about this than have you find out the hard way:\n\n[CONTRIBUTING.md](https://github.com/CodeInfinity1/Stram/blob/main/CONTRIBUTING.md) has contribution priorities and PR expectations, [SECURITY.md](https://github.com/CodeInfinity1/Stram/blob/main/SECURITY.md) covers the safety model in depth.\n\nFeedback - especially critical feedback, is genuinely welcome in the comments.", "url": "https://wpnews.pro/news/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates", "canonical_source": "https://dev.to/varsham_gupta/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates-2h71", "published_at": "2026-08-02 10:42:45+00:00", "updated_at": "2026-08-02 11:15:09.212288+00:00", "lang": "en", "topics": ["ai-agents", "ai-products", "ai-tools", "ai-safety", "developer-tools"], "entities": ["Stram", "Janus", "OpenAI", "Anthropic", "Groq", "Ollama", "GitHub", "CodeInfinity1"], "alternates": {"html": "https://wpnews.pro/news/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates", "markdown": "https://wpnews.pro/news/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates.md", "text": "https://wpnews.pro/news/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates.txt", "jsonld": "https://wpnews.pro/news/stram-an-open-source-local-first-desktop-agent-with-human-approval-gates.jsonld"}}