Memory API

管理 Agent 三层记忆系统的 API 端点。

长期记忆

搜索记忆

GET /api/memories?query=xxx&limit=50&offset=0&category=&schema_type=&include_sensitive=false
Response: {
  "mode": "search",
  "query": "xxx",
  "total": 1,
  "items": [
    {
      "id": "uuid",
      "title": "Memory Title",
      "content": "...",
      "category": "general",
      "schema_type": "general",
      "tags": "",
      "memory_key": "general:xxx",
      "source_file": "...",
      "created_at": "timestamp",
      "updated_at": "timestamp",
      "score": 0.85
    }
  ],
  "filters": { "category": "", "schema_type": "" }
}

添加记忆

POST /api/memories
Body: {
  "title": "Memory Title",
  "content": "Important knowledge",
  "category": "general",
  "tags": "",
  "schema_type": "general",
  "memory_key": "",
  "metadata": {},
  "merge_strategy": "merge"
}
Response: { "id": "uuid", "title": "Memory Title", "message": "记忆已保存" }

Update Memory

PUT /api/memories/{memory_id}
Body: {
  "title": "Updated Title",
  "content": "Updated content"
}
Response: { "id": "uuid", "message": "记忆已更新" }

删除记忆

DELETE /api/memories/{memory_id}?mode=delete&reason=deleted
Response: { "success": true, "message": "记忆已删除" }

Forget Memory

POST /api/memories/actions/forget
Body: { "ids": ["uuid1", "uuid2"] }
Response: { "success": true, "count": 2, "message": "已标记遗忘 2 条记忆" }

Merge Memories

POST /api/memories/actions/merge
Body: { "source_ids": ["uuid1"], "target_id": "uuid2", "strategy": "merge" }
Response: { "success": true }

Summary

GET /api/memories/summary
Response: {
  "total": 100,
  "categories": { "general": 50, "user_info": 20, "project": 30 },
  "schema_types": { "general": 100 }
}

Read Archive

GET /api/memories/archive/{entry_id}
Response: {
  "entry_id": "uuid",
  "session_id": "sess_xxx",
  "time": "timestamp",
  "answer": "...",
  "extra": {
    "prompt_diff_summary": "[PromptDiff] total_calls=2 | ..."
  }
}

Gene 管理

列出 Genes

GET /api/genes?limit=50&offset=0
Response: {
  "items": [
    {
      "id": "coding",
      "task_type": "coding",
      "title": "Coding Strategy",
      "content": "[HARD CONSTRAINTS]\n...",
      "version": 3,
      "usage_count": 15,
      "success_count": 12,
      "failure_count": 3,
      "success_rate": 0.8,
      "avg_reward": 0.72,
      "avg_duration_ms": 12500.0,
      "consecutive_success": 2,
      "consecutive_failure": 0,
      "evolution_history": [...],
      "recent_results": [...],
      "created_at": "timestamp",
      "updated_at": "timestamp"
    }
  ],
  "total": 1
}

Gene 统计

GET /api/genes/stats
Response: {
  "total_genes": 5,
  "total_usage": 42,
  "avg_success_rate": 0.78,
  "evolved_genes": 3
}

创建 Gene

PUT /api/genes/{gene_id}
Body: {
  "title": "Coding Strategy",
  "content": "[HARD CONSTRAINTS]\n...\n[CONTROL ACTION]\n...\n[AVOID]\n..."
}
Response: { "id": "coding", "version": 1 }

进化 Gene

POST /api/genes/{gene_id}/evolve
Response: {
  "success": true,
  "new_version": 4,
  "avoid_cues_added": 2,
  "content_changed": true
}

Delete Gene

DELETE /api/genes/{gene_id}
Response: { "success": true }