ResceneAgent
Health Warn
- License — License: MIT
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
ResceneAgent — 前端特化 AI Agent 平台,支持多 Agent 团队协作。内置本地识图模型开箱可用,内嵌终端文件编辑器diff和浏览器自检,自然语言驱动 Vue 前端生成、Chrome CDP 实时预览、MCP 工具编排和 Agent 状态快照恢复。
ResceneAgent
前端特化的多智能体作战平台 —— 把 IDE、终端、浏览器和一支 AI 团队,塞进同一个对话框。
ResceneAgent 以数字生命「Aurora」为核心,将 多 Agent 团队协作、MCP 工具生态、本地多提供方模型路由、内嵌终端 / 文件树 / Diff / 实时浏览器自检 与 面向 AI Agent 的独立记忆 / 状态层 整合进同一条工作流——从需求拆解 → 代码落地 → 运行验证,闭环在聊天框里完成。
不止会聊,更会写、会跑、会验。
核心理念 · AgentFS:给 AI 的写操作加上"事务"
传统 AI 编程最致命的弱点不是写不出代码,而是改坏了收不回:AI 联动改写十个文件,改到第五个崩了,前四个已经脏写进硬盘,没有人能完美回滚。
ResceneAgent 把"文件写操作"从直接的磁盘 IO,重构成一条带隔离、可审计、可回退的事务层——我们称之为 AgentFS:
- 内存快照隔离 —— AI 的每一次改动先落入隔离快照,不立即污染你的项目;
- 原子提交 / 回滚 —— 改动经编译、测试、人工确认后,才一次性刷入磁盘;失败则整体回退,项目完好如初;
- 像素级审计时间线 —— 每一行修改都带着操作来源,可像 Code Review 一样逐条 Approve / Reject;
- 时间旅行调试 —— 沿快照时间线往回跳跃,定位"哪一版还能编译通过"。
- 会话级可视化轨迹 —— 每个聊天会话拥有独立的 AgentFS 修改树;折叠侧栏即可浏览 Agent 留下的 Git 痕迹,点击节点直接查看该时刻的文件 Diff。
思想根基:快照隔离与回退并非新发明,它源自 VFS、Git 与数据库事务等成熟工程范式。ResceneAgent 的真正差异,是把这套能力系统性地做成了面向 AI Agent 的独立写操作事务层——这也是平台最深的护城河。
v1 已落地:每个项目会话(SetWorkdir)自动开辟独立影子 git 仓库(~/rescene_data/agentfs/),与你的项目仓库物理隔离、绝不污染主仓库;每一次文件写操作在落盘前后被捕获为 before/after 快照并提交,形成可 git log / git diff / git checkout 的时间线。审计记录进一步绑定真实聊天会话 ID:切换对话时,界面同步切换到该会话专属的修改历史,不会把不同 Agent 任务的轨迹混在一起。
核心理念 · 记忆 / 状态双轨:让 Agent 不再失业
传统 AI 编程助手每次开新会话都从零开始——上一轮踩过的坑、这个项目做到哪了、用户的偏好,统统忘光。ResceneAgent 把「跨对话记忆」与「跨项目状态」做成了面向 AI Agent 的独立记忆 / 状态层:
- 项目级 workdir + 全局 MEMORY 双轨:
MEMORY.md(~/rescene_data/MEMORY.md)承载用户 / 系统级常驻记忆(身份、偏好、全局决策);workdir.md(~/rescene_data/projects/<项目名>/workdir.md)按项目隔离,记录「这个项目现在在做什么、关键上下文、待办、约定」。两者物理隔离在rescene_data下,不污染你的仓库。 - Agent 自己通过工具主动写入:记忆不是靠 prompt 硬塞,而是 Agent 在对话中通过 MCP 工具(
memory_append/memory_pin/memory_handoff/workdir_write/workdir_append)主动决定「什么值得记住」。只有用户选择记住的内容才落盘,避免把对话垃圾灌进记忆。 - 跨对话持久化:记忆以单文件形式落盘,进程重启后自动重新加载,下一次会话无缝续上。
- 会话开始自动注入上下文:每个工作流启动时,
workdir.md与MEMORY.md无条件拼进系统提示词——Agent 一开口就了解项目概况与历史约定,不再失忆。
思想根基:单文件事实库与「模型主动写、启动时读」的范式并不新奇,它借鉴了笔记软件与 VFS 的成熟思路。ResceneAgent 的差异,是把这套机制系统性地做成了面向 AI Agent 的独立记忆 / 状态层——agent 既是读者也是作者,记忆随工作流自然生长,而非依赖人工维护的外部知识库。
特性一览
AgentFS Trace:会话级 Git 痕迹树
这是 ResceneAgent 面向 AI 编程审计打造的原创交互:侧边栏折叠后,空白区域不再只是导航占位,而是一条持续生长的 AgentFS 竖式快照树。
- 一会话一条轨迹:AgentFS 提交绑定聊天会话 ID;切换会话,修改树随之切换
- 一次写入一个节点:Agent 每次
write_file/edit_file都留下提交节点、文件路径、操作类型、时间与 before/after 哈希 - 实时生长:Agent 工作期间自动轮询,新快照无需刷新页面即可进入时间树
- 悬浮 Diff 卡片:点击任意节点,在树右侧打开玻璃质感预览,展示提交号、增删统计、行号和逐行着色 Diff
- 影子 Git 隔离:所有轨迹来自
~/rescene_data/agentfs/下的独立仓库,不向用户项目写入额外提交 - 时间旅行基础:节点对应真实影子 Git commit,为后续按文件恢复、版本对比和 Agent 行为回放提供稳定锚点
这让用户不必等 Agent 完成后再检查一个巨大的最终 Diff,而能随时回答三个问题:这个 Agent 在当前会话改了什么、按什么顺序改、每一步具体改变了哪些行。
断点续传
工作流每轮自动快照,重启或断网后无缝恢复。
- 每轮工具结果收集后,完整状态(消息历史、已激活工具、TODO 清单、Token 计数)原子写入磁盘
- 后端重启 / SSE 断连后,前端自动检测未完成任务并展示「上次任务未跑完,第 N 轮中断」恢复条
- 恢复时从快照轮次重放完整消息历史,无需从头执行
内嵌终端 + 自定义脚本片段
不是装饰——是真正的 PowerShell 进程,stdin/stdout 通过 OS 管道直连。
- 每个终端会话对应一个独立
powershell.exe进程,关闭面板只断开 SSE,不杀 Shell - 64KB 滚动缓冲区,ANSI 颜色转 HTML,Ctrl+C 中断,命令历史
- 脚本片段面板:保存常用命令片段,一键插入终端,告别重复敲命令
- 嵌入式 Dock 面板布局,与编辑器/文件树/浏览器无缝共存
内置编辑器 + 文件树
嵌入聊天面板的类 VS Code 编辑体验。
- Monaco Editor:语法高亮、多标签页编辑、标签固定到侧栏、右键菜单(固定/关闭)
- 递归文件树:文件夹展开/折叠、文件类型徽章(JS/VUE/PY/PS1/JSON/TXT)、右键复制路径
- 文件搜索:大小写敏感、全词匹配、正则表达式
- 读写通过后端 API 实时同步,Ctrl+S 保存,保存状态指示器
实时渲染调试浏览器
Agent 写完 HTML 后,真实 Chromium 引擎自动渲染——不是 iframe。
- 后端检测到 Agent 改了前端文件 → 自动在 Chrome(CDP 端口 9222)打开新标签页
- 通过 CDP Screencast 抓取 PNG 帧,经 WebSocket 中转回前端面板的
<img>标签 - 两种模式:CDP 真实渲染(优先)/ iframe 降级(CDP 不可用时)
- 导航栏:前进/后退/刷新/URL 输入/移动端视口切换/外部打开
Diff 预览
VS Code 风格的差异查看器,内联于 Agent 工作流。
- 文件列表即时加载(仅元数据),展开时按需获取内容
- 语法高亮:highlight.js 自动检测语言(30+ 语言映射)
- 上下文折叠:仅显示变更行 ±3 行,点击展开全部
- 行号、增删着色、文件状态徽章(M/A/D/R/U)
- 搜索过滤、右键复制完整路径
Agent 消息流式渐变动画
模仿 ChatGPT/Gemini 的逐字渐入效果,带模糊到清晰的过渡。
- 每个新字符独立动画:
opacity: 0 + blur → opacity: 1 + blur(0) - 级联延迟形成「瀑布」渐变尾迹
- 所有参数可调:渐入时长、字符间延迟、最大扫描时间、初始模糊像素
- 动画结束后自动清理 DOM Span,防止性能退化
魔女审判二次元皮肤
不止换色——是覆盖每个 UI 表面的完整「皮肤」系统。
- 6 套主题:矢车菊(蓝)、樱花(粉)、薰衣草(紫)、金盏花(橙)+ 2 套完整皮肤
- 原初审判(魔女审判系列):审判厅/烛火/铁链血迹美学,衬线字体,古卷纹理消息气泡
- 二阶堂希罗(魔女审判系列):红黑洛丽塔风格,彼岸花/蕾丝蝴蝶结,手写字体
- 三档亮度模式(亮色/暗色/跟随系统),20+ CSS 变量运行时注入
- Live2D 看板娘:可拖拽的二次元角色挂件
平台能力
多 Agent 调度
四态机工作流编排:思考 → 意图 → 动作 → 结果。
- 主 Agent + 雨燕(Swift)子 Agent:主 Agent 通过
dispatch_agent派发只读研究任务,子 Agent 并行执行 - 工作流中途转向:用户可在执行过程中注入消息,自动注入下一轮上下文
- 工具审批门控:Ask / Plan / Yolo 三种模式,危险操作需用户确认
- 上下文感知压缩:超过窗口 80% 时自动压缩早期轮次,保留文件路径/行号/标识符
- 任务 TODO 清单:Agent 维护结构化待办,实时便签展示
- 多后端模型路由:自动故障转移,支持 Vision/Reasoning 能力元数据
MCP 富集工具生态
基于 Model Context Protocol 的可扩展工具系统。
- 内置 MCP 工具:文件系统读写、Grep 搜索、Web Fetch、截图/视觉测试、Chrome DevTools 自动化、Shell 执行
- 按需加载:默认仅注入工具名 + 一行描述到上下文,模型调用
load_tools激活完整 Schema,节省 ~91% 静态 Token 预算 - 审批机制:MCP 文件写入、Shell 执行、Chrome 交互等危险工具需用户批准,支持「本次会话不再询问」
技能自学习
工作流成功后自动抽象可复用技能。
- 学习型技能:2 步以上工作流完成后,LLM 异步抽象行动序列为 JSON 技能(名称 + 描述 + 步骤)
- 外部技能导入:支持 Anthropic/Claude 风格的 SKILL.md 文件,YAML 前置元数据
- 索引注入:技能名 + 描述注入系统 Prompt,Agent 按需通过
read_skill获取完整步骤 - 持久化到
./skills/*.json,跨会话可用
记忆 / 状态双轨(详见上文「核心理念」)
Agent 既是记忆的读者也是作者:通过 MCP 工具主动写入 MEMORY.md(全局)与 workdir.md(项目级),跨对话持久化,并在每个工作流启动时自动注入上下文,彻底告别「每次会话从零开始」。
- 全局 MEMORY.md:用户画像、偏好、全局决策,无条件注入系统提示词
- 项目级 workdir.md:按项目隔离的当前状态、待办、约定,会话开始即载入
- 零外部依赖:单文件落盘于
~/rescene_data/,无需额外服务或数据库
企业级安全与校验
AI 编程的安全事故,九成源于"全自动模式下无人看守的破坏性操作"与"写完不验证"。ResceneAgent 把这两道防线做成了平台级强制规范,而非靠 prompt 提醒 agent 自觉——这是它区别于通用编码助手的企业级底色。
不可逆操作零豁免审批
即便是 YOLO 全自动模式(默认对所有危险工具畅通无阻),删除文件 / 删除目录 / 移动文件三类不可逆操作也强制弹审批,绝不静默放行。普通写盘(write/edit/create)仍可畅通,但"改坏了能还原"与"删没了找不回"是两个量级的风险,后者不在 YOLO 的豁免范围内。
收尾强制构建 + 截图校验(Post-Workflow Verification Gate)
验证只在 agent 决定结束对话的那一刻跑一次——不每轮、不每步打扰(避免"动不动就验证"打断思路)。后端在 workflow_done 推送前自动触发:
- 本轮改动了
.go→ 自动go build ./...,结果回传 build 状态 - 本轮改动了前端文件(
.vue/.ts/.html等)→ 自动npm run build,并复用真实 Chromium 渲染截图 - 校验结果作为
verification事件推给前端,附 build 通过状态与预览截图路径
任何环节失败(命令缺失 / 超时 / 构建报错)都只记录状态、绝不阻断对话收尾——校验是加分项,不是阻断项。
AgentFS 审计溯源(见上「核心理念」段)
每一次写操作带着 before/after 哈希、工具来源、会话 ID 落入不可篡改的审计时间线,配合影子 git 仓库,做到"谁在什么时候改了什么、能不能一键回退"全程可审计。
| 功能 | 说明 |
|---|---|
| 多引擎聊天 | DeepSeek / Ollama / Gemini Vision / DS Browser |
| AI 工具系统 | 语义搜索代码、文件读写编辑、命令执行、记忆检索、代码结构查询 |
| 博客 / CMS | 文章 CRUD、标签管理 |
| 电子书管理 | 上传、阅读、翻页效果 |
| 图床 | 上传、标签、OSS、AI 随机推荐 |
| TTS 语音合成 | 文字转语音 |
| Git 集成 | status / add / commit / push |
| Docker 沙箱 | Python / Go / JS / C 代码执行 |
| 视觉预处理 | Gemini 图片理解、AI 生图 |
| 统计仪表盘 | 使用量概览、每日统计、详情 |
| JWT 认证 | 开发模式后门支持 |
系统架构
┌──────────────────────────────────────────────────────────────┐
│ beneficial-belt (Astro + Vue 3 + Naive UI) │
│ 聊天 · 编辑器 · 文件树 · 终端 · 预览浏览器 · Diff · 皮肤系统 │
├──────────────────────────────────────────────────────────────┤
│ main-backend (Go / Gin :8080) │
│ 四态机工作流 · 多Agent调度 · MCP工具 · 技能学习 · 记忆 · CMS │
├──────────────────────────────────────────────────────────────┤
│ AgentFS:会话级快照树 · 影子 Git · Diff 审计 · 时间旅行基础 │
├──────────────────────────────────────────────────────────────┤
│ 记忆层:MEMORY.md(全局) + workdir.md(项目级),单文件落盘 ~/rescene_data/ │
│ 双轨持久化 · 会话开始自动注入上下文 · Agent 主动写入 │
├──────────────────────────────────────────────────────────────┤
│ Ollama / DeepSeek / Gemini (外部 LLM) │
└──────────────────────────────────────────────────────────────┘
仓库结构
re0/
├── main-backend/ # Go 后端服务 (:8080)
│ ├── cmd/server/
│ ├── internal/handler/
│ │ ├── agentfs.go # 会话级影子 Git、审计时间线与 Diff
│ │ ├── agent_workflow_handler.go # 四态机工作流
│ │ ├── browser_preview_tool.go # CDP 实时预览
│ │ ├── terminal_handler.go # 内嵌终端
│ │ ├── mcp_client.go # MCP 客户端
│ │ ├── skill_library.go # 技能自学习
│ │ ├── subagent.go # 雨燕子Agent
│ │ └── workflow_checkpoint.go # 断点续传
│ ├── skills/ # 学习到的技能
│ └── mcp/ # 自研 MCP server(grep/shell/memory…)
├── main-frontend/
│ └── beneficial-belt/ # Astro + Vue 3 前端 (:4321)
│ └── src/components/shanxi/chat/
│ ├── ChatWidget.vue # 主聊天界面
│ ├── CodeEditor.vue # Monaco 编辑器
│ ├── FileToolPanel.vue # 文件树 + 编辑器
│ ├── Terminal.vue # 内嵌终端
│ ├── PreviewBrowser.vue # 实时预览浏览器
│ ├── DiffPanel.vue # Diff 差异查看
│ ├── DiffViewer.vue # 内联 Diff 渲染
│ └── AgentWorkflowPanel.vue # 工作流面板
├── harness/ # Python 脚本(MCP/测试/工具)
└── docs/ # 文档
快速开始
前置依赖
- Go >= 1.26
- Node.js >= 22
- Ollama(本地 LLM,可选)
- Docker(代码沙箱,可选)
后端
cd main-backend
# 配置 .env(ADMIN_PASSWORD, JWT_SECRET, DEEPSEEK_API_KEY 等)
go run cmd/server/main.go
前端
cd main-frontend/beneficial-belt
npm install
npm run dev # http://localhost:4321
记忆能力(双轨)
记忆层随 main-backend 启动自动生效,无需单独部署。默认已通过 mcp.json 注册 memory MCP server,提供 memory_* / workdir_* 工具;MEMORY.md 与 workdir.md 落盘于 ~/rescene_data/,Agent 在对话中主动调用工具写入,并在每个工作流启动时自动注入上下文。
环境变量
| 变量 | 说明 |
|---|---|
ADMIN_PASSWORD |
管理员密码 |
JWT_SECRET |
JWT 签名密钥 |
DEEPSEEK_API_KEY |
DeepSeek API Key |
MCP_CONFIG |
MCP server 配置文件路径(默认 ./mcp.json),记忆服务在此注册 |
RESCENE_DATA_DIR |
记忆 / AgentFS / 会话数据根目录(默认 ~/rescene_data) |
DEV_MODE |
开发模式(true 时任意密码登录) |
许可证
本项目基于 MIT License 开源。
Star History
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found