一个最小可用的控制台营销助手,当前记忆能力基于 SliceMemory 服务。
本项目已移除原先的本地文件记忆读写逻辑(ROLE.md / COMPANY.md / MEMORY.md)。
main.py:程序入口marketing_chan/config.py:环境变量与配置marketing_chan/llm.py:LLM 初始化marketing_chan/chat.py:单会话控制台对话(含工具调用)marketing_chan/memory.py:系统提示词构建marketing_chan/tools.py:SliceMemory HTTP 工具封装
slice_memory_healthz->GET /healthzslice_memory_save->POST /v1/memory/saveslice_memory_search->POST /v1/memory/searchslice_memory_history->GET /v1/memory/historyslice_memory_clear->POST /v1/memory/clear
OPENAI_API_KEY=sk-...
OPENAI_BASE_URL=https://api.openai.com/v1
OPENAI_MODEL=gpt-4o-mini
OPENAI_TEMPERATURE=0
SLICE_MEMORY_BASE_URL=http://localhost:8000
SLICE_MEMORY_DEFAULT_USER_ID=
SLICE_MEMORY_DEFAULT_SESSION_ID=
SLICE_MEMORY_TIMEOUT_SECONDS=10说明:
- 如果
SLICE_MEMORY_DEFAULT_USER_ID/SLICE_MEMORY_DEFAULT_SESSION_ID为空,模型在调用记忆工具前需要先确定这两个参数。 SLICE_MEMORY_TIMEOUT_SECONDS必须大于等于 1。
在控制台输入以下命令可直接管理记忆身份与会话:
/help:显示命令帮助/status:显示当前user_id、session_id/user <user_id>:切换用户 id(自动切到该用户最近会话;若无则创建新会话)/user list:显示已知用户列表/session new [session_id]:新建并切换会话(可不填,自动生成)/session list [user_id]:显示会话 id 列表/session use <session_id>:切换到指定会话
说明:
- 切换
user_id或session_id时,会重置本地对话上下文,避免不同会话内容串线。 - 会话 id 列表是当前进程内记录的“已知会话”列表,不等同于服务端全量列表。
pip install -r requirements.txt将 .env.example 复制为 .env 并填写配置,然后运行:
python main.py