源码运行需 Node.js 18+(CI 用 22),桌面壳另需 Rust 与 Tauri 前置依赖;Apple Silicon 上不要用 x64 DMG,会走 Rosetta 2;本地模型必须选支持工具调用的模型,否则代理无法执行动作;从 OpenClaw/Hermes 导入代理时 API 密钥不会迁移,需重新填写。

starnet
androoAGIMIT活跃维护本地优先的桌面多智能体运行台,自带 API Key 就能让像素风空间站里的 AI 代理真实执行任务,全程可视化。
A living pixel-art station where real AI agents do real work. Local-first desktop agent harness - bring your own key, watch your crew actually run.
git clone https://github.com/androoAGI/starnet.git
cd starnet
node sidecar/index.jsREADME 未给出桌面端最低配置;本地模型需较大显存,8B 模型运行时约占用 10 GB 显存。桌面版支持 Windows 10/11 64 位与 macOS(Apple Silicon 用 aarch64 包,Intel 用 x64 包),Linux 仅为内部构建产物,不是公开支持目标。
本地优先的桌面 AI 代理运行框架,把代理编成像素空间站,让它们用真实模型和工具干活
本地优先的桌面多智能体运行台,自带 API Key 就能让像素风空间站里的 AI 代理真实执行任务,全程可视化。
核心能力
- 每个代理独立工作区、记忆、权限与花费账本
- 房间即能力边界,走廊即授权交接通道
- 支持 OpenRouter 密钥或 Anthropic/OpenAI/Google 账号登录
- 接入 Telegram、Discord、Slack、Signal、Matrix 远程对话
- Night Shift 无人值守运行,所有动作留痕可审
容易踩的坑
- v0.15.0StarNet v0.15.0最新正式版2026-11-07 · 2026-11-07 08:55 UTC
Download
Platform Installer Windows (x64) StarNet_0.15.0_x64-setup.exe macOS (Apple Silicon) StarNet_0.15.0_aarch64.dmg macOS (Intel) StarNet_0.15.0_x64.dmg These downloads are mirrored byte-for-byte from the validated StarNet distribution release. Already running StarNet? Update from inside the app; your crew, sessions, keys, and station remain in place.
StarNet v0.15.0
This update improves StarNet's reliability, privacy, security and spending controls. Jobs now wait for your decision when a reviewer blocks them, deleting a chat clears far more of what the station kept from it, images of unknown cost are capped, and save files are much smaller for stations with a lot of chat history. It also adds steering an agent mid-task from COMMS, a recovery bundle for backing up your station, and a station designer with seven new floor plans.
Upgrading, and going back
- The first save moves your station file to format v7, and keeps a copy of the old one for 30 days. Format v7 saves each chat's history by reference to the transcript the station keeps, instead of copying every message into the save. Before the first v7 save replaces the station file, StarNet copies the old file once to
agent.save.pre-history-ref.json, beside it in the station folder (on Windows%APPDATA%\ai.skynet.harness\workspaces). If the disk has no room for that copy, the replace goes on only when the old file survives asagent.save.json.bak; otherwise that save is refused and nothing is replaced. The copy goes 30 days after it was made, once the new format has read back. It holds every chat, so a chat you delete is cut out of it too. - Going back to 0.14.2 brings back your station file from before the update, but you put it back by hand. 0.14.2 can't read format v7: it stops at a "saved format v7 · this build reads up to v6" screen and leaves the file untouched. To go back on Windows: (1) quit StarNet completely; (2) in the station folder (
%APPDATA%\ai.skynet.harness\workspaces; the desktop app always uses this folder), copyagent.save.jsonsomewhere safe and moveagent.save.json.bakout of the folder; (3) copyagent.save.pre-history-ref.jsonto a newagent.save.json; (4) delete the app window's own storage, the folder%LOCALAPPDATA%\ai.skynet.harness\EBWebView\Default\Local Storage: it holds a v7 copy of the save, which 0.14.2 checks first and would stop at the screen above, and deleting it also clears what the window keeps only for itself (layout, dismissed hints and a few window-only records); (5) install 0.14.2 and open it. Anything you wrote after the update is not in the old file; the copy from step 2 is the only record of it. This version also moves a chat bot's own provider endpoint off its channel record, and 0.14.2 does not read where it moved it to: after going back, a bot you connected with its own endpoint runs on the station's endpoint for that provider until you connect it again in 0.14.2. We rehearsed the station file: 0.14.2's own station code read the kept file, extrakeptAtfield and all, with every chat from before the update. On macOS, ask us first: we have not mapped where the window keeps its storage there. - After you update, open StarNet once. The page is what brings a version 6 save up to v7. Until it has saved again, anything that runs with the page closed (routines, channel bots and other services that route through your floor) refuses to run, in these words: "the saved floor is waiting for a migration (open StarNet once to bring it up to date); routing is held until it is readable". The refusal costs nothing. Open the app, wait for it to save, a
- The first save moves your station file to format v7, and keeps a copy of the old one for 30 days. Format v7 saves each chat's history by reference to the transcript the station keeps, instead of copying every message into the save. Before the first v7 save replaces the station file, StarNet copies the old file once to
- v0.14.2StarNet v0.14.22026-10-31 · 2026-10-31 07:41 UTC
查看更新说明
Download
Platform Installer Windows (x64) StarNet_0.14.2_x64-setup.exe macOS (Apple Silicon) StarNet_0.14.2_aarch64.dmg macOS (Intel) StarNet_0.14.2_x64.dmg These downloads are mirrored byte-for-byte from the validated StarNet distribution release. Already running StarNet? Update from inside the app; your crew, sessions, keys, and station remain in place.
StarNet v0.14.2
Stations without a voice key speak again: Microsoft's free voice had been refusing StarNet since mid-October. A key you pasted into a chat is no longer sent to your AI service from other chats and background work. YOUR FIRST TASK no longer covers the message box, Gmail goes straight to app-password setup, and skills keep their files; approving one sticks. The terminal gains /connect, FLOOR and /split. StarNet's send and upload tools now take files only from an agent's workspace or project folder.
Voice is back
- Stations without a voice key speak again. Since mid-October, Microsoft's free read-aloud voice, the one StarNet uses when you have no OpenRouter, Gemini or OpenAI key, has refused StarNet's requests, so those stations stayed silent when reading replies aloud unless they used StarNet's built-in voice (0.13.5 and 0.14.1 included). StarNet now connects the way that service expects, and in our checks against Microsoft's live service the voice answers again.
- Sentences that were cut off now play in full. Earlier versions could save half a sentence when the free voice cut it off partway, then replay it cut short every time that line came back. Clips saved before this update by the free voice or a paid voice are no longer used: each sentence is made again in full the first time it's needed and saved whole. On a paid voice, that means a line StarNet had already saved is billed once more.
- When your agent can't speak a sentence, StarNet says why. If every voice StarNet tries fails, the note beside the speaker button in COMMS and the button's tooltip now name the voice and the reason, for example "OpenRouter rejected the key (HTTP 401)", instead of only "voice synthesis failed" or "unreachable". A refusal that won't clear up in seconds is no longer retried on every sentence: replies stay as text for a minute, or until you turn the speaker off and on again.
- StarNet checks the free voice when it starts. About 15 seconds after it starts, StarNet asks Microsoft's free voice service to read one fixed test line ("StarNet voice check.") and writes whether it answered to sidecar.log, next to startup.log. It does this even if you don't use voice, and nothing you've said is sent. To turn it off, set
STARNET_EDGE_TTS_PROBE=0and restart StarNet.
Your keys stay out of other chats and background work
- Keys you pasted into a chat no longer ride into other chats and background work. Before this update, a key you had pasted into a chat could ride along when StarNet reminded an agent of earlier work (recent activity, task briefs, the night shift, learned topics), so it was sent to your AI service again on later requests. StarNet now takes keys out of what it brings back from earlier work, and a key saved in CONNECTED › API KEYS appears there by its name instead. Keys typed before the update stay in your saved history but are kept out of other chats and background work. Still sent as before: the conversation you pasted the key into, a key written into a routine's own instructions, and a password that doesn't look like a key and isn't saved in StarNet. If you pasted a key into a chat before this update and want to be safe, replace it at the service that issued it.
- **Keys StarNet keeps
- v0.14.1StarNet v0.14.12026-10-26 · 2026-10-26 21:41 UTC
查看更新说明
Download
Platform Installer Windows (x64) StarNet_0.14.1_x64-setup.exe macOS (Apple Silicon) StarNet_0.14.1_aarch64.dmg macOS (Intel) StarNet_0.14.1_x64.dmg These downloads are mirrored byte-for-byte from the validated StarNet distribution release. Already running StarNet? Update from inside the app; your crew, sessions, keys, and station remain in place.
StarNet v0.14.1
The stability update. It fixes the bugs you reported most since 0.14.0, starting with stations that stopped saving, and it makes StarNet quicker to open and easier to find your way around.
Your station saves again
- Stations stop disappearing. If StarNet closed unexpectedly between two saves (a crash, a killed app, a Windows restart), the reopened window could have every later save refused, so the station file stopped updating while the app kept working, and a restart brought back an old station. The station now records which window wrote each save, so that window's newer work is accepted when it comes back.
- Copies that can't be proven newer are merged, not refused. Sessions from both sides are kept, and the station file is backed up first.
- Lost work can come back. If 0.14.0 already set some of your work aside, StarNet offers to restore that window's sessions when it starts.
Easier to find your way
- CONNECT is one list you can read at a glance. APPS, CONNECTED (with your API keys), SKILL MARKET, SKILLS, TOOLS and EXTENSIONS all show at once, like SETTINGS, instead of three switches that swapped the sections under them. Old links and saved places still open where they belong.
- AI & MODELS asks one question. Its AI services are grouped by what you have: StarNet credits, a subscription you already pay for, an API key, or your own models. TOOLS, API keys, computer control and the model settings now say what they do in plain words.
- Long windows are easier to read. CONNECT, SETTINGS and the dossier open taller, and the app catalog and skill market fold by category; search opens whatever it finds.
Faster windows
- Windows open faster. The median wait from click to window is down about 40%, and opening ABILITIES no longer freezes the station for seconds.
- The window comes first. The station pauses its own drawing for a moment while a window opens, so the window appears before the next frame.
- SETTINGS no longer rebuilds itself when a background check comes back unchanged.
See your crew work
- Every working agent shows what it's doing. A small tag right above each agent reads its name and the task it was given. The agent you're talking to, or the one under your pointer, gets the full card: the task, the tool it's using right now, how long it has been running and, on a priced model, what it has cost. Tags take your theme's colour and zoom with the station.
- Hand-offs are visible. When an agent splits work across its crew, a line runs across the floor from the lead to each worker for as long as that worker runs, and the result rides back when it finishes.
- Workers' steps reach the station. A worker's own tool steps now show on its CREW card instead of it reading "thinking" for the whole job.
Agents
- Workers aren't cut off mid-job. A worker given a brief that mentioned reviewing or checking was capped at 3 tools and 45 seconds, even when the brief also asked it to write, fix or build. Now only a pure read gets that short budget.
- Agents read your folders with the file tools. When you name a project folder, agents read, list and search it directly instead of going through the terminal, so you don't get an approval card for
- v0.14.0StarNet v0.14.02026-10-25 · 2026-10-25 01:34 UTC
查看更新说明
Download
Platform Installer Windows (x64) StarNet_0.14.0_x64-setup.exe macOS (Apple Silicon) StarNet_0.14.0_aarch64.dmg macOS (Intel) StarNet_0.14.0_x64.dmg These downloads are mirrored byte-for-byte from the validated StarNet distribution release. Already running StarNet? Update from inside the app; your crew, sessions, keys, and station remain in place.
StarNet v0.14.0
Before you update: save a station backup first (SETTINGS › APP & BACKUP › STATION BACKUP keeps your agents, settings and connectors; your conversations stay in your station folder, which the installer keeps). If agents are working when you install, choose WAIT FOR AGENTS.
- If the save notice says "Another window saved newer station changes", the in-app update will keep saying "try again in a moment". Press Download this window's save (not Reload current station), close StarNet, install 0.14.0 with the installer from starnetos.com over the app (your station folder is kept), then reopen. When the window's unsaved work reaches the new version, the save notice offers Restore this window's sessions.
- On a large station (roughly 400 MB or more of agent files), if INSTALL UPDATE stops at "no verified recovery point was created", install 0.14.0 with the installer from starnetos.com over the app. Your station folder is kept.
The lighter, sharper update. StarNet does far less work you never see: the background work that ran every few seconds is nearly gone, pulsing lights no longer redraw the whole window at full speed, and a station where nothing moves draws half as often. Agents got a round of fixes for the things that made them look worse than the model behind them. The station takes on a terminal look, the QUEST LOG becomes a battle pass, StarNet comes to the terminal with its own CLI, and there is a long list of fixes.
Lighter on your PC
- A still station draws 30 times a second instead of 60. The moment anything moves (an agent walking or typing, a crate on a belt, the camera, your mouse) it goes straight back to 60, and up to 144 while you pan. Minimized or in the tray it still draws nothing.
- The idle camera settles. When the camera has finished a move it stops instead of creeping, so the floor's shadows and belts stop redrawing every frame.
- Pulsing lights no longer redraw the whole window. A blinking cursor, a failed session's dot or the dock's glow used to make the entire window, frosted glass and all, redraw at your screen's full refresh rate, all day long. They now pulse in small steps, and the window only redraws when a step changes.
- Background work is almost gone. An idle station used to re-read and re-parse your whole station file dozens of times a minute. It now reads from memory: on a large station the background process went from about 10–30% of a CPU core to under 1%, and the short freezes that came with it are gone.
- Quieter while minimized. When StarNet is minimized or in the tray, its background checks on the station slow to once every 30 seconds (from as often as every second) and catch up the moment you're back.
- Less waste per frame: lighting, the starfield, walking paths and the review crates no longer rebuild work they already did.
- Fewer memory leaks: a slow leak in the chat-app connections is fixed, the local voice cache is cleaned up, and old run records and browser handles are released.
- Less disk used by updates. StarNet keeps the three newest pre-update recovery points instead of a full copy of your station for every update attempt, and the recovery point it makes before an update now fits large stations.
- **One huge c
- v0.13.5StarNet v0.13.52026-10-16 · 2026-10-16 21:17 UTC
查看更新说明
Download
Platform Installer Windows (x64) StarNet_0.13.5_x64-setup.exe macOS (Apple Silicon) StarNet_0.13.5_aarch64.dmg macOS (Intel) StarNet_0.13.5_x64.dmg These downloads are mirrored byte-for-byte from the validated StarNet distribution release. Already running StarNet? Update from inside the app; your crew, sessions, keys, and station remain in place.
StarNet v0.13.5
Before you update: if you might ever go back to 0.13.3 or older, save a station backup first (SETTINGS › APP & BACKUP › STATION BACKUP). Older versions don't know SEND TO or SPLIT THE JOB and delete those settings the next time they save your station. If agents are working when you install, choose WAIT FOR AGENTS.
The big one. 0.13.3 was security only; this is the feature update that was promised with it, polished end to end. Your agents can bring crew into a chat and hand work to each other, conveyor lines can hand finished jobs to other lines, building is drag-and-drop, the station draws smoothly even when StarNet isn't focused, and Claude Code runs are faster and cheaper. The whole app also got an organization pass: one place for each job, one name for each thing, and plain, true wording wherever people got stuck. Plus a long list of fixes from walking the whole app as one product.
Updating from 0.13.3
- Update from inside StarNet: UPDATE CENTER › INSTALL UPDATE. If agents are working, WAIT FOR AGENTS only closes the warning; press INSTALL UPDATE again once NEEDS YOU and COMMS are idle.
- Using the downloaded installer instead? It closes StarNet right away, so make sure no agent is working first. If you quit from the tray to install, press RESUME afterwards to restart routines and away work.
- Your station, conversations, keys and settings carry over as they are. The save format is unchanged; 0.13.5 only adds a few new session settings with neutral defaults.
- Speaker on in COMMS? Replies now use the Voice chat model with reasoning off by default, typed messages included. To keep your usual effort, set SETTINGS › AI & MODELS › Voice chat model › REASONING to SAME AS TYPED.
- Telegram or Discord bots: messages sent during the minute StarNet restarts to update aren't processed. Send them again afterwards.
- Going back to 0.13.3 later? Save a station backup and copy your whole workspaces folder first: 0.13.3 doesn't know some 0.13.5 settings (SEND TO, SPLIT THE JOB, new skill states) and drops them when it saves.
Agents & chat
- Bring crew into a conversation by asking. Say "add FORGE to this chat" and your lead adds them. They join the moment its reply ends, or the chat says why they couldn't. ADD AGENTS shows each agent's portrait.
- Delegated work has its own home. Work your lead hands off gets its own threads, folded under the conversation that asked, and one live card in that conversation: who is doing what, Stop while it runs, Approve once or Deny when a worker asks, and See work to unfold each worker's answer and what it did.
- Workers build on each other. When workers run one after another, the next one starts from what the earlier ones returned and the files they saved, and can open those files.
- NEEDS YOU is one list of everything waiting on you. It sits at the top of SESSIONS, and NOTIFICATIONS › NEEDS YOU shows the same list. It holds approvals and questions from your conversations, group chats that need you, delegated work and routine runs that failed, an agent waiting at STEP-IN, extensions to approve, builds to keep or discard, quests an agent says are done and goal-loop results to review. Each one is a row in one quiet NEEDS YOU pan
用户点评
登录用户的真实使用记录,可按版本和硬件筛选还没有人点评。第一个说出真实体验的人最有价值。
A living pixel-art station where real AI agents do real work.
Download · Install guide · Run from source · Docs · Contributing
StarNet is a local-first desktop harness where you create AI agents, organize them into a pixel-art space station, and watch them perform real work with real models and tools. The station is not decoration — it is a projection of live runtime state, and the product contract is literal: A room is a capability-scoped team, a hallway is an authorized handoff lane, and a placed object is a real capability grant. The layout you draw is the workflow the agents run.
Start with one agent, then place bays or summon specialists to run more, concurrently — each a genuinely distinct, bounded agent run with its own workspace and permissions. The harness performs real model calls, real tools, real cost rather than animating a simulation.
Features
| A crew, not a chatbot | Create agents with distinct classes, personas, and loadouts. Run several at once — each gets its own workspace, transcript, memory, and bounded permissions. |
| Bring your own models | Paste an OpenRouter key, or sign in with supported provider accounts (Anthropic, OpenAI, Google) — keys live in the OS keychain, never in the frontend. |
| Message it from anywhere | Wire agents to Telegram, Discord, Slack, Signal, or Matrix and talk to your station away from the desk. |
| Night Shift | Leave the station running and agents keep working inside an explicit, adjustable leash — every away-action is logged and reviewable. |
| Recipes, skills, schedules | Launch proven multi-step recipes, grant reusable skills, and put work on cron schedules with visible output. |
| Asks before it guesses | Task Briefs turn ambiguity into one concrete question with options — over any connected channel — instead of a silent wrong guess. |
| Finished work has a front door | Deliverables land in the OUTBOX as real files you open, not chat scrollback you archaeology. |
| MCP connectors | Attach Model Context Protocol servers and paste-a-key/OAuth connectors to extend what agents can touch. |
| Voice | Push-to-talk dictation in, one consistent station voice out. |
| Real ledgers | Spend, budgets, and run history persist on disk and are shown as-is. |
What is real
- Model calls stream through the local Node sidecar.
- Tools operate through explicit capability and consent checks.
- Agent memory, transcripts, spend records, tasks, and schedules persist on disk.
- Multiple agents run concurrently with separate workspaces and bounded permissions.
- The visual station projects the same runtime state the harness can prove.
StarNet does not simulate revenue, completed work, model activity, or spend. Its core product law is that the interface must never assert state the harness cannot prove.
Download
Desktop builds are published on the StarNet releases page.
| Platform | Asset |
|---|---|
| Windows (10/11, 64-bit) | StarNet_<version>_x64-setup.exe |
| macOS — Apple Silicon (M1 or later) | StarNet_<version>_aarch64.dmg |
| macOS — Intel | StarNet_<version>_x64.dmg |
Apple Silicon note: use the native
aarch64DMG. Avoid thex64DMG on Apple Silicon: it runs under Rosetta 2 rather than using the native architecture.
The public release train supports Windows and macOS. It refuses to stage a release unless the Windows installer passes Authenticode and timestamp verification, both Mac builds pass Developer ID checks and Apple notarization, and every updater artifact has a valid updater signature. Those are pipeline requirements, not proof that a particular downloaded or installed copy was tested on your machine; INSTALL.md explains what to verify and when to stop. Linux packages are internal build artifacts only and are not a supported public release target.
Early release: Windows is the most-tested desktop target. macOS has less real-world coverage. Broken? Tell us: [email protected].
Run from source
Requirements: Node.js 18+ (Node.js 22 matches CI), Git. Rust and the Tauri prerequisites only for the desktop shell.
The sidecar uses Node core modules only, so it runs without installing anything:
git clone https://github.com/androoAGI/starnet.git
cd starnet
node sidecar/index.js
Open http://localhost:8787, then connect a provider — bring your own OpenRouter API key (BYOK) or use a supported OAuth sign-in. Provider requests leave your machine when you run an agent; station state, transcripts, memory, and ledgers stay in the local StarNet workspace unless you explicitly use a network tool or connector. See PRIVACY.md for the full data map.
Run free with a local model
No key, no account, no bill: install Ollama, pull a model
(ollama pull qwen3:8b), and pick OLLAMA as the provider — on the first-run brain screen, or
later in SETTINGS → PROVIDERS. StarNet talks to Ollama on 127.0.0.1:11434 and only reports
it ready once it can list your local models. Pick a model that supports tools (ollama show <model>
lists them): agents act through tool calls. Honest caveat: local models are smaller than the
cloud ones, so expect slower and rougher work on long tasks, and a task needs a large context
window — an 8B model takes about 10 GB of graphics memory while it works.
For desktop development:
npm ci
npm run desktop:dev # dev shell
npm run desktop:build # build installers locally
Terminal mode
The desktop app ships a starnet command beside it. Run it with no arguments and it opens a live
dashboard on the station the app is running: the crew down the left (a spinner on whoever is working),
the chosen agent's conversation beside it, and every approval as a card you answer with y or n
(v shows the full request first). It reads the same state the app does, so it never shows work the
station cannot prove.
StarNet doesn't have to be open. With it closed, starnet starts it in the background: the same station
with your keys (they stay in the app's keychain), and no window opens; the tray icon shows it's running.
When the last starnet session ends it closes again, unless routines are armed or StarNet is set to stay
in the tray (the same as closing its window). Opening StarNet while it runs shows that same station; on
macOS, open it from its menu-bar icon (Open StarNet), since a Dock click doesn't bring that window back yet.
| Platform | The command |
|---|---|
| Windows | %LOCALAPPDATA%\StarNet\bin\starnet.cmd |
| macOS | /Applications/StarNet.app/Contents/Resources/bin/starnet |
So you can just type starnet in a new terminal: the Windows installer puts that folder on your user
PATH (the uninstaller takes it off), and on macOS StarNet links the command into ~/.local/bin the
first time it starts, adding that folder to ~/.zprofile if no shell profile has it yet
(STARNET_NO_CLI_LINK=1 turns that off). Other commands: starnet ls (every agent
and its open asks), starnet approve / starnet deny, starnet watch (the live event stream, one line
each), starnet flow (workflows) and starnet -p "<task>" (one run, answer on stdout).
starnet --help lists them all. From a checkout, use node bin/starnet.js.
Coming from OpenClaw or Hermes?
StarNet can import an existing agent: point it at your on-disk OpenClaw or Hermes home and it mints a StarNet agent from the persona, instructions, memory, and model it finds. API keys never transfer — you re-enter those in CONNECT › ABILITIES › CONNECTED › API KEYS.
Architecture
| Path | Responsibility |
|---|---|
frontend/ | Vanilla JavaScript station world and desktop UI. |
sidecar/ | Local Node agent runtime: providers, tools, persistence, budgets, consent. |
shared/ | Additive cross-boundary event and schema contracts. |
src-tauri/ | Rust/Tauri desktop shell and bundled runtime. |
test/ | Unit, contract, integration, and release gates. |
qa/ | Live QA receipts, journeys, findings ledger, and release-readiness authority. |
The frontend consumes real sidecar events over localhost HTTP/NDJSON and SSE. Secrets belong to the local authority: Secrets are held by the sidecar / OS keychain, never in the frontend.
Start with docs/INDEX.md for the living documentation. Older planning documents remain in the repository as design history and are labeled accordingly.
Testing
npm run test:fast # required merge gate
npm run test:http # live sidecar HTTP/E2E suite
npm test # validation + world + fast + HTTP suites
npm run security:secrets # full-history secret scan; requires Gitleaks in PATH
The release aggregate is npm run qa:ready. It is candidate-bound: any new commit invalidates
the prior READY receipt until the affected live gates are rerun.
Contributing and security
Contributions are welcome — read CONTRIBUTING.md and follow the Code of Conduct.
Do not report vulnerabilities in a public issue. Follow SECURITY.md for private reporting instructions.
License
StarNet is open source under the MIT License. Third-party components remain under their original licenses — see NOTICE.md.
The MIT License covers the code only. The StarNet name, the logo, the station artwork and sprites, and the rest of the project's brand identity are owned by Andrew Sims and are not licensed with it — no trademark or other brand rights are granted, expressly or by implication.
MIT means you may fork, modify, and redistribute the code, including commercially. What you may not do is ship it as StarNet: forks and derivatives must use their own name, logo, and artwork, and must not present themselves as this project or as endorsed by it.