refactor: Agent 配置硬编码化、压缩系统不可变重构、前端组件化与安全硬化

- AgentConfig: 移除 10+ 个环境变量读取,仅保留 TOKEN_SOFT/HARD_LIMIT 两个
    可调参数,context_char_limit 替换为统一的 token_soft_limit 阈值
  - compact: find_safe_cut_point 重写为 HashSet O(n) 算法,
    micro_compact 改为不可变风格,compress_context 签名升级为
    token_soft_limit + max_messages 双参数,新增 COMPACTION_OUTPUT_RESERVE
  - modes: ModeConfig.max_steps/tool_timeout_secs 去 Optional 化,
    Deep Research 步数 16→100,Literature Reader 步数 6→25
  - dashboard: 提取 AgentMarkdown/ThoughtCard/ToolCallCard/AnswerCard/
    SubAgentContainer 等共享组件,ResearchAgentPanel 大幅瘦身,
    交互卡片重构为 console-panel 紧凑风格
  - security: 移除 HERMES_YOLO_MODE、AGENT_BLOCK_NETWORK 开关、
    AGENT_CHECKPOINT_ENABLED 开关,关键安全机制强制启用
This commit is contained in:
fmq
2026-06-25 00:49:45 +08:00
parent 85b6429c30
commit b11b8ad015
37 changed files with 1981 additions and 1475 deletions
+10 -15
View File
@@ -94,21 +94,10 @@ LOG_DIR=./logs
# 6. Agent 运行时参数
# ─────────────────────────────────────────────────────────────────────────────
# 最大 ReAct 推理步数(默认 8
# AGENT_MAX_STEPS=8
# 单个工具执行超时秒数(默认 120
# AGENT_TOOL_TIMEOUT_SECS=120
# 工具输出截断字符数(默认 4000)
# AGENT_MAX_TOOL_OUTPUT_CHARS=4000
# 上下文触发压缩的字符阈值(默认 16000)
# AGENT_CONTEXT_CHAR_LIMIT=16000
# Token 软限制:触发渐进式提醒(默认 32000)
# AGENT_TOKEN_SOFT_LIMIT=32000
# Token 硬限制:触发强制压缩或终止(默认 40000)
# AGENT_TOKEN_HARD_LIMIT=40000
# 触发 snip 压缩的最大消息数(默认 50)
# AGENT_MAX_MESSAGES=50
# Token 软限制:统一压缩触发阈值(默认 80000
# AGENT_TOKEN_SOFT_LIMIT=80000
# Token 硬限制:触发强制压缩或终止(默认 100000
# AGENT_TOKEN_HARD_LIMIT=100000
# ── 权限系统 ──
# Agent 工具权限规则(逗号分隔,支持内容级匹配 "ToolName(pattern)"
@@ -134,6 +123,12 @@ LOG_DIR=./logs
# 询问规则(逗号分隔,需用户确认)
# AGENT_PERMISSIONS_ASK=run_bash,file_write,file_edit,download_paper
# 附加文件访问目录(逗号分隔,扩展 Agent 工作沙箱范围,默认空=仅工作目录)
# AGENT_ADDITIONAL_DIRS=/data,/tmp/astro
# 子代理工具白名单(逗号分隔工具名,空=继承父代理全部工具,可选)
# AGENT_SUBAGENT_ALLOWED_TOOLS=read_file,grep_files,search_papers
# ─────────────────────────────────────────────────────────────────────────────
# 7. 自动记忆提取(实验性功能,同时控制压缩记忆桥接 P3)
# ─────────────────────────────────────────────────────────────────────────────