Skip to content

Repository files navigation

RiceAgent

一个跑在终端里的 AI 编程 Agent:ReAct 主循环 + 计划模式 + 分级权限 + 分层上下文 + 长期记忆 + 多 Agent 协作 + 无头评测。

纯 Python 实现,UI 基于 Textual,模型侧同时适配 Anthropic 协议与 OpenAI 兼容协议,可接 DeepSeek / MiniMax / Ollama 等任意后端。

特性

  • Agent 主循环:流式输出、并行预执行工具、自动重试与上下文压缩(compact)触发链
  • 计划模式:先规划后执行,产出 .riceagent/plans 计划文件并约束写权限边界
  • 分级权限:default / acceptEdits / plan / bypassPermissions 四档 + 危险命令拦截 + 路径沙箱 + 规则引擎
  • 分层上下文:外置存储、摘要压缩、优先级裁剪三管齐下;ContentReplacementState 冻结决策以保住 prompt cache 断点
  • 知识型 Memory + 程序型 Skill:执行后自动沉淀,向量(BGE) + BM25 混合召回(RRF 融合),跨会话复用;Skill 支持安装与按需加载
  • 子 Agent 与团队:AgentTool 派生、共享任务队列认领、in-process / tmux / iTerm2 三种 teammate 后端、Lead 邮箱通信
  • Git Worktree 工作流:隔离改动、合并、清理、PR 前置检查
  • Hooks 引擎:pre_tool_use 等事件上挂载命令,支持条件表达式与拒绝(fail-closed)
  • MCP:接入外部 MCP server(含 mcp__ 前缀工具名识别),并自带一个评审 MCP server
  • 评审机器人:模块地图 → 模块身份 → 模块记忆 → MR diff 评审与自动修复(/review)
  • 可回溯:文件历史快照 + /rewind 三种回退
  • 两种运行形态:TUI 交互;-p 无头模式(text / stream-json NDJSON);--remote 起 WebSocket 服务 + 浏览器 UI

安装

# 需要 Python >= 3.11 与 uv
uv sync                 # 依赖 + 可选检索依赖(chromadb / sentence-transformers / jieba / rank_bm25)
uv run riceagent        # 启动 TUI

配置

在工作目录放 .riceagent/config.yaml(或 ~/.riceagent/config.yaml),该文件已在 .gitignore 中,请勿提交密钥:

providers:
  - name: DeepSeek Flash
    protocol: anthropic            # anthropic | openai-compat
    base_url: https://api.deepseek.com/anthropic
    api_key: ${DEEPSEEK_API_KEY}   # 支持环境变量注入
    model: deepseek-chat
    thinking: true

permission_mode: default

mcp_servers:
  - name: context7
    command: npx
    args: ["-y", "@upstash/context7-mcp"]

使用

riceagent                      # 交互式 TUI
riceagent --mode plan          # 以计划模式启动
riceagent -p "修掉这个报错"     # 无头执行,打印结果
riceagent -p "..." --output-format stream-json   # NDJSON 事件流,便于程序化接入
riceagent --remote             # 浏览器 UI:http://localhost:18888

TUI 内常用斜杠命令:/help /status /plan /permission /sandbox /compact /clear /rewind /memory /skill /mcp /tasks /trace /worktree /review /session

测试与评测

uv run pytest -q               # 750+ 用例

benchmarks/ 下是一套自建的可复现评测体系(任务集在 benchmarks/tasks,跑批与指标在 benchmarks/harness):

uv run python benchmarks/harness/runner.py    # 见 benchmarks/README.md 与 SPEC.md

评测口径、消融实验与结论记录在 benchmarks/ANALYSIS.md。

目录结构

riceagent/
  agent.py          ReAct 主循环与事件
  app.py            Textual TUI
  client.py         Anthropic / OpenAI 兼容协议客户端与上下文窗口解析
  conversation.py   消息编排     context/  压缩与裁剪
  memory/           自动沉淀、召回、融合、整理    skills/  技能加载与执行
  permissions/      模式、危险命令、路径沙箱、规则引擎    sandbox/  bwrap / seatbelt
  teams/            多 Agent 编排(任务认领、邮箱、多后端 spawn)
  tools/            工具注册表与内置工具
  worktree/         Git worktree 生命周期与合并
  review/           评审机器人(模块地图、记忆、门禁、MCP server)
  mcp/              MCP 客户端管理
  commands/         斜杠命令解析与处理器
tests/              单元测试
benchmarks/         任务集 + 无头评测 + 消融分析
scripts/            辅助脚本

更多设计细节见 RICEAGENT.md 与 评审机器人设计.md。

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages