双模型 Agent 框架 — 一个执行,一个学习。面向国产大模型
Project description
🌌 Aether v0.10.0
双模型 Agent — 一个执行,一个学习。
面向国产大模型的开源 AI 助手。终端里跑,越用越强。
执行模型只管干活。Observer 观测模型观察执行过程,自动反思、固化 Skill、更新记忆。两个模型、一根管道、互不打扰。
🚀 安装
pip install yaping-aether
aether # 首次运行自动配置
🏗️ 架构
Observer(观测模型)
qwen-turbo / 便宜模型
独立上下文,只做反思
↑
观察 execution trace
│
┌────────────────────┼────────────────────┐
│ │ │
main auditor analyst
(全工具 15个) (只读 6个) (数据+决策 5个)
执行模型 代码审计 Agent 数据分析 Agent
DeepSeek-V4 独立模型/工具集 独立模型/工具集
│ │ │
│ delegate_to() │ │
├──"审查代码"────────▶│ │
│ │ │
│ delegate_to() │ │
├──"分析数据"────────┼───────────────────▶│
关键设计决策:
| 设计 | 说明 |
|---|---|
| 双模型分离 | 执行模型用最强的(DeepSeek-V4),观测模型用最便宜的(qwen-turbo ¥0.3/M)。各管各的上下文,互不挤占 |
| 委派不由框架决定 | 主 Agent 通过 delegate_to() 工具自行决定何时委派给 auditor 或 analyst,不走硬路由 |
| 专业 Agent 权限隔离 | auditor 只有只读文件工具,analyst 只有数据工具——各自碰不到对方的领域 |
| Observer 跨 Agent 观察 | Observer 收所有 Agent 的 execution trace,能识别跨 Agent 的执行模式 |
✨ 特性
核心闭环
- 🧠 Observer 自主学习 — 任务完成后自动反思执行链,判断是否值得固化为 Skill
- 📦 自动 Skill 生成 — 不需要手动写 Skill,Observer 观察到可复用的步骤模式后自动创建
- 🔍 主动记忆检索 — Agent 执行中可调用
search_memory()主动查找过往经验 - 🎯 人格学习 — 自动分析你的交互风格,调整回复方式
执行能力
- 🇨🇳 国产模型深度适配 — DeepSeek / 通义千问 / 智谱 GLM / 豆包 / Moonshot / Ollama,含价格追踪和 context window 自适应
- 🤝 专业 Agent 委派 —
delegate_to("auditor", ...)或delegate_to("analyst", ...),主 Agent 按需委派 - 🔒 auditor(代码审计) — 只读权限,安全漏洞检测、代码质量审查、最佳实践检查
- 📊 analyst(数据分析+决策) — pandas 分析、可视化、基于数据的产品决策建议
- 🔧 实时切换模型 —
/model deepseek三秒切 - 📋 三种执行模式 — Auto / Plan / Step
基础设施
- 💾 语义缓存 + 上下文压缩 — 相似任务命中缓存,长对话 LLM 摘要压缩
- ⏪ Checkpoint 快照 — 写文件自动备份,
/rewind秒级回滚 - 🔌 MCP 插件 —
.env里一行MCP_SERVERS=接入社区工具 - 🧠 跨会话记忆 — embedding 语义检索,Agent 可主动查记忆
- 📦 Skills 能力包 —
.aether/skills/*.md即插即用(Observer 自动生成 + 手动编写) - 🔒 Docker 沙箱 —
/sandbox on容器隔离
⚡ 快速开始
pip install yaping-aether
aether
首次运行弹出终端配置向导 → 选模型 → 输 Key → 开始对话。
⌨️ 命令
| 命令 | 别名 | 作用 |
|---|---|---|
/mode auto/plan/step |
/m |
切换执行模式 |
/model [名称] |
/md |
查看/切换模型 |
/plan 任务 |
/p |
生成执行计划 |
/usage |
/u |
Token 消耗 |
/status |
/s |
会话状态 |
/compact |
/c |
压缩上下文 |
/memory |
— | 查看记忆 |
/remember 名 描述 |
/rm |
记录记忆 |
/forget 名 |
— | 删除记忆 |
/like / /dislike |
— | 反馈训练 |
/checkpoint |
/cp |
快照列表 |
/rewind [id] |
/w |
回滚快照 |
/sandbox on/off |
/sb |
Docker 沙箱 |
/git |
— | Git 状态 |
/export |
/ex |
导出对话 |
/skill [名] |
/sk |
Skills 管理 |
/config |
— | 查看配置 |
/quit |
/q |
退出 |
🔧 配置
.env 文件:
# 主管模型(执行用最强的)
SUPERVISOR_MODEL=deepseek/deepseek-chat
SUPERVISOR_API_KEY=sk-xxx
# 计划模型(可选,Observer 也用这个。设便宜模型省钱)
PLAN_MODEL=dashscope/qwen-turbo
# 子 Agent 可独立配模型(不配则共用主管模型)
# AUDITOR_MODEL=deepseek/deepseek-chat
# ANALYST_MODEL=dashscope/qwen-max
# MCP 工具(可选)
# MCP_SERVERS=github:npx -y @modelcontextprotocol/server-github
📂 项目结构
src/aether/
├── main.py # CLI 入口 + 事件循环
├── harness.py # 启动流水线(Config→Memory→Skills→MCP→Controller)
├── observer.py # 观测模型(反思执行链 → 生成 Skill)
├── controller.py # 执行控制器(软路由)
├── agent_pool.py # Agent 池(main + auditor + analyst)
├── config.py # 配置管理(三层加载 + 国产模型表)
├── registry.py # 工具注册表(5 个 toolset,15 个工具)
├── compact.py # 上下文压缩(LLM 摘要)
├── memory.py # 记忆系统(embedding 检索 + 关键词回退)
├── learn.py # 人格学习
├── supervisor.py # 计划生成器
├── commands.py # 命令路由表
├── ui.py # 终端渲染 + 输入历史
├── modes.py # 执行模式
├── checkpoint.py # 文件快照
├── sandbox.py # Docker 沙箱
├── session.py # 会话管理
├── mcp.py # MCP 插件加载
├── skill.py # Skills 管理
├── usage.py # Token 追踪
├── toolkit.py # 更新检查 + 通知
├── tools/ # 工具实现
│ ├── file_tools.py # 文件读写/列表/搜索
│ ├── search_tools.py # 网页搜索/URL 抓取
│ ├── create_tools.py # 文章/代码/摘要
│ ├── git_tools.py # Git 状态/提交/日志
│ ├── project_tools.py # 项目地图 + 精准编辑
│ ├── memory_tools.py # 主动记忆检索
│ └── delegate_tools.py # Agent 委派
├── cache/
│ └── semantic_cache.py # 语义缓存
└── templates/ # (已移除)
📄 许可
Apache 2.0
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file yaping_aether-0.10.0-py3-none-any.whl.
File metadata
- Download URL: yaping_aether-0.10.0-py3-none-any.whl
- Upload date:
- Size: 62.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc97be44fc6b4e126388815e66baeee56178c98ee58002c820b3bb178ea0eff8
|
|
| MD5 |
3714e9ffba78f35b809da1fd8b5a6ad3
|
|
| BLAKE2b-256 |
d3eb8eb161385a76473ae083d182d7a2dfeb5be600bb67da89b3c38297389d4f
|