{"id":"5b5cdb46-bc71-46aa-8b11-73db26bb8949","slug":"moss-rsi","kind":"mcp","name":"MOSS-RSI","summary":"具备递归自我改进能力的本地 AI Agent 操作系统：微内核 + 模组化架构，运行于 Bun，支持多 LLM 路由、工具调用、MCP 与 Skills 扩展。","owner":"ZCX-Priv","repoUrl":"https://github.com/ZCX-Priv/MOSS-RSI","license":"MIT","licenseTier":"permissive","trust":"community","stars":1,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-08-02T05:06:35.000Z","addedAt":"2026-10-21T21:39:05.664Z","logoUrl":"https://avatars.githubusercontent.com/u/197387035?u=fd18003633178de308e202609e65a0af4935113d&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["utilities"],"tags":["agent","ai","harness","system","bun"],"runtime":"node","local":true,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T21:04:12.192Z","sample":false,"url":"https://conduits.dev/tools/moss-rsi","language":"TypeScript","transports":["stdio"],"install":{"npm":"@solo-thinker/moss"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"<div align=\"center\">\n\n<img src=\"webui/public/MOSS.png\" width=\"150\" alt=\"MOSS Logo\" />\n\n# MOSS\n\n**微内核 · 模块化 · 可扩展的 AI Agent 操作系统**\n\n[![Version: 1.1.0](https://img.shields.io/badge/Version-1.1.0-brightgreen.svg)](#)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Runtime: Bun](https://img.shields.io/badge/Runtime-Bun%20%3E%3D%201.1.0-orange.svg)](https://bun.sh)\n[![UI: React 19](https://img.shields.io/badge/UI-React%2019-61dafb.svg)](https://react.dev)\n[![Language: TypeScript](https://img.shields.io/badge/Language-TypeScript-3178c6.svg)](https://www.typescriptlang.org)\n[![Protocol: MCP](https://img.shields.io/badge/Protocol-MCP-5e5ce6.svg)](https://modelcontextprotocol.io)\n\n</div>\n\n---\n\n> [!WARNING]\n> 尚未完全建造完成，后续破坏性变更较多，请勿用于生产环境！\n\n---\n\n## 简介\n\nMOSS 是一个基于**微内核 + 模组化架构**的本地 AI Agent 应用，运行于 [Bun](https://bun.sh) 运行时之上。它以浏览器 Web UI 作为交互界面，以本地常驻服务作为核心载体，将 LLM 推理、工具执行、上下文管理、持久终端、浏览器/桌面操作、语音输入与任务调度整合为一套完整、可扩展的 Agent 运行环境，并支持局域网与公网隧道远程访问。\n\n内核仅提供配置、事件、服务注册与日志四项基础能力，其余一切功能——从 Agent 引擎、LLM 路由到 HTTP 服务与定时任务——均以模组形式挂载，模组之间通过服务契约（`ServiceRegistry`）与事件总线（`EventBus`）解耦协作。模组由内核静态注册表按固定顺序加载（被依赖者在前），正向初始化、反向销毁。这种架构使 MOSS 既保持核心的精简稳定，又允许通过 Skill 在不触碰内核的情况下持续扩展能力边界。\n\n## 核心特性\n\n- **微内核架构** —— ConfigService / EventBus / ServiceRegistry / Logger 四大核心服务，21 个模组由内核静态注册表按固定顺序加载（被依赖者在前），正向初始化、反向销毁\n- **ReAct Agent 引擎** —— 流式文本与思维链输出、多轮工具调用循环、任务引导/中断、上下文自动压缩与裁剪、工具结果智能折叠\n- **多 LLM Provider 路由** —— 内置 openai-chat / openai-responses / anthropic / gemini 等接口格式，支持 DeepSeek、Anthropic、OpenAI、Gemini、Qwen、GLM、Kimi 等主流模型，按模型自动解析路由，支持 thinking 推理输出\n- **MCP 双向支持** —— 作为客户端接入任意 Model Context Protocol 外部工具服务器；同时通过 `/mcp` 端点与 `moss mcp`（stdio）向外部 Agent 暴露 MOSS 工具\n- **内置工具集** —— 19 个可配置内置工具（read / write / edit / delete / move / copy / glob / grep / terminal / todo / ask / web / skill / mcp / memory / context / automation / browser / computer）+ `use_command` 斜杠命令执行，写操作与命令执行可配置逐次确认\n- **Skills 与自定义命令** —— 以 Markdown + YAML front-matter 定义的可复用技能与斜杠命令，支持用户自定义与热重载\n- **子代理（Subagent）** —— `agent` 工具委派一次性子代理：内置 explorer / planner / coder / reviewer 模板、独立隐藏会话、嵌套深度保护与实时过程卡片\n- **持久终端** —— 原生 PTY 会话：人类经 WebSocket 操作，Agent 经 terminal 工具操作，二者共用同一批终端\n- **浏览器控制** —— Chrome 扩展桥接（CDP）、内置 Chrome、AI 标签页归组与页面操作\n- **桌面操作** —— 集成 cua-driver：后台窗口观察、UIA、截图与输入\n- **语音输入** —— 本地 sherpa-onnx（zipformer / SenseVoice / Whisper）、在线服务商与浏览器 WASM 本地推理\n- **远程访问** —— 局域网直连 + cloudflared 公网隧道，8 位密码鉴权与请求门卫\n- **记忆 / 规则 / 钩子** —— 四层记忆栈（L0-L3）BM25 检索与异步蒸馏；用户规则条件注入；生命周期钩子引擎\n- **上下文工程** —— 拼接、压缩、自愈、预算校准、文件索引与遥测\n- **文件历史** —— 编辑追踪、快照、撤回与恢复\n- **自动化任务** —— 基于 cron 表达式与一次性定时（once）的调度，附带完整运行历史与暂停/恢复控制\n- **现代 Web UI** —— React 19 + shadcn/ui + Tailwind 4，中英双语（i18next），PWA 离线可用，主题/字号/密度可调\n- **安全默认** —— 默认仅绑定 127.0.0.1，支持 Bearer Token 鉴权，敏感工具独立确认开关\n\n## 系统架构\n\n```\n┌─────────────────────────────────────────────────────────┐\n│                     浏览器 (Web UI)                      │\n│      React 19 + shadcn/ui + Tailwind 4 + i18next        │\n└──────────────┬──────────────────────┬───────────────────┘\n               │ HTTP REST (/api/*)    │ WebSocket (/ws)\n               ▼                      ▼\n┌─────────────────────────────────────────────────────────┐\n│                Server 模组 (Bun.serve :7766)             │\n│         HTTP 路由 + WS 处理 + 静态资源服务                │\n└──────────────┬──────────────────────────────────────────┘\n               │ ServiceRegistry 依赖注入\n               ▼\n┌─────────────────────────────────────────────────────────┐\n│                    微内核 (Kernel)                       │\n│  ConfigService │ EventBus │ ServiceRegistry │ Logger     │\n│        静态模块注册表（固定顺序编排生命周期）              │\n└──────────────┬──────────────────────────────────────────┘\n               │ 按固定顺序加载（被依赖者在前）\n               ▼\n┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐\n│  LLM 模组    │ Server 模组  │ Remote 模组  │ Tools 模组   │  MCP 模组    │Computer 模组 │\n│ (多Provider) │  (HTTP+WS)   │ (远程访问)   │(工具+Skill)  │ (双向 MCP)   │ (桌面操作)   │\n└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘\n┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐\n│ Browser 模组 │ Update 模组  │ Filesys 模组 │Terminal 模组 │ Safety 模组  │ Rules 模组   │\n│ (浏览器控制) │ (版本检查)   │  (虚拟FS)    │ (持久终端)   │ (权限决策)   │ (用户规则)   │\n└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘\n┌──────────────┬──────────────┬──────────────┬──────────────┬──────────────┬──────────────┐\n│ Hooks 模组   │ Memory 模组  │ Voice 模组   │Context 模组  │ Agent 模组   │Subagent模组  │\n│ (生命周期)   │ (记忆引擎)   │ (语音识别)   │(上下文引擎)  │(ReAct 引擎)  │ (子代理委派) │\n└──────────────┴──────────────┴──────────────┴──────────────┴──────────────┴──────────────┘\n┌──────────────┬──────────────┬──────────────┐\n│File-history  │ Daemon 模组  │Automation模组│\n│ (文件历史)   │ (PID 维护)   │ (定时任务)   │\n└──────────────┴──────────────┴──────────────┘\n```\n\n**模组一览（21 个，按内核加载顺序）：**\n\n| 模组 | 职责 | 注册的标准服务 |\n|---|---|---|\n| `llm` | 多 Provider 路由与流式调用 | `llm.router` |\n| `server` | HTTP + WebSocket 服务 | `server.instance` |\n| `remote` | 远程访问：局域网直连 / cloudflared 隧道 / 请求门卫 | `remote.service` |\n| `tools` | 内置工具 + Skill/Command 注册表 | `tool.registry`、`skill.registry`、`command.registry` |\n| `mcp` | MCP 客户端管理 + 对外 MCP Server 暴露 | `mcp.manager`、`mcp.task.registry` |\n| `computer` | 集成 cua-driver：后台桌面观察/操作（窗口、UIA、截图、输入） | `computer.service` |\n| `browser` | 浏览器扩展桥接 / 内置 Chrome / AI 标签页 / CDP 操作 | `browser.service` |\n| `update` | npm registry 版本检查 | — |\n| `filesys` | 虚拟文件系统：roots 权限 / 读缓存 / 变更事件 | `file.sys` |\n| `terminal` | 持久终端 PTY 会话管理 + 输出缓冲 + 状态 | `terminal.service` |\n| `safety` | 统一权限决策 + 会话规则 | `safety.service` |\n| `rules` | 用户规则引擎（存储 / 加载 / 条件注入） | `rules.engine` |\n| `hooks` | 生命周期钩子引擎 | `hooks.engine` |\n| `memory` | 记忆引擎（存储 / 检索 / 蒸馏） | `memory.engine` |\n| `voice` | 语音识别（本地 sherpa-onnx / 在线服务商 / WASM） | `voice.service` |\n| `context` | 上下文引擎（拼接 / 压缩 / 自愈 / 遥测 / 文件索引） | `context.engine` |\n| `agent` | ReAct 循环、会话与任务管理、事件流 | `agent.engine` |\n| `subagent` | Agent 注册表 + 一次性子代理运行 | `agent.registry`、`subagent.runner` |\n| `file-history` | 文件历史（编辑追踪 / 快照 / 回滚） | `file.history` |\n| `daemon` | 运行时 PID 文件维护 + 优雅退出 | — |\n| `automation` | cron / once 定时任务调度 | `automation.service` |\n\n内核自身另注册 `kernel.config`、`kernel.logger`、`kernel.modules` 三个基础服务。\n\n## 快速开始\n\n### 环境要求\n\n| 依赖 | 版本 | 用途 |\n|---|---|---|\n| [Bun](https://bun.sh) | >= 1.1.0 | 后端运行时与测试 |\n| [Node.js](https://nodejs.org) + npm | >= 18 | 前端依赖管理与开发工具链 |\n\n### 安装\n\n```bash\n# 克隆仓库\ngit clone <repository-url>\ncd MOSS-OS\n\n# 安装后端依赖\nnpm install\n\n# 安装前端依赖\ncd webui\nnpm install\ncd ..\n```\n\n> 浏览器扩展、语音模型与 cua-driver 均为按需启用：扩展可经 Web UI「设置 → 浏览器」打开扩展目录后手动加载；语音模型在设置中下载到 `~/.moss/models/asr/`；桌面操作在首次使用时由 computer 模组探测/安装驱动程序。\n\n### 首次配置\n\nMOSS 首次启动会自动在 `~/.moss/config/` 下生成配置模板（`api.json` 模板中 `providers` 为空数组）。编辑 `~/.moss/config/api.json`，按以下结构添加至少一个 Provider 并填入 API Key：\n\n```json\n{\n  \"version\": 2,\n  \"providers\": [\n    {\n      \"id\": \"provider_0001\",\n      \"name\": \"DeepSeek\",\n      \"format\": \"openai-chat\",\n      \"endpoint\": \"https://api.deepseek.com\",\n      \"apiKey\": \"<你的 API Key>\",\n      \"models\": [\n        {\n          \"id\": \"model_0001\",\n          \"name\": \"DeepSeek Chat\",\n          \"model\": \"deepseek-chat\",\n          \"thinking\": { \"enabled\": false }\n        },\n        {\n          \"id\": \"model_0002\",\n          \"name\": \"DeepSeek Reasoner\",\n          \"model\": \"deepseek-reasoner\",\n          \"thinking\": { \"enabled\": true, \"effort\": \"high\" }\n        }\n      ]\n    }\n  ]\n}\n```\n\n其中 `models` 为对象数组，每个模型含 `id`（内部唯一标识）、`name`（显示名）、`model`（发送给 API 的模型名）与模型级 `thinking` 配置。\n\n配置保存后无需重启，内核监听文件变更并自动热重载。\n\n### 启动\n\n```bash\n# 前台运行（推荐首次使用，日志直接输出）\nnpm run start\n\n# 或以守护进程方式后台运行\nnpm run start:daemon\n```\n\n启动后访问 **http://127.0.0.1:7766** 即可使用 Web UI。\n\n## CLI 命令\n\n```bash\nmoss start [--foreground]   # 启动服务（--foreground 前台运行，默认守护进程）\nmoss stop                   # 停止守护进程\nmoss status                 # 查看运行状态\nmoss restart                # 重启服务\nmoss mcp                    # 以 stdio 方式运行 MCP Server（供 Claude Desktop / Cursor 等调用）\nmoss update                 # 更新版本\nmoss version                # 查看当前版本\n```\n\n等价的 npm scripts 亦可使用：`npm run start / stop / status / restart / update / version`。\n\n## 配置\n\n所有配置与用户数据位于 `~/.moss/`：\n\n| 文件 | 职责 |\n|---|---|\n| `~/.moss/config/config.json` | 应用配置：服务端口、守护进程、Agent 参数、工具开关、安全策略、远程访问、语音等 |\n| `~/.moss/config/api.json` | 模型配置：Provider 列表、API Key、模型与 thinking 参数 |\n\n**AppConfig 配置段：**\n\n| 配置段 | 职责 |\n|---|---|\n| `server` | host / port / autoPort / locale |\n| `daemon` | 是否以守护进程方式运行 |\n| `logs` | 日志级别、保留天数、单文件大小 |\n| `update` | 自动检查、channel（stable/beta）、检查间隔 |\n| `agent` | 默认模型、maxTokens、maxTurns（0 = 不限轮）、工作目录、SSE 空闲超时 |\n| `tools` | 各内置工具开关与确认策略（由工具目录下 `tool.json` 自动生成 schema） |\n| `mcpServers` / `mcp` / `mcpServer` | 外部 MCP 服务器、客户端选项、对外 MCP Server 暴露 |\n| `skills` / `commands` | Skill 与自定义斜杠命令的启停 |\n| `security` | `authToken`、`bindLocalhostOnly` |\n| `remote` | 远程访问总开关、局域网开关、密码开关、IP 覆盖 |\n| `fileHistory` | 文件历史备份数量、保留天数、转录开关 |\n| `filesys` | 授权 roots、读缓存上限、终端命令快照检测 |\n| `safety` | 默认权限模式、确认超时、危险命令拦截、规则与保护路径 |\n| `context` | 上下文压缩/修剪/自愈/遥测参数 |\n| `web` | 默认联网搜索服务商 |\n| `voice` | 语音输入开关、服务商、本地模型、语言 |\n\n**支持的 Provider 接口格式：**\n\n| format | 示例 endpoint | thinking 支持 |\n|---|---|---|\n| `openai-chat` | `https://api.openai.com/v1` | 否 |\n| `openai-responses` | `https://api.openai.com/v1` | 是（effort） |\n| `anthropic` | `https://api.anthropic.com/v1` | 是（effort + budgetTokens） |\n| `gemini` | `https://generativelanguage.googleapis.com/v1beta` | 是（budgetTokens） |\n\n常用配置项（`config.json`）示例：\n\n```json\n{\n  \"server\": { \"host\": \"127.0.0.1\", \"port\": 7766 },\n  \"agent\": { \"defaultModel\": \"deepseek-chat\", \"maxTokens\": 8192 },\n  \"security\": { \"authToken\": \"\", \"bindLocalhostOnly\": true },\n  \"remote\": { \"enabled\": false, \"lanEnabled\": true },\n  \"voice\": { \"enabled\": false, \"language\": \"auto\" }\n}\n```\n\n- `security.authToken`：非空时所有 HTTP 请求需携带 `Authorization: Bearer <token>`\n- `tools.*.requireConfirmation`：为 `write` / `delete` / `terminal` 等敏感工具启用逐次确认\n- `remote.enabled`：开启后主服务绑定 `0.0.0.0` 并启用请求门卫（详见 [架构文档](docs/architecture.md)）\n- 配置文件变更后 300ms 防抖自动重载，无需重启服务\n\n## 技术栈\n\n| 层 | 技术 |\n|---|---|\n| 后端运行时 | Bun + TypeScript |\n| 内核 | 自研微内核（Zod 配置校验、fs.watch 热重载、静态注册表固定顺序加载） |\n| LLM 接入 | openai-chat / openai-responses / anthropic / gemini 格式，流式 SSE |\n| 工具协议 | Model Context Protocol (MCP) SDK（客户端 + 服务端） |\n| 终端 | 原生 PTY + @xterm/headless（服务端）/ @xterm/xterm（前端） |\n| 浏览器 | Chrome DevTools Protocol、Chrome for Testing、Manifest V3 扩展 |\n| 桌面操作 | cua-driver（窗口 / UIA / 截图 / 输入） |\n| 语音 | sherpa-onnx（本地）、在线 ASR 服务商、WebAssembly 浏览器推理 |\n| 前端框架 | React 19 + React Router 7 |\n| UI 组件 | shadcn/ui + Radix UI + Tailwind CSS 4 + Lucide Icons |\n| 状态与数据 | Zustand + idb（IndexedDB） |\n| 可视化 | Three.js / React Three Fiber、Mermaid、Shiki、KaTeX |\n| 构建工具 | Vite 8（前端）、bun build（后端单文件打包） |\n| 国际化 | i18next（中文 / English） |\n\n## 项目结构\n\n```\nMOSS/\n├── webui/                       # 前端（React 19 + shadcn/ui）\n│   └── src/\n│       ├── api/                 # HTTP + WS 客户端封装\n│       ├── components/          # UI 组件\n│       ├── hooks/               # 业务 hooks\n│       ├── store/               # 全局状态\n│       ├── i18n/                # 国际化（zh/en）\n│       └── types/               # 前后端共享类型\n├── src/\n│   ├── main.ts                  # 入口：CLI 解析 + 启动 Kernel\n│   ├── cli/                     # CLI 命令实现\n│   ├── core/                    # 微内核（kernel/config/event-bus/...）\n│   ├── modules/                 # 21 个模组（agent/subagent/automation/browser/\n│   │                            #   computer/context/daemon/file-history/filesys/\n│   │                            #   hooks/llm/mcp/memory/remote/rules/safety/\n│   │                            #   server/terminal/tools/update/voice）\n│   └── utils/                   # 通用工具\n├── browser-extension/           # Chrome 扩展（MOSS Browser Bridge，Manifest V3）\n├── agent/prompts/main/          # Agent 系统提示词（.md）\n├── skills/                      # Skill 定义（.md + YAML front-matter，首次启动播种到 ~/.moss/skills/）\n├── config/                      # 配置模板\n├── docs/                        # 架构与 API 文档\n├── scripts/                     # 构建/开发脚本（build/dev/install-webui/rebrand-icons）\n└── bin/moss.js                  # CLI 入口\n```\n\n## 开发指南\n\n### 开发模式\n\n```bash\nnpm run dev\n```\n\n并行启动：\n\n- 后端：`bun run --watch src/main.ts start --foreground --log-level debug`，监听 **7766** 端口，文件改动自动重启\n- 前端：Vite dev server，监听 **3000** 端口，`/api` 与 `/ws` 自动代理到后端\n\n访问 http://localhost:3000 进行开发调试，`Ctrl+C` 优雅退出全部子进程。\n\n### 构建与测试\n\n```bash\nnpm run build          # 构建后端（dist/server.js）+ 前端（dist/webui/）\nnpm run build:ui       # 仅构建前端\nnpm run build:backend  # 仅构建后端\nnpm run test           # 运行测试（bun test，当前 41 个单元测试）\nnpm run test:watch     # 监听模式测试\nnpm run typecheck      # TypeScript 类型检查（tsc --noEmit）\n```\n\n## 扩展体系\n\nMOSS 提供两种扩展方式：\n\n| 类型 | 位置 | 清单 | 上下文 | 权限 |\n|---|---|---|---|---|\n| **模组 (Module)** | `src/modules/*/` | —（内核静态 import 编排） | `ModuleContext` | 可注册受保护服务 |\n| **Skill** | `~/.moss/skills/`（唯一加载源；包内 `skills/` 仅首次启动播种） | YAML front-matter | 工具调用 | Agent 按需加载执行 |\n\n模组由内核静态注册表按固定顺序加载（被依赖者在前），新增模组需修改 `src/core/kernel.ts` 的 `MODULE_FACTORIES` 注册表。\n\n## 文档\n\n- [系统架构详述](docs/architecture.md) —— 微内核、模组系统、Agent 工作流、远程访问、数据持久化\n- [前后端 API 对接](docs/frontend-backend-api.md) —— REST 接口与 WebSocket 协议细节\n\n## License\n\n本项目基于 [MIT License](LICENSE) 开源。\n"}