Skip to content

fix: 修改 advanced memory 示例读取环境变量的方式 - #338

Merged
raychen911 merged 1 commit into
mainfrom
feature/advanced_memory_service
Sep 18, 2026
Merged

raychen911 merged 1 commit into
mainfrom
feature/advanced_memory_service

Conversation

@CongkeChen

Copy link
Copy Markdown
Contributor

No description provided.

@helloopenworld

Copy link
Copy Markdown
Contributor

AI Code Review

审查结论

通过

审查范围:5fac61f..64e3999,共 3 个变更文件、3 处单行修改,均为 advanced memory 示例(memory / redis / sql)中 load_dotenv(Path(__file__).with_name(".env"), override=True)load_dotenv(Path(__file__).with_name(".env"))

计划符合性:变更完全符合"修改 advanced memory 示例读取环境变量的方式"的计划意图。git 历史证实 c055310/895fe63 创建示例时即使用默认 override=Falsebf30d82 改为 override=True,本提交将其恢复。

正确性验证:仓库提交的 .envTRPC_AGENT_API_KEY=REDIS_URL= 为空占位符、SQL_URL=sqlite:///advanced-memory-sql-demo.db(演示默认值)。override=True 时这些提交到仓库的占位值会强制覆盖用户 shell/CI 已导出的真实环境变量,导致 agent/config.py/agent.pyif not api_key ... raise ValueError 报错(trpc_agent_sdk 空 key 时抛认证异常),或 SQL 示例忽略用户导出的 MySQL SQL_URL/SQL_IS_ASYNC 而误用 SQLite。改为默认 override=False 后,真实环境变量优先、.env 仅填充缺失变量,正确修复上述问题;无外部环境时 .env 值仍正常生效,校验失败路径(缺少三个 TRPC 变量时 ValueError)与 base 行为一致,无回归。三个示例的行为也与其 README(既支持在 .env 中配置,也支持导出 REDIS_*/MYSQL_*/SQL_URL 等环境变量)以及仓库其余 10 个示例 load_dotenv() 用法一致。

安全性/稳定性:变更仅影响示例脚本的环境变量读取优先级,不涉及框架代码、凭据存储或敏感操作;未引入信息泄露或注入面。

测试影响:除版本号外无其他改动,未修改测试文件;三个示例为手工运行的演示脚本,不在测试套件中。本变更无可行的自动化测试钩子,无测试缺口。

门禁结论:PASSED。未发现由本次变更引入的可操作缺陷(置信度 ≥80 的候选问题为空)。

发现的问题

未发现需要反馈的代码问题。

@raychen911
raychen911 merged commit 46f98c6 into main Sep 18, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants