Skip to content

Lin-A1/myagent

Repository files navigation

🤖 MyAgent

记忆驱动的自主 AI 智能体

Python 3.10+ MCP License: MIT FastAPI


一个基于大语言模型、具备长期记忆与上下文压缩、支持基于 MCP 协议扩展的系统级 AI Agent。

中文 | English


⚡ 核心技术特性

MyAgent 摒弃了花哨的提示词堆砌,专注于底层的工程化实现与代理能力扩展:

  • 四层混合记忆架构 (Hybrid Memory Architecture):采用 SQLite (关系型) + ChromaDB (向量型) 混合存储。实现了包括短期对话上下文、长期的知识沉淀(Knowledge)、不可变的用户画像(Profile)以及任务历史(Task)的生命周期隔离与协同。
  • 基于遗忘算法的存储分配:通过内置的 Decay 遗忘机制引擎定期清理/折叠低价值记忆(核心公式 Score = Importance × AccessFreq × e^(-λ×Time) × TypeCoeff),防止向量空间的数据污染。
  • 动态上下文压缩 (Context Compression):设计了滑动窗口与高频摘要合并策略,突破大模型 Context Window 长度限制,用较低的 Token 消耗率维持深度对话树。
  • MCP (Model Context Protocol) 原生支持:实现了一套符合标准规范的通信中间件,支持通过 STDIO 及 SSE 动态挂载、卸载本地或远端的外部工具集,从而安全且无缝地与外部系统交互。
  • 意图路由与技能分发 (Skill Dispatching):内置基于 YAML + Markdown 的声明式轻量化本地插件系统。Agent 会前置执行意图识别(Intent Recognition),按需懒加载 (Lazy Load) 执行环境与专属工具链。

🏗️ 系统架构设计

系统遵循领域驱动设计 (DDD) 原则与整洁架构 (Clean Architecture),确保各种基础服务和模型接口的高度解耦:

┌─────────────────────────────────────────────────────────────┐
│                    Interface Layer                           │
│               CLI (Textual TUI) │ REST API (FastAPI)        │
├─────────────────────────────────────────────────────────────┤
│                   Application Layer                          │
│  AgentService ─┬─ SkillDispatcher (渐进式意图识别与Skill管理) │
│                ├─ MemoryManager   (分级记忆管理与召回优化)  │
│                ├─ ContextCompressor (滑动窗口与摘要归零)    │
│                └─ LLM Core Engine (流式解析与 Tool Loop)    │
├─────────────────────────────────────────────────────────────┤
│                     Core Layer                               │
│  Entities (Memory/Message) │ Interfaces │ System Prompts     │
├─────────────────────────────────────────────────────────────┤
│                 Infrastructure Layer                         │
│  SQLite + ChromaDB │ MCP Client Registry │ Forgetting Engine │
└─────────────────────────────────────────────────────────────┘

🚀 快速开始

1. 环境依赖

  • Python 3.10+
  • Node.js 18+ (用于运行 Npm 生态的部分 MCP Tool Servers,如 Playwright 工具等)
  • 需支持 Tool Calling / Function Calling 的任意 OpenAI 兼容模型 API (如 gpt-4o, claude-3-5-sonnet, deepseek-chat)

2. 下载与安装

推荐使用 uv 工具进行极速的 Python 依赖隔离和安装:

git clone https://github.com/Lin-A1/myagent.git
cd myagent

# 安装 Python 核心依赖和本体模块
uv sync
# (后备方案:pip install -e .)

# 安装前端/MCP 插件相关依赖
npm install

浏览器扩展(可选)

如需 Agent 直接操作你正在使用的浏览器(复用已登录的会话和 Cookies),请在 Chrome/Edge 中安装 Playwright MCP Bridge 扩展。

3. 环境与模型配置

复制提供的环境变量模板文件,配置模型与数据库信息:

cp .env.example .env

.env 核心配置项说明:

  • LLM_API_KEY: 必填,大模型推理 API Key。
  • LLM_BASE_URL: 必填,符合 OpenAI 标准的接口 URL (默认 https://api.openai.com/v1)。
  • LLM_MODEL: 需要调用的基座模型名称。
  • DATABASE_URL: 关系型数据库连接驱动配置(支持异步驱动引擎)。

4. 启动服务

由底层统一提供了标准控制台及 REST 服务网关两种交互形式:

# 方式一:进入基于 Textual 驱动的高级 TUI 终端模式
myagent

# 方式二:以后台守护进程 / Web API 模式启动 (默认监听 0.0.0.0:8000)
python -m myagent.interface.api

🧩 扩展组件体系

接入标准 MCP Server 工具

MyAgent 能够零代码集成外部 MCP Server。只需修改工程目录中的 mcp_servers/mcp_servers.json 即可进行声明式接入:

{
  "mcpServers": {
    "sqlite-tool": {
      "command": "uvx",
      "args": ["mcp-server-sqlite", "--db-path", "./storage/db/myagent.db"],
      "autoConnect": true
    }
  }
}

编写本地 Agent Skill

你可以通过在 skills/ 目录下放置 SKILL.md,使用知识图谱和结构化标签定义智能体在特定业务上的操作约束:

---
name: backend-tester
description: 评估和执行后端的单元与接口集成测试
version: "1.0.0"
---
# Action Constraints
1. 必须在 ./tests/ 层级目录下通过 Pytest 执行验证
2. 不允许直接发起未经 Mock 确认的 DB Write 操作

📁 源码架构目录

myagent/
├── myagent/
│   ├── config/             # DI 依赖注入容器及 Pydantic Settings 解析
│   ├── core/               # 领域模型定义及 Prompt 模板池
│   ├── infrastructure/     # 底层驱动 (LLM 网关, DB/Vector 操作逻辑)
│   └── interface/          # 表现层级 (CLI TUI / FastAPI)
├── skills/                 # 本地 YAML/Markdown 混合驱动的技能包
├── mcp_servers/            # 第三方 MCP Server 声明式配置表
├── storage/                # 本地持久化产生的数据卷 (SQLITE / ChromaDB)
└── tests/                  # Pytest 单元与集成测试套件用例库

🗺️ 发展路线图 (Roadmap)

  • 多层级记忆持久化设计与向量存储接入
  • 基于 React (Reason + Act) 的工具调用循环及熔断机制
  • 标准 Textual TUI CLI 终端构建
  • Model Context Protocol 底层适配开发及会话隔离管理
  • 分布式运行状态管理支持 (Redis 存储后端增强)
  • 对复杂客户端的高级自动化接管机制 (基于 Playwright 视觉增强引擎)
  • 针对长文本分析和 RAG 流程的知识库微调管理工具

📚 开发手册深度探究

深入了解系统底层,欢迎参阅文档:


🤝 参与项目建设

欢迎在 GitHub 上提交 Issue 和 Pull Request,共同探索工程化智能体架构的前沿。了解详细流程,请查阅 CONTRIBUTING.md

📄 开源许可 (License)

本项目代码与协议均基于 MIT License 开源发布。

About

MyAgent - Personal Assistant Agent

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors