📈 GH Trending Explorer 🎲 Surprise me

← all repos

ztt0216 / MyAgent

git clone https://github.com/ztt0216/MyAgent.git v0.1.0 · 4d ago

从零实现的通用 Agent Runtime:Agent Loop、权限、MCP、子 Agent、上下文折叠与 Skills 自进化

—
stars, 24h
+70
stars, 7 days · #717
+70
stars, 30 days · #3,510
70
★ total · +70% this week
0
forks · 0 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguagePython
LicenseMIT
Created2026-10-16 (4d ago)
Last push4d ago
Watchers0
OwnerUser

GitHub topics

Links

README excerpt
# MyAgent
项目仓库:ztt0216/MyAgent。
MyAgent 是一个基于 Python 实现的通用 **Agent Runtime**。它不是简单的命令行聊天工具,而是一个可运行、可阅读、可扩展的本地 runtime:统一编排模型推理、工具调用、权限控制、长期记忆、Skills、自进化、MCP 外部工具、子 Agent 和会话恢复。
项目重点是 **Harness**。模型只负责推理和提出工具调用意图,真正的环境操作由 Runtime 统一做权限判断、工具执行、结果回写、上下文压缩和经验沉淀。它适合学习通用 Agent 的底层机制,也适合作为个人 Agent、项目分析助手或领域 Agent 的二次开发基础。
## 核心亮点
- **通用 Agent Runtime**:统一编排模型、工具、权限、上下文、Memory、Skills 和外部扩展。
- **完整 Agent Loop**:模型请求、tool call 解析、权限检查、工具执行、tool result 回写、继续推理、会话保存形成闭环。
- **OpenAI / Anthropic 双协议**:支持 OpenAI-compatible 和 Anthropic-compatible 接口。
- **工具系统与权限控制**:支持读写文件、精确编辑、搜索、Shell、Skill 调用、子 Agent 和 MCP 工具;Plan Mode 下阻断写操作和 Shell。
- **Skills 体系**:通过项目级和用户级 `SKILL.md` 保存可复用方法,支持检索、调用、inline / fork 执行和版本化演化。
- **长期 Memory**:按项目路径 hash 隔离记忆,保存用户偏好、项目背景、历史决策和参考资料。
- **Skills 自进化**:从用户反馈中自动抽取可复用规则,新增或合并到 `SKILL.md`。
- **MCP 外部工具扩展**:自研 stdio JSON-RPC MCP Client,把外部 MCP Server 工具包装为 `mcp__server__tool`。
- **子 Agent**:支持 `explore`、`plan`、`general` 以及自定义子 Agent。
- **会话恢复和上下文压缩**:自动保存 session,支持 `--resume`、`/compact`,并对大工具结果做截断或持久化。
## 项目架构
核心运行链路:
 [code] 
## 目录结构
 [code] 
## 快速启动
### 1. 准备环境
推荐环境:
- Python 3.11+
- macOS / Linux
- Git
- ripgrep,可选但推荐
- 一个 OpenAI-compatible 或 Anthropic-compatible 模型接口
安装依赖:
 [code] 
### 2. 配置 `.env`
项目会自动读取当前目录或父目录中的 `.env`。
Anthropic-compatible 示例:
 [code] 
OpenAI-compatible 示例:
 [code] 
也可以使用通用变量:
 [code] 
协议判断规则:
- `API` 或 `--api-base` 路径包含 `/anthropic` 时,按 Anthropic-compatible 调用。
- 否则有 OpenAI base URL 时,按 OpenAI-compatible 调用。
- `--model` 会覆盖 `.env` 中的 `MODEL`。
### 3. 启动 REPL
 [code] 
启动后直接输入任务,例如:
 [code] 
### 4. 执行一次性任务
 [code] 
### 5. 使用 Plan Mode
Plan Mode 适合重构、复杂修复和多文件修改。它会先只读分析和写计划,用户审批后再执行。
 [code] 
REPL 中也可以输入:
 [code] 
### 6. 恢复最近会话
 [code] 
## Skills 自进化
MyAgent 的核心特色是 **Skills 自进化**。它可以从用户明确反馈中抽取未来可复用的规则,并自动新增或合并到项目级或用户级 `SKILL.md`。
### 1. 开启自动自进化
默认 `BEAR_AUTO_SKILL_EVOLUTION` 是开启的。为了明确配置,建议在 `.env` 中写:
 [code] 
含义:
- `BEAR_AUTO_SKILL_EVOLUTION=1`:启用在线 Skill 自进化。
- `BEAR_AUTO_SKILL_TARGET=project`:自动新增的 Skill 写入当前项目 `.bear/skills/`。
如果希望沉淀为所有项目共享的个人 Skill:
 [code] 
对应路径:
 [code] 
### 2. 用允许写入的权限模式启动
后台自动写入 Skill 需要当前权限模式允许写文件。推荐使用:
 [code] 
也可以使用更激进的模式:
 [code] 
不建议长期默认使用 `--yolo`,因为它会跳过确认。日常推荐 `--accept-edits`。
### 3. 给出可复用反馈
自进化不是把每一句话都写成 Skill。它只适合沉淀稳定、明确、未来同类任务仍适用的规则。
不太适合沉淀:
 [code] 
适合沉淀:
 [code] 
适合演化已有 Skill:
 [code] 
### 4. 自进化链路如何工作
 [code] 
核心文件:
 [code] 
审计产物:
 [code] 
## 更多文档
- 从0到1学习了解项目
- 架构设计
- 核心源码阅读指南
- 技术亮点
- Skills自进化逻辑与实现思路
- 评测部分
## 开发与测试
 [code] 
测试不调用模型,覆盖权限模式(plan / acceptEdits / dontAsk)、危险命令检测、权限规则优先级、编辑前必须先读和 mtime 校验、Skill 加载优先级与 BM25 检索。CI 在 Python 3.11 和 3.12 上运行。
欢迎提 Issue 和 Pull Request。提 PR 前请确保 `python -m pytest -q` 通过。
## License
MIT