# rsios **Repository Path**: uesoft/rsios ## Basic Information - **Project Name**: rsios - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-27 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # rsios — Recursive Self-Improvement OS **性质:** monorepo,Anthropic Agentic Loop 的多种实现横向对比 **目标:** 用同一个 LLM 后端,对比不同实现方案的简洁性 / 可控性 / 可移植性 **运行环境:** WSL2 / Linux(需 GTK3 图形界面支持) ## 设计原则 - **LLM 不动**:所有子项目通过 HTTP 调用同一 LLM 后端(llama.cpp 或 OpenAI 兼容 API) - **VM 可换**:每个子项目用不同的代码执行后端 - **Loop 统一**:所有子项目实现相同的 Anthropic agentic loop - **代码不混**:每个子项目独立 CMakeLists,独立 build/ ## 项目现状 项目已从最初的"5 个 VM 横向对比"规划,演进为以 **aalmt(后端 agent)+ aalmt_chat(前端 UI)** 为主线的开发路径。 | 子项目 | 定位 | 状态 | |--------|------|------| | **aalmt** | 主力后端(libtask 协程 + libcurl,通用工具调用 agent) | 功能完整,**默认构建目标** | | **aalmt_chat** | 主力 GTK3 UI(Scintilla + fcitx5 中文输入) | 功能完整,**默认构建目标** | | aal | 早期原型(单线程 agentic loop + 自研协程) | 已完成,不进默认构建链 | | pfllm | pForth VM 实验(agentic loop + 协作调度器) | 实验性 | | picocllm / mufllm / fllm | 规划中(未落地) | 仅规划 | ## 编译方法 ### 前置条件 ```bash # WSL2 / Linux 环境 sudo apt install cmake gcc make libcurl4-openssl-dev pkg-config sudo apt install libgtk-3-dev libpinyin-dev libstdc++-13-dev # 仅 chat 需要 ``` ### 外部依赖(自动构建或需手动准备) | 依赖 | 用途 | 涉及子项目 | 获取方式 | |------|------|-----------|---------| | **libtask** | 协程库 | aalmt | `build_all.sh` 自动从 Gitee 克隆并构建 | | **Scintilla** | 代码编辑器组件 | aalmt_chat | `build_all.sh` 自动从 SourceForge 下载并构建 | | **libcurl** | HTTP 请求 | aalmt, aalmt_core | `apt install libcurl4-openssl-dev` | ### 快速开始 ```bash # 一键构建所有(aalmt + aalmt_chat) ./build_all.sh all # 仅构建 aalmt ./build_all.sh aalmt # 仅构建 aalmt_chat(需先构建 aalmt) ./build_all.sh chat # 安装依赖并构建外部库(libtask + scintilla) ./build_all.sh deps # 包含早期原型 aal 一起构建 ./build_all.sh all+aal # 清理构建产物 ./build_all.sh clean ``` ### 构建产物 | 产物 | 路径 | 说明 | |------|------|------| | `aalmt` | `aalmt/build/aalmt` | 主力后端 agent(约 134KB) | | `aalmt_chat_gtk` | `aalmt_chat/build/aalmt_chat_gtk` | GTK3 聊天界面(约 1.7MB) | | `libaalmt_core.a` | `aalmt_chat/build/libaalmt_core.a` | 核心静态库 | | `libantidistill.a` | `aalmt_chat/build/libantidistill.a` | 抗蒸馏水印静态库 | | `aal` | `aal/build/aal` | 早期原型(仅 `all+aal` 时构建) | ## 启动方法 ### 1. 启动 LLM 后端 ```bash # 前台运行(Ctrl-C 停止,推荐) ./start_server.sh # 后台运行 ./start_server.sh --bg # 停止 LLM 后端 ./stop_server.sh ``` 默认监听 `127.0.0.1:8080`,使用 `tinyllama-1.1b-chat-v1.0.Q4_K_M.gguf` 模型。 可通过环境变量自定义:`MODEL_NAME`、`PORT`、`NGL`(GPU 层数)。 ### 2. 启动 Chat UI(aalmt_chat_gtk) ```bash # 在 WSL 终端内运行 ./chat.sh ``` > **注意:** WSLg 默认使用 Wayland 后端,但 Scintilla 组件不兼容 Wayland,脚本已强制使用 X11 后端(`GDK_BACKEND=x11`)。 ### 3. 启动 aalmt CLI Agent 模式 ```bash # 本地 llama.cpp 后端 ./aalmt/build/aalmt --agent --llm "local|l|http://127.0.0.1:8080|phi-2" # DeepSeek API(需设置 DEEPSEEK_API_KEY 环境变量) ./aalmt/build/aalmt --agent --llm "ds|o|https://api.deepseek.com/v1/chat/completions|deepseek-chat" # 旧模式:C 代码生成(三选一) ./aalmt/build/aalmt "sum 1 to 100" "5050" # 默认(carry-driven) ./aalmt/build/aalmt --version zp "compute factorial of 5" "120" # 维度扩展 ./aalmt/build/aalmt --version race "sort array" # 多 LLM 并发竞赛 ``` ### 4. 监控 aalmt 状态 ```bash # 一次性查看 ./aalmt_ps.sh # 实时刷新(类似 top) ./aalmt_ps.sh -w ``` ## LLM 后端约定 所有子项目通过 HTTP 调用 LLM 后端(llama.cpp 或 OpenAI 兼容 API): ``` POST http://127.0.0.1:8080/v1/completions {"model":"phi-2.Q4_K_M.gguf", "prompt":"Instruct: ...", "temperature":0, "stop":[...]} ``` Agent 模式支持两种后端类型: - `l` = llamacpp(本地,HTTP 调用) - `o` = OpenAI 兼容(需设置 `DEEPSEEK_API_KEY` 环境变量) ## 架构 ``` ┌────────────────────────────────────────────┐ │ Agent Loop (aalmt) │ │ - 多轮对话 + 工具调用 (6 tools) │ │ - 滚动窗口历史管理 (64 条上限) │ │ - JSON line 协议 (stdin/stdout) │ └────────┬───────────────────┬───────────────┘ ▼ ▼ ┌─────────────────┐ ┌──────────────────────┐ │ LLM 后端 │ │ 工具执行引擎 │ │ HTTP→llama.cpp │ │ Bash / Grep / Edit │ │ 或 OpenAI 兼容 │ │ Write / Read / Web │ └─────────────────┘ └──────────────────────┘ ┌────────────────────────────────────────────┐ │ UI 层 (aalmt_chat_gtk) │ │ - GTK3 + Scintilla 编辑器 │ │ - 长驻 agent 子进程管理 │ │ - fcitx5 中文输入法集成 │ │ - 7 个内置模型 + 自定义模型 │ │ - Slash 命令系统 (/build /run /help) │ └────────────────────────────────────────────┘ ``` ## 设计文档 详见 [docs/](docs/) 目录: | 文档 | 内容 | |------|------| | [design.md](docs/design.md) | 三层架构设计 | | [loop_spec.md](docs/loop_spec.md) | Agentic Loop 规范 | | [agentic_loop_design.md](docs/agentic_loop_design.md) | 核心理论:进位(carry)机制 | | [verification_architecture.md](docs/verification_architecture.md) | 六层验证架构 | | [aal_multitask_design.md](docs/aal_multitask_design.md) | 多任务选型(libtask) | | [agent_upgrade_design.md](aalmt/docs/agent_upgrade_design.md) | agent 化升级设计 | | [vm_multitask_comparison.md](docs/vm_multitask_comparison.md) | Forth vs C 多任务对照 |