starnet
本地优先的桌面 AI agent 运行环境,把多个 agent 组织成像素风的"空间站",房间、走廊、摆件分别对应能力边界、授权交接和真实工具授权,界面直接投影运行时的实际状态。与多数套壳聊天客户端不同,它强调 real model calls、真实工具调用与真实花费,支持 BYOK(OpenRouter / Anthropic / OpenAI / Google)或通过 Ollama 跑本地模型,每个 agent 有独立工作区、记忆、预算与权限,还带 Night Shift 无人值守、MCP 连接器、多渠道消息接入和 OUTBOX 交付物落地。适合想在一台机器上同时跑多个受控 agent 的开发者。MIT 仅覆盖代码,StarNet 名称、logo 与美术资源保留品牌权利,非商业授权;目前为早期版本,Windows 覆盖较好,macOS 实测较少。
README

一座会运转的像素艺术空间站,真正的 AI agent 在这里做真正的工作。

StarNet 是一个 local-first(本地优先)的桌面端 harness,你可以在其中创建 AI agent,把它们组织进一座像素艺术空间站,并看着它们用真实的模型和工具完成真实的工作。空间站不是装饰——它是运行时实时状态的投影,而且产品约定是字面意义的:一个房间就是一个具备能力边界的团队,一条走廊就是一条经授权的中转通道(handoff lane),一个摆放的物件就是一次真实的能力授予(capability grant)。 你画出来的布局就是 agent 运行的 workflow。
从一个 agent 开始,然后放置 bay 或召唤专家来更多、并发地运行——每一个都是真正独立、有边界的 agent 运行,拥有自己的工作区和权限。 这个 harness 执行的是真实的模型调用、真实的工具、真实的成本,而不是在播放一段模拟动画。
功能
| 是一支团队,不是聊天机器人 | 创建具有不同类别(class)、人设(persona)和装备(loadout)的 agent。同时运行多个——每个都拥有自己的工作区、会话记录、记忆和有边界的权限。 |
| 自带模型(BYOM) | 粘贴一个 OpenRouter key,或使用受支持的 provider 账号登录(Anthropic、OpenAI、Google)——key 存放在操作系统 keychain 中,绝不进入前端。 |
| 随处与它通信 | 把 agent 接入 Telegram、Discord、Slack、Signal 或 Matrix,离开工位也能与你的空间站对话。 |
| Night Shift(夜班) | 让空间站保持运行,agent 会在一条明确、可调整的缰绳内继续工作——每一个离开期间的 action 都会被记录并可审阅。 |
| Recipe、skill、schedule | 启动经过验证的多步 recipe,授予可复用的 skill,把工作挂到 cron 定时任务上,输出可见。 |
| 先问,再猜 | Task Brief 把模糊需求转化为一个带选项的具体问题——可通过任意已接入的渠道——而不是默默做出错误猜测。 |
| 完成的工作有正门入口 | 交付物以真实文件的形式落入 OUTBOX,你直接打开即可,而不用在聊天记录里做考古。 |
| MCP connector | 接入 Model Context Protocol server 以及粘贴 key / OAuth 的 connector,扩展 agent 能触及的范围。 |
| 语音 | 按讲即录(push-to-talk)的听写输入,输出统一为同一种空间站嗓音。 |
| 真实账本 | 支出、预算和运行历史持久化在磁盘上,并如实展示。 |
什么是真实的
- 模型调用通过本地 Node sidecar 流式传输。
- 工具通过明确的能力与授权(consent)检查来操作。
- agent 的记忆、会话记录、支出记录、任务和定时任务都持久化在磁盘上。
- 多个 agent 并发运行,拥有独立的工作区和有边界的权限。
- 可视化空间站投影的是 harness 能够证明的同一份运行时状态。
StarNet 不会模拟营收、已完成的工作、模型活动或支出。它的核心产品法则就是:界面绝不能断言 harness 无法证明的状态。
下载
桌面版构建发布在 StarNet releases 页面。
| 平台 | 资产 |
|---|---|
| Windows(10/11,64 位) | StarNet_<version>_x64-setup.exe |
| macOS — Apple Silicon(M1–M4) | StarNet_<version>_aarch64.dmg |
| macOS — Intel | StarNet_<version>_x64.dmg |
Apple Silicon 提示: 请使用原生的
aarch64DMG。在 Apple Silicon 上避免使用x64DMG: 它会在 Rosetta 2 下运行,而无法使用原生架构。
公开发布流水线支持 Windows 和 macOS。除非 Windows 安装包通过 Authenticode 与时间戳验证、两个 Mac 构建都通过 Developer ID 检查和 Apple 公证、并且每个 updater 产物都有有效的 updater 签名,否则它不会推进一次发布。这些是流水线要求,并不能证明某一份下载或安装的副本在你的机器上经过测试;INSTALL.md 说明了要验证什么,以及何时应当停下。Linux 包仅为内部构建产物,不属于受支持的公开发布目标。
早期版本: Windows 是测试最充分的桌面目标。macOS 的真实世界覆盖较少。有问题? 告诉我们: androo.agi@gmail.com。
从源码运行
要求:Node.js 18+(Node.js 22 与 CI 一致)、Git。Rust 和 Tauri 前置条件仅在运行桌面外壳时需要。
sidecar 只使用 Node 核心模块,因此无需安装任何东西即可运行:
git clone https://github.com/androoAGI/starnet.git
cd starnet
node sidecar/index.js
打开 http://localhost:8787,然后接入一个 provider—— 自带 OpenRouter API key(BYOK) 或使用受支持的 OAuth 登录。运行 agent 时 provider 请求会离开你的机器; 空间站状态、会话记录、记忆和账本除非你显式使用网络工具或 connector,否则都留在本地 StarNet 工作区中。完整的数据流向图见 PRIVACY.md。
用本地模型免费运行
无需 key、无需账号、无需账单:安装 Ollama,拉取一个模型
(ollama pull llama3.1),然后选择 OLLAMA 作为 provider——可以在首次运行的 brain 界面,也可以之后在 SETTINGS → PROVIDERS 中选择。StarNet 通过 127.0.0.1:11434 与 Ollama 通信,并且只有在能够列出你的本地模型后才报告它就绪。坦率的提醒:本地模型比云端模型更小,因此长任务上的表现会更慢、更粗糙。
桌面端开发:
npm ci
npm run desktop:dev # dev shell
npm run desktop:build # build installers locally
从 OpenClaw 或 Hermes 迁移过来?
StarNet 可以导入已有的 agent:把它指向你磁盘上的 OpenClaw 或 Hermes home,它会根据找到的人设、指令、记忆和模型铸造出一个 StarNet agent。API key 从不转移——你需要在 KEYS 标签页中重新输入它们。
架构
| 路径 | 职责 |
|---|---|
frontend/ |
原生 JavaScript 的空间站世界与桌面 UI。 |
sidecar/ |
本地 Node agent 运行时:provider、工具、持久化、预算、授权。 |
shared/ |
增量的跨边界事件与 schema 契约。 |
src-tauri/ |
Rust/Tauri 桌面外壳与打包的运行时。 |
test/ |
单元、契约、集成和发布门禁测试。 |
qa/ |
实况 QA 凭据、journey、发现事项账本和发布就绪判定权。 |
前端通过 localhost HTTP/NDJSON 和 SSE 消费真实的 sidecar 事件。密钥归属于本地权威: 密钥由 sidecar / OS keychain 持有,绝不进入前端。
活的文档请从 docs/INDEX.md 开始。较旧的规划文档作为设计历史保留在仓库中,并有相应标注。
测试
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
发布聚合命令是 npm run qa:ready。它与候选版本绑定:任何新 commit 都会使先前的 READY 凭据失效,直到受影响的实况门禁被重新运行。
贡献与安全
欢迎贡献——请阅读 CONTRIBUTING.md 并遵守 行为准则。
请勿在公开 issue 中报告漏洞。私下报告说明见 SECURITY.md。
许可
StarNet 是在 MIT License 下开源的。第三方组件仍遵循其原始许可——见 NOTICE.md。
MIT License 仅覆盖代码。 StarNet 名称、logo、空间站美术与 sprite,以及项目其余的品牌标识归 Andrew Sims 所有,不随代码一同授权——无论是明示还是暗示,均不授予商标或其他品牌权利。
MIT 意味着你可以 fork、修改并再分发代码,包括用于商业用途。你不能做的是把它作为 StarNet 发布:fork 和衍生作品必须使用自己的名称、logo 和美术资源,且不得自称为本项目或声称获得本项目背书。