-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path.env.example
More file actions
126 lines (107 loc) · 5.54 KB
/
Copy path.env.example
File metadata and controls
126 lines (107 loc) · 5.54 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
# ============================================================================
# 应用环境配置
# ============================================================================
# 当前仓库的 dev server / smoke 脚本会自动加载当前工作区下的 .env 和 .env.local
# compose.yaml 也会读取当前仓库根目录下的 .env
#
# NODE_ENV:
# - development: 开发模式,启用详细日志、热重载等调试功能
# - production: 生产模式,优化性能,禁用debug信息
NODE_ENV=development
# ============================================================================
# MySQL 配置 —— 核心真相源
# ============================================================================
# MySQL 是整个系统的主要数据库,存储所有持久化数据:
# - Agent session 及其执行历史
# - 用户数据和权限信息
# - LangGraph checkpoints(用于恢复中断的执行)
# - 其他业务数据
#
# MYSQL_HOST: MySQL 服务器地址(IP 或 hostname)
MYSQL_HOST=127.0.0.1
# MYSQL_PORT: MySQL 服务器监听端口,默认是 3306
MYSQL_PORT=3306
# MYSQL_DATABASE: 应用使用的数据库名,系统会自动创建(如果不存在)并应用 schema
MYSQL_DATABASE=agent_ide
# MYSQL_USER: MySQL 用户名,需要有创建数据库和表的权限
MYSQL_USER=root
# MYSQL_PASSWORD: MySQL 用户密码,强烈建议在生产环境提供强密码
MYSQL_PASSWORD=change-me
# MYSQL_POOL_MIN: 连接池的最小连接数
# - 设置过低(如 0)会在没有查询时释放所有连接,适合开发环境
# - 生产环境建议设置为 2-5,保证基础连接复用
MYSQL_POOL_MIN=0
# MYSQL_POOL_MAX: 连接池的最大连接数
# - 限制同时活动的数据库连接数,防止数据库过载
# - 值太小会导致查询排队,值太大会浪费资源
# - 建议根据并发 Agent 执行数设置,一般 5-20 足够
MYSQL_POOL_MAX=10
# ============================================================================
# Redis 配置 —— 热缓存和状态管理
# ============================================================================
# Redis 是一个高性能的内存数据库,负责:
# - Session 摘要缓存(快速查询长对话历史而不需要访问 MySQL)
# - Session lease 和并发控制(防止同一个 session 被多个 Agent 同时执行)
# - 后续队列能力(任务队列、发布-订阅等)
#
# REDIS_HOST: Redis 服务器地址
REDIS_HOST=127.0.0.1
# REDIS_PORT: Redis 服务器监听端口,默认是 6379
REDIS_PORT=6379
# REDIS_USERNAME: Redis 用户名(如果启用了 ACL)
# - Redis 6.0+ 支持 ACL,可以为不同用户设置权限
# - 大多数开发环境不使用 ACL,留空即可
REDIS_USERNAME=
# REDIS_PASSWORD: Redis 访问密码
# - 如果 Redis 没有设置密码保护,留空
# - 生产环境必须设置强密码
REDIS_PASSWORD=
# REDIS_DB: 使用 Redis 的哪个数据库(0-15)
# - 不同的数据库相互隔离
# - 建议为不同的应用/环境使用不同的数据库编号
REDIS_DB=0
# SESSION_SUMMARY_TTL_SECONDS: 会话摘要在缓存中的生存时间(秒)
# - Session 摘要包含最近的对话历史、状态等,用于加速查询
# - 900 秒 = 15 分钟,适合大多数场景
# - 设置太短会导致频繁从 MySQL 重新生成摘要(性能下降)
# - 设置太长会导致摘要过期很晚,占用缓存空间
SESSION_SUMMARY_TTL_SECONDS=900
# SESSION_LEASE_TTL_MS: Session lease 的生存时间(毫秒)
# - 当一个 Agent 开始执行 session 时,会在 Redis 中获得一个"租约"
# - 这个租约防止同一个 session 被多个 Agent 同时执行(并发安全)
# - 30000 ms = 30 秒,足够一个典型的 Agent 步骤执行完毕
# - 如果 Agent 执行时间更长,应该提高这个值
SESSION_LEASE_TTL_MS=30000
# ============================================================================
# MiniMax LLM 模型配置 —— AI 能力集成
# ============================================================================
# MiniMax 是一个文本生成模型服务,提供 Agent 的核心 AI 能力:
# - 理解用户 prompt 和执行上下文
# - 生成 Agent 下一步的行动(如选择工具、决定参数等)
# - 总结执行过程和生成最终结果
#
# MINIMAX_API_KEY: MiniMax API 认证密钥
# - 从 MiniMax 控制台获取,用于所有 API 请求的认证
# - 强烈建议将其存储在 .env.local(不要提交到 git)
MINIMAX_API_KEY=
# MINIMAX_BASE_URL: MiniMax API 服务地址
# - 国际站(默认): https://api.minimax.io/v1
# - 国内环境: https://api.minimaxi.com/v1(需要在国内 IP 环境访问)
# - 选择合适的服务站点可以减少延迟
MINIMAX_BASE_URL=https://api.minimax.io/v1
# MINIMAX_MODEL: 使用的文本模型名称
# - MiniMax-M2.7: 标准模型,成本和性能之间的平衡
# - 还有其他型号可选,具体查看 MiniMax 文档
MINIMAX_MODEL=MiniMax-M2.7
# MINIMAX_TEMPERATURE: 模型生成的随机性
# - 范围: 0 - 1
# - 0.2 (当前): 低随机性,更加确定性和稳定,适合任务执行(推荐)
# - 0.5-0.7: 中等随机性,适合创意任务
# - 接近 1: 高随机性,生成多样化但可能不稳定
# - 对于 Agent 执行任务,建议保持低温度(0.1-0.3)
MINIMAX_TEMPERATURE=0.2
# MINIMAX_TIMEOUT_MS: 调用 MiniMax API 的超时时间(毫秒)
# - 60000 ms = 60 秒,给予充足的时间完成 API 请求
# - 如果经常超时,可能是网络问题或 API 负载过高
# - 如果大多数请求远快于超时,可以降低这个值以检测问题
MINIMAX_TIMEOUT_MS=60000