|
| 1 | +# RexOS |
| 2 | + |
| 3 | +[English](README.md) | 简体中文 |
| 4 | + |
| 5 | +RexOS 是一个长任务的 Agent OS:持久化记忆、工具沙盒、模型路由,以及一个 Anthropic 风格的 Harness,用于跨多次会话持续推进任务。 |
| 6 | + |
| 7 | +## 状态 |
| 8 | + |
| 9 | +本仓库已用长任务 harness 引导初始化(`features.json`、`init.sh`、`rexos-progress.md`)。推进方式是把每个 feature 的 `passes` 从 `false` 置为 `true`,并保持 checklist 稳定。 |
| 10 | + |
| 11 | +## 安装 |
| 12 | + |
| 13 | +### 方案 A:下载预编译二进制(推荐) |
| 14 | + |
| 15 | +从 GitHub Releases 下载对应你系统的压缩包,解压后把 `rexos`(或 `rexos.exe`)放到 `PATH` 里即可。 |
| 16 | + |
| 17 | +### 方案 B:从源码构建 |
| 18 | + |
| 19 | +```bash |
| 20 | +# 安装到 ~/.cargo/bin(开发推荐) |
| 21 | +cargo install --path crates/rexos-cli --locked |
| 22 | +rexos --help |
| 23 | + |
| 24 | +# 或仅构建本地二进制 |
| 25 | +cargo build --release -p rexos-cli |
| 26 | +./target/release/rexos --help |
| 27 | +``` |
| 28 | + |
| 29 | +## 快速开始(开发) |
| 30 | + |
| 31 | +```bash |
| 32 | +./init.sh |
| 33 | +``` |
| 34 | + |
| 35 | +## 使用 Ollama(OpenAI 兼容) |
| 36 | + |
| 37 | +默认配置会在 `~/.rexos/config.toml` 里把 `ollama` 指向 `http://127.0.0.1:11434/v1`。 |
| 38 | + |
| 39 | +```bash |
| 40 | +# 1) 启动 Ollama |
| 41 | +ollama serve |
| 42 | + |
| 43 | +# 2) 初始化 RexOS(创建 ~/.rexos/config.toml + ~/.rexos/rexos.db) |
| 44 | +rexos init |
| 45 | + |
| 46 | +# 3) 在某个 workspace 目录里运行一次 agent session |
| 47 | +mkdir -p /tmp/rexos-work |
| 48 | +rexos agent run --workspace /tmp/rexos-work --prompt "Create hello.txt with the word hi" |
| 49 | +``` |
| 50 | + |
| 51 | +可选的 Ollama smoke test:`REXOS_OLLAMA_MODEL=<your-model> cargo test -p rexos -- --ignored`。 |
| 52 | + |
| 53 | +## 发版(维护者) |
| 54 | + |
| 55 | +推送一个 `v*` tag 会触发 Release 工作流,构建并把预编译压缩包上传到 GitHub Release。 |
| 56 | + |
| 57 | +```bash |
| 58 | +git tag v0.1.0 |
| 59 | +git push origin v0.1.0 |
| 60 | +``` |
| 61 | + |
| 62 | +## Providers 与路由 |
| 63 | + |
| 64 | +RexOS 通过多种 driver 支持多个 LLM Provider: |
| 65 | +- `openai_compatible`(Ollama / DeepSeek / Kimi / Qwen / GLM / MiniMax / 其它 OpenAI-compatible 网关) |
| 66 | +- `dashscope_native`(阿里云 DashScope Generation API / Qwen 原生) |
| 67 | +- `zhipu_native`(智谱 GLM 原生:auth/token 处理) |
| 68 | +- `minimax_native`(MiniMax 原生 `text/chatcompletion_v2` API) |
| 69 | +- `anthropic`(Claude API + Anthropic-compatible 网关) |
| 70 | +- `gemini`(Google Gemini API) |
| 71 | + |
| 72 | +在 `~/.rexos/config.toml` 中配置 providers,并把不同任务类型路由到 `(provider, model)`: |
| 73 | + |
| 74 | +```toml |
| 75 | +[providers.ollama] |
| 76 | +kind = "openai_compatible" |
| 77 | +base_url = "http://127.0.0.1:11434/v1" |
| 78 | +api_key_env = "" |
| 79 | +default_model = "llama3.2" |
| 80 | + |
| 81 | +[providers.deepseek] |
| 82 | +kind = "openai_compatible" |
| 83 | +base_url = "https://api.deepseek.com" |
| 84 | +api_key_env = "DEEPSEEK_API_KEY" |
| 85 | +default_model = "deepseek-chat" |
| 86 | + |
| 87 | +[router.coding] |
| 88 | +provider = "ollama" |
| 89 | +model = "default" # uses providers.<name>.default_model |
| 90 | +``` |
| 91 | + |
| 92 | +切换 provider:配置对应 provider 的 `api_key_env`(如需),并把 `[router.*]` 指向你想用的 provider;如果 `model = "default"`,RexOS 会使用 `providers.<name>.default_model`。 |
| 93 | + |
| 94 | +内置 presets 包含: |
| 95 | +- `deepseek`(OpenAI-compatible) |
| 96 | +- `kimi` / `kimi_cn`(OpenAI-compatible) |
| 97 | +- `qwen` / `qwen_cn` / `qwen_sg`(OpenAI-compatible) |
| 98 | +- `qwen_native` / `qwen_native_cn` / `qwen_native_sg`(DashScope 原生 API) |
| 99 | +- `glm` / `glm_native`(OpenAI-compatible / 智谱原生) |
| 100 | +- `minimax` / `minimax_native`(OpenAI-compatible / MiniMax 原生) |
| 101 | +- `minimax_anthropic`(Anthropic-compatible 网关) |
| 102 | + |
0 commit comments