feat(ai): add PixelRAG source contract replay worker

This commit is contained in:
ogt
2026-07-10 10:49:56 +08:00
parent 4775743f2a
commit 08ed67eee4
10 changed files with 819 additions and 7 deletions

View File

@@ -905,6 +905,43 @@ def ai_automation_pixelrag_platform_probe_worker_api():
))
@system_public_bp.route('/api/ai-automation/pixelrag-source-contract-replay-worker')
@login_required
def ai_automation_pixelrag_source_contract_replay_worker_api():
"""Controlled PixelRAG source-contract replay worker dry-run/execute readback."""
from services.pixelrag_source_contract_replay_worker_service import (
run_pixelrag_source_contract_replay_worker,
)
platforms = tuple(
str(item or '').strip()
for item in request.args.getlist('platform')
if str(item or '').strip()
)
execute = str(request.args.get('execute') or '').strip().lower() in {
'1',
'true',
'yes',
}
write_receipt = str(request.args.get('write_receipt') or '').strip().lower() in {
'1',
'true',
'yes',
}
max_age_hours = request.args.get('max_age_hours', 168, type=int)
limit = request.args.get('limit', 25, type=int)
return jsonify(run_pixelrag_source_contract_replay_worker(
platform_probe_worker_receipt_root=str(
request.args.get('platform_probe_worker_receipt_root') or ''
).strip() or None,
platform=platforms,
max_age_hours=max(1, min(max_age_hours or 168, 720)),
limit=max(1, min(limit or 25, 250)),
execute=execute,
write_receipt=bool(execute and write_receipt),
))
@system_public_bp.route('/api/ai-automation/external-mcp-rag-integration')
@login_required
def ai_automation_external_mcp_rag_integration_api():