Skip to content

Zony7/qwen-always-on-memory-agent-standalone

Repository files navigation

Qwen Always-On Memory Agent

一个面向开源的 Python 常驻记忆 Agent。它参考了 Gemini always-on-memory-agent 的设计思路,但把底层模型替换成了阿里云百炼的 Qwen 模型,并去掉了对 Google ADK 的依赖。

特性

  • SQLite 持久化记忆与 consolidation 结果
  • 后台轮询 inbox/ 自动摄取文件
  • 定时 consolidation,主动发现记忆之间的关系
  • FastAPI HTTP 接口
  • 使用百炼 OpenAI 兼容接口调用 Qwen
  • 当前支持文本、Markdown、JSON、CSV、YAML、日志、XML、PDF、图片

为什么默认不用 Coding Plan Key

我阅读了阿里云官方说明后,没有把 coding plan key 作为这个服务的默认运行方式。官方文档说明:

  • Coding Plan Key 面向编程助手和交互式编程工具
  • 不建议把它当成通用后端服务 API Key 长期跑脚本

因此本项目默认使用标准百炼 API Key。你仍然可以自己覆写 MEMORY_API_KEY 做实验,但从可维护性和合规性来说,不建议把 coding plan key 用在这个 24/7 服务上。

快速开始

1. 安装

cd /Users/zonyyueli/generative-ai/qwen-always-on-memory-agent
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

2. 配置环境变量

export MEMORY_API_KEY="你的百炼API Key"
export MEMORY_MODEL="qwen-plus"

可选:

export MEMORY_VISION_MODEL="qwen3-vl-plus"
export MEMORY_DB_PATH="./data/memory.db"
export MEMORY_INBOX_DIR="./inbox"
export MEMORY_PORT="8890"
export MEMORY_CONSOLIDATE_INTERVAL_MINUTES="30"

3. 启动

cp .env.example .env
vi .env
uvicorn memory_agent.api:app --host 0.0.0.0 --port 8890

或者:

python -m memory_agent

HTTP API

  • GET /health
  • GET /status
  • GET /memories
  • POST /ingest
  • POST /query
  • POST /consolidate
  • DELETE /memories/{memory_id}
  • POST /clear

Dashboard

先启动后端:

python -m memory_agent

再启动 Streamlit:

streamlit run dashboard.py

如果后端不在默认地址,可以指定:

MEMORY_AGENT_URL=http://localhost:8890 streamlit run dashboard.py

目录结构

qwen-always-on-memory-agent/
├── README.md
├── dashboard.py
├── requirements.txt
├── analysis/
│   └── gemini_always_on_memory_agent_analysis.md
├── data/
├── inbox/
└── memory_agent/
    ├── __init__.py
    ├── __main__.py
    ├── api.py
    ├── config.py
    ├── db.py
    ├── models.py
    ├── service.py
    └── watcher.py

请求示例

摄取文本

curl -X POST http://localhost:8890/ingest \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Anthropic reports 62% of Claude usage is code-related.",
    "source": "news-note"
  }'

查询记忆

curl -X POST http://localhost:8890/query \
  -H "Content-Type: application/json" \
  -d '{
    "question": "我最近关于 AI Agent 和记忆系统记录了什么?"
  }'

手动 consolidation

curl -X POST http://localhost:8890/consolidate

开源建议

  • 优先把 .env、数据库和 inbox/ 加到 .gitignore
  • 如果后续要补前端,可以单独加 Streamlit 或 React 面板
  • 如果要支持音频/视频,建议新增独立转写和抽帧流水线,而不是把所有逻辑堆进主服务

详细文档

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages