A brief on your login screen every morning.
Reads your inbox, calendar, GitHub. Costs a penny.
day-brief · llama3.1:8b · 06:00vinOS is a Linux distro for founders. Autonomous agents fire 24/7 on systemd timers — your morning brief at 6 am, PR review every 30 minutes, evening recap at 6 pm. 80% runs on a local model. Free. On your metal.
Every theme is a real palette that ships in the ISO. This chip is the same switch you'd flip on a booted vinOS box — same colors, same wallpaper.
No theme selected — using the default palette.
Same ISO. Same routines. Different job to be done. Pick the angle that matches yours — each page names the pain and the fix in your language.
I lose Sundays to inbox, PRs, and writing.
Get your Sunday back.
How this works for you → EngineersAI tools live outside our repo. Agents need to travel with the code.
Agents that live next to your code.
How this works for you → IT decision-makersCopilot is $40/seat and our data goes to their servers.
The agentic OS with guardrails built in.
How this works for you → Platform teamsEvery AI tool is a SaaS bolt-on. We want it in the cluster.
Runs on your laptop. Ships to your cluster.
How this works for you → ResearchersEvery LLM tool wants my papers on their servers.
Local models. Your papers stay yours.
How this works for you →Hit play. This is a real day-brief routine executing on
cosmos — scripted for the demo, but the flow is exactly what
happens on your machine every morning at 06:00.
$ Reads your inbox, calendar, GitHub. Costs a penny.
day-brief · llama3.1:8b · 06:00Every 30 minutes. Local model first — Claude only for tricky diffs.
github-review · route = "auto"Drop .vinos/routines.yaml in any repo. Your team inherits the same set.
vinos-routine load . · git-nativeAll quiet unless they have something worth telling you.
systemd timers arm. iwd re-associates. ollama warms llama3.1:8b in the background.
top-3, signals, one reflection · opens on the login screen · llama3.1:8b · local.
PR queue, what needs your eyes, drafts one comment · claude · escalates when a diff exceeds 400 lines.
Super+F · DND on · notifications muted · 25-min timer.
midday delta since 09:00 · runs local unless a PR is flagged for review.
end-of-day PR sweep before shutdown.
what shipped, what's stuck, tomorrow's top-3 · local · appended to your journal.
reads ~/Reading, generates connections + spaced-repetition cards · local · claude only if 3+ new sources.
Every routine picks a local Ollama model first. When the task exceeds what the local can handle — long context, hard reasoning, tool orchestration — the router hands off to a frontier API. You keep $360/mo.
Drag the slider. Each dot is a routine invocation. The router decides local or premium based on your threshold. Real math, no telemetry.
[routine]
name = "day-brief"
schedule = "0 6 * * *" # daily · 06:00 local
agent = "brief"
route = "auto" # 80% local · 20% escalate
[model]
local = "llama3.1:8b" # ollama · default
premium = "claude-3-5-sonnet"
[tools]
allow = ["calendar", "inbox", "github", "weather"]
[out]
render = "markdown"
sink = "~/.local/state/vinos/brief.md"
[budget]
max_tokens = 8000
max_dollars = 0.10 # per run · hard capvinOS routines are portable. Systemd timers on your machine today;
K8s CronJobs on your cluster tomorrow. Same
.vinos/routines.yaml. Same 80/20 router. Same ledger.
Same rules.
# runs today · systemd user timer
apiVersion: vinos.computer/v1
kind: RoutineSet
metadata:
project: startup-inc
routines:
- name: pr-review
schedule:
oncalendar: "*-*-* 09,13,17:00:00"
timezone: America/New_York
agent:
route: auto # 80% local
model: llama3.1:8b
escalate_to: claude-sonnet-4-6
budget:
max_dollars_per_day: 0.50
on_exceed: skip# same spec · exported for the cluster
apiVersion: batch/v1
kind: CronJob
metadata:
name: pr-review
namespace: vinos-agents
spec:
schedule: "0 9,13,17 * * *" # translated from oncalendar
jobTemplate:
spec:
template:
spec:
restartPolicy: Never
containers:
- name: routine
image: ghcr.io/vinpatel/vinos-cloud:2.1
args: ["run", "pr-review"]
envFrom:
- secretRef: { name: vinos-api-keys }
volumeMounts:
- { name: state, mountPath: /var/lib/vinos }
volumes:
- name: state
persistentVolumeClaim: { claimName: vinos-ledger }vinOS Cloud (Docker + Helm) ships in v2.1 — read the roadmap →
If you have flashed a USB before, you can install this.
Grab vinos-2.0.5-x86_64.iso from the archive.org page. About 4.3 GB. Verify the sha256sum before you flash.
Etcher, Rufus, or dd. Any 8 GB+ stick works. Five minutes.
Boot from the USB. When the desktop loads, open a terminal and run:
sudo vinos-install-diskv2.0.5 is out. Flash it to a USB, boot any x86_64 machine, and in fifteen minutes your first routine is running — briefing you tomorrow morning, 80% on your own hardware.