Skip to content

[扩展方案] 新增 openzep 可选支持(可摆脱 ZEP_API_KEY 额度限制,也兼容原有 Zep Cloud 方案) #183

@N1nEmAn

Description

@N1nEmAn

背景

关注到 MiroFish 项目中依赖 Zep Cloud 的 ZEP_API_KEY 环境变量(即使每月免费额度可支撑简单使用,但仍受额度限制),长期使用或高频率场景下可能面临额度耗尽、配置繁琐的问题。

我的解决方案:OpenZep

我开发的OpenZep完全替代 Zep Cloud 相关能力 ,核心优势针对该痛点:

  1. 🚫 无需配置 ZEP_API_KEY 环境变量,彻底摆脱 Zep Cloud 免费/付费额度限制;
  2. 💯 功能完全对齐项目对 Zep Cloud 的使用场景(已基于 MiroFish 现有逻辑验证兼容);
  3. 📦 接入成本极低,仅需少量代码调整,无需重构核心逻辑;
  4. 🆓 100% 开源免费,无任何隐藏成本或外部服务依赖。
    测试效果见L站帖:MiroFish + OpenZep = 168轮x161个agent,我们全量预测了龙虾的未来趋势

具体适配思路(非强制替换,仅新增可选逻辑)

为兼顾所有用户,适配思路以「新增可选分支」为主,不改动原有 Zep Cloud 逻辑:

  1. 保留项目中「ZEP_API_KEY」环境变量配置及原有 Zep Cloud 调用逻辑;
  2. 新增配置项(如 ZEP_MODE),支持用户指定使用「cloud」(原生 Zep Cloud)或「openzep」(开源方案);
  3. 核心调用逻辑增加分支判断,示例如下:
# 新增可选配置逻辑(不改动原有代码核心)
import os
from zep_python import ZepClient
from openzep import OpenZepClient

zep_mode = os.getenv("ZEP_MODE", "cloud")  # 默认仍使用 Zep Cloud
if zep_mode == "cloud":
    # 保留原有逻辑,满足习惯用 Zep Cloud 的用户
    client = ZepClient(api_key=os.getenv("ZEP_API_KEY"))
else:
    # 可选切换至 openzep,无需 API Key
    client = OpenZepClient()

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions