"不是模型不行,而是上下文堆積或技能噪音導致效率低下。"
Agent Optimize 是一個系統級體檢顧問,幫助你診斷 OpenClaw 的"信息過載"問題,找出拖慢點,提供優化方案,實現系統級瘦身。
症狀:
診斷方法:
bash
# 檢查會話歷史大小
find ~/.openclaw/sessions -name "*.json" -exec wc -l {} \; | sort -rn | head -10
# 檢查記憶文件總大小
du -sh ~/.openclaw/workspace/*/memory/** 2>/dev/null
優化方案:
症狀:
診斷方法:
bash
# 列出所有已安裝技能
find ~/.npm-global/lib/node_modules/openclaw/skills -maxdepth 1 -type d | wc -l
find ~/.openclaw/workspace*/skills -maxdepth 2 -type d | wc -l
# 檢查技能依賴
grep -r "requires" ~/.openclaw/workspace*/skills/*/SKILL.md | head -20
優化方案:
症狀:
診斷方法:
bash
# 查找重複記憶文件
find ~/.openclaw/workspace*/memory -name "*.md" -exec md5sum {} \; | sort | uniq -d
# 檢查記憶文件大小
find ~/.openclaw/workspace*/memory -name "*.md" -exec wc -l {} \; | sort -rn | head -10
優化方案:
症狀:
診斷方法:
bash
# 查找所有配置文件
find ~/.openclaw -name "*.json" -path "*/config*" 2>/dev/null
find ~/.openclaw -name ".env*" 2>/dev/null
# 檢查配置重複
grep -r "model" ~/.openclaw/*.json 2>/dev/null | head -10
優化方案:
bash
# 運行完整診斷
node index.js
# 僅檢查上下文
node index.js --context
# 僅檢查技能
node index.js --skills
# 僅檢查記憶
node index.js --memory
# 僅檢查配置
node index.js --config
# 生成優化報告
node index.js --report
bash
# 深度診斷(更詳細)
node index.js --deep
# 自動應用安全優化
node index.js --auto-fix
# 輸出 JSON 格式
node index.js --json
# 輸出 Feishu 卡片格式
node index.js --feishu-card
# 指定工作區
node index.js --workspace /path/to/workspace
markdown
## 📊 Agent 健康狀態
**總體評分:** 75/100 (需要優化)
**關鍵問題:**
- ⚠️ 上下文堆積:超過 5000 行
- ⚠️ 技能冗餘:12 個未使用技能
- ✅ 記憶狀態:良好
- ⚠️ 配置衝突:2 處重複配置
text
當前會話數量:45
總會話大小:125 MB
平均會話長度:2,777 行
最大會話:15,432 行 (需要清理)
建議:
- 刪除超過 30 天的會話(可釋放 80 MB)
- 壓縮超過 7 天的會話(可釋放 30 MB)
text
已安裝技能總數:67
活躍技能(最近 7 天使用):23
未使用技能:44
技能衝突:2 對
建議:
- 禁用 44 個未使用技能
- 解決 2 對技能衝突
text
記憶文件總數:156
總大小:45 MB
重複文件:8
過期文件(>90 天):23
建議:
- 合併 8 個重複文件
- 歸檔 23 個過期文件
text
配置文件數量:12
重複配置項:5
過期配置項:3
建議:
- 合併配置文件
- 清理過期配置
bash
# 添加每日清理任務
clawdbot cron add \
--name "Agent Optimization" \
--cron "0 3 * * *" \
--tz "Asia/Shanghai" \
--session isolated \
--message "Run agent-optimize with --auto-fix --report"
bash
# 當上下文超過閾值時警報
clawdbot cron add \
--name "Context Monitor" \
--cron "0 */6 * * *" \
--message "Check context size, alert if > 10000 lines"
配置項預設值說明OPTIMIZE_MAX_CONTEXT_LINES5000單次分析最大上下文行數OPTIMIZE_REPORT_FORMATmarkdown報告格式 (markdown/json/feishu-card)OPTIMIZE_AUTO_FIXfalse自動應用安全優化OPTIMIZE_BACKUP_BEFORE_FIXtrue優化前備份OPTIMIZE_RETENTION_DAYS30會話保留天數OPTIMIZE_MEMORY_ARCHIVE_DAYS90記憶歸檔天數
markdown
# Agent 優化診斷報告
**生成時間:** 2026-04-03 09:30:00
**工作區:** /home/admin/.openclaw/workspace-skill-dev
## 📊 總體狀態
評分:75/100
## ⚠️ 發現問題
1. 上下文堆積 (嚴重)
2. 技能冗餘 (中等)
3. 配置重複 (輕微)
## ✅ 優化建議
[詳細建議列表]
json
{
"timestamp": "2026-04-03T09:30:00Z",
"workspace": "/home/admin/.openclaw/workspace-skill-dev",
"score": 75,
"issues": [
{
"type": "context_bloat",
"severity": "high",
"details": {...}
}
],
"recommendations": [...]
}
允許自動執行:
需要用戶確認:
bash
# 優化前自動備份
backup_dir="/tmp/agent-optimize-backup-$(date +%Y%m%d-%H%M%S)"
mkdir -p "$backup_dir"
cp -r ~/.openclaw/workspace/*/memory "$backup_dir/"
cp -r ~/.openclaw/sessions "$backup_dir/"
原因: 上下文太大
解決方案:
bash
# 限制分析範圍
node index.js --max-lines 2000
# 或僅分析特定目錄
node index.js --target ~/.openclaw/workspace-skill-dev
原因: 權限不足
解決方案:
bash
# 檢查權限
ls -la ~/.openclaw/workspace*/memory
# 修復權限
chmod -R u+rw ~/.openclaw/workspace*/memory
原因: 技能路徑變化
解決方案:
bash
# 更新技能路徑配置
export OPTIMIZE_SKILL_PATHS="~/.npm-global/lib/node_modules/openclaw/skills,~/.openclaw/workspace*/skills"
工作區大小診斷時間小型 (<100 MB)<5 秒中型 (100-500 MB)5-15 秒大型 (>500 MB)15-30 秒
優化項預期改善上下文清理響應速度 ↑40%技能精簡加載時間 ↓30%記憶歸檔存儲空間 ↓50%配置優化衝突率 ↓80%
javascript
// 在 evolver 中調用 agent-optimize
const optimize = require('agent-optimize');
async function beforeEvolution() {
const report = await optimize.diagnose();
if (report.score < 60) {
await optimize.autoFix();
}
}
javascript
// 更新後自動優化
const optimize = require('agent-optimize');
async function afterUpdate() {
await optimize.diagnose({ report: true });
}
1.0.0 (2026-04-03) - 初始版本
版本: 1.0.0
日期: 2026-04-03
狀態: 初始發布
維護者: skill-dev