Đọc lại AI Log
GET /api/ingest/entries
Trả về các dòng log AI mà đội đã gửi lên (qua scripts/submit_log.py hoặc pre-push hook), mới nhất trước. Dùng để kiểm tra log đã lên đủ và đúng chưa. Cách cài đặt và gửi log xem Cấu hình AI Log.
API này chạy trên https://live.thucchien.ai và xác thực bằng token aitc_... của đội (biến AI_LOG_API_KEY trong .env), không phải key Gateway api.thucchien.ai dùng ở các trang khác trong mục này. API chỉ trả log của đội sở hữu token.
Headers
AuthorizationstringRequiredBearer <AI_LOG_API_KEY>, token bắt đầu bằng aitc_ BTC cấp cho đội.
Tham số query
limitintegerSố dòng mỗi trang. Mặc định 50, tối đa 200.
beforestringChỉ lấy log có ts trước thời điểm này (ISO 8601). Dùng để lấy trang tiếp theo: truyền giá trị next_before của trang trước, giữ nguyên các tham số khác.
eventstringLọc theo tên event, khớp chính xác (ví dụ UserPromptSubmit, PostToolUse). Để trống là không lọc.
toolstringLọc theo công cụ, không phân biệt hoa thường (ví dụ claude, cursor, codex). Để trống là không lọc.
Cấu trúc phản hồi (Response Body)
itemsarrayCác dòng log, mới nhất trước.
next_beforestring | nullKhác null khi còn trang sau; truyền vào before để lấy tiếp.
Mỗi phần tử trong items
tsstringThời điểm event diễn ra (UTC, ISO 8601).
received_atstringThời điểm hệ thống nhận dòng log.
toolstringCông cụ AI, đã chuyển về chữ thường.
eventstringTên event gốc của công cụ.
session_idstringMã phiên làm việc.
modelstringTên model nếu công cụ cung cấp.
repo, branch, commit, studentstringThông tin git lúc ghi log.
promptstringNội dung prompt (với event prompt).
tool_name, tool_input, tool_response, tool_errorstring / objectTool AI đã gọi, input, output và lỗi (với event gọi tool).
response_summary, stop_reasonstringCâu trả lời cuối lượt và lý do dừng (với event kết thúc lượt).
Trường không có giá trị trả về null. Các trường dài đã bị cắt theo giới hạn như lúc lưu.
Mã lỗi
401unauthorizedThiếu token hoặc token sai. Đội đã bị khoá bảng đấu vẫn đọc được; khoá chỉ chặn gửi log mới.
curl -G 'https://live.thucchien.ai/api/ingest/entries' \-H 'Authorization: Bearer ' \--data-urlencode 'limit=' \--data-urlencode 'tool=' \--data-urlencode 'event='{
"items": [
{
"ts": "2026-10-02T07:05:31.123Z",
"received_at": "2026-10-02T07:12:04.552Z",
"tool": "claude",
"event": "UserPromptSubmit",
"session_id": "4f1c...",
"model": null,
"repo": "ten-repo-cua-doi",
"branch": "main",
"commit": "a1b2c3d",
"student": "ten-doi@example.com",
"prompt": "Viết test cho hàm đăng nhập",
"tool_name": null,
"tool_input": null,
"tool_response": null,
"tool_error": null,
"response_summary": null,
"stop_reason": null
}
],
"next_before": null
}