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.
Repo: https://github.com/CodeInfinity1/Stram (MIT licensed, v1.0.1) Stram 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.
The flow looks like this:
\
text
stimulus
-> interaction harness
-> compact local context
-> model-led attention/planning
-> schema-validated tool calls
-> policy and approval gates
-> execution and audit timeline
-> memory, learning, recovery, and response synthesis
``
Broken down:
Everything 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.
\
bash
git clone https://github.com/CodeInfinity1/Stram.git
cd Stram
python3 -m pip install -e ".[browser,pdf,ocr,office,test]"
python3 -m stram run "system_status {}" --workspace . --planner explicit
``
Or start the local API + dashboard:
\
bash
python3 -m stram serve --workspace . --port 8765 ``
Native macOS (Swift) and Windows (.NET) desktop shells are also available in the repo under apps/\
.
I'd rather be upfront about this than have you find out the hard way:
CONTRIBUTING.md has contribution priorities and PR expectations, SECURITY.md covers the safety model in depth.
Feedback - especially critical feedback, is genuinely welcome in the comments.