这个项目能做什么
StarNet 是一款本地优先的桌面应用程序,允许您创建 AI 代理,将它们组织到一个像素艺术空间站中,并观察它们使用真实模型和工具执行实际工作。该空间站不仅仅是装饰性的;它是运行时状态的实时投影,其中房间代表按能力划分的团队,走廊是授权的交接通道,放置的物品是真实的能力授权。
主要功能包括:
- 创建多个具有不同类别、角色和配置的代理,每个代理在自己的工作空间中并发运行,并具有受限权限。
- 自带 API 密钥(OpenRouter、Anthropic、OpenAI、Google),安全存储在操作系统钥匙串中;前端从不持有密钥。
- 将代理连接到消息平台,如 Telegram、Discord、Slack、Signal 或 Matrix,以进行远程交互。
- 通过 Ollama 使用本地模型,无需任何 API 密钥或费用。
- 使用 cron 调度任务,启动多步骤配方,并授予可复用的技能。
- 通过任务简报提出澄清问题,而不是猜测。
- 将完成的工作作为真实文件交付到 OUTBOX 目录中。
- 附加模型上下文协议(MCP)服务器以及粘贴密钥/OAuth 连接器,以扩展代理能力。
- 按键通话语音听写和一致的站内语音输出。
- 用于支出、预算、任务历史记录和调度的持久化磁盘账本。
架构分离了关注点:
- `frontend/`:原生 JavaScript 站内世界和桌面 UI。
- `sidecar/`:本地 Node.js 代理运行时,处理提供商、工具、持久化、预算和同意。
- `shared/`:跨边界事件和模式契约。
- `src-tauri/`:Rust/Tauri 桌面外壳和捆绑运行时。
- `test/` 和 `qa/`:单元、契约、集成和发布门测试,以及实时 QA 收据。
公开发布版本支持 Windows 10/11(64 位)和 macOS(Apple Silicon 和 Intel)。Linux 包是内部构建产物,不是支持的公开目标。桌面构建版本发布在 GitHub releases 页面上。
要从源代码运行,您需要 Node.js 18+(Node.js 22 与 CI 匹配)、Git,以及可选的 Rust 和 Tauri 先决条件用于桌面外壳。可以直接使用 `node sidecar/index.js` 启动 sidecar,然后在浏览器中打开 http://localhost:8787。对于开发,请使用 `npm run desktop:dev` 和 `npm run desktop:build`。
测试通过 npm 脚本完成:`npm run test:fast`(必需的合并门)、`npm run test:http`(实时 sidecar HTTP/E2E 套件)、`npm test`(完整验证)和 `npm run security:secrets`(全历史密钥扫描)。发布就绪状态通过 `npm run qa:ready` 验证。
欢迎贡献;请参阅 CONTRIBUTING.md 和行为准则。安全漏洞应按照 SECURITY.md 私下报告。
该项目在 MIT 许可证下开源。许可证仅涵盖代码;StarNet 名称、徽标、站内艺术品和品牌标识归 Andrew Sims 所有,不随代码授权。分叉必须使用自己的名称、徽标和艺术品,并且不得将自己呈现为 StarNet 或声称得到该项目认可。
评论
0 评分人数达到10人后显示
登录后参与讨论。