Chuyển đến nội dung chính
Bảng điều khiển failproofai là một ứng dụng web cục bộ để theo dõi các phiên làm việc của agent AI và quản lý chính sách. Xem những gì các agent của bạn đã làm khi bạn vắng mặt.

Khởi động bảng điều khiển

failproofai
Mở tại http://localhost:8020. Bảng điều khiển đọc trực tiếp từ hệ thống tệp - các thư mục dự án Claude Code và các tệp cấu hình failproofai của bạn. Không có gì được ghi vào dịch vụ từ xa.

Các trang

Dự án

Liệt kê tất cả các dự án Claude Code, OpenAI Codex, GitHub Copilot CLI (beta), Cursor Agent (beta), OpenCode (beta), Pi (beta) và Gemini CLI (beta) được tìm thấy trên máy của bạn. Các dự án Claude được khám phá từ ~/.claude/projects/ (hoặc đường dẫn được đặt bởi CLAUDE_PROJECTS_PATH); các dự án Codex được khám phá bằng cách quét mọi bản ghi dưới ~/.codex/sessions/<YYYY>/<MM>/<DD>/*.jsonl và nhóm theo cwd được ghi lại trong bản ghi đầu tiên của mỗi phiên; các dự án Copilot CLI được khám phá bằng cách quét mỗi ~/.copilot/session-state/<sessionId>/workspace.yaml (có thể cấu hình qua COPILOT_HOME) và nhóm theo trường cwd; các dự án Cursor Agent được khám phá bằng cách quét siêu dữ liệu cho mỗi phiên dưới ~/.cursor/agent-sessions/<sessionId>/ (có thể cấu hình qua CURSOR_HOME, với conversations/sessions/ được dùng làm fallback) để tìm cwd vô hướng trong meta.json / session.json / workspace.yaml; các dự án OpenCode được khám phá bằng cách truy vấn DB SQLite của nó tại ~/.local/share/opencode/opencode.db qua opencode db --format json (chúng tôi đọc các bảng sessionproject và nhóm theo project_id); các dự án Pi được khám phá bằng cách quét bản ghi JSONL cho mỗi phiên dưới ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (có thể cấu hình qua PI_SESSIONS_DIR) và lấy cwd từ bản ghi đầu tiên của mỗi phiên; các dự án Gemini CLI được khám phá bằng cách quét ~/.gemini/tmp/<basename>/chats/session-<timestamp>-<uuid-prefix>.jsonl (có thể cấu hình qua GEMINI_SESSIONS_DIR) và phục hồi cwd canonical từ bộ đánh dấu văn bản .project_root cùng cấp. Một dự án được sử dụng bởi nhiều CLI được hiển thị dưới dạng một hàng với tất cả các badge phù hợp. Sử dụng menu thả xuống CLI ở trên bảng để lọc theo agent CLI cụ thể; URL bảo lưu lựa chọn của bạn dưới dạng ?cli=claude|codex|copilot|cursor|opencode|pi|gemini. Mỗi dự án hiển thị:
  • Tên dự án (được lấy từ đường dẫn thư mục)
  • Badge CLI — Claude Code (cam), OpenAI Codex (tím), GitHub Copilot (xanh), Cursor Agent (xanh ngọc), OpenCode (hổ phách), Pi (hồng) và/hoặc Gemini CLI (xanh trời)
  • Ngày của hoạt động phiên gần đây nhất
Nhấp vào một dự án để xem các phiên của nó.

Phiên

Liệt kê tất cả các phiên trong một dự án. Mỗi phiên hiển thị:
  • ID phiên
  • Dấu thời gian bắt đầu và kết thúc
  • Số lượng lệnh gọi công cụ
  • Số lượng hoạt động hook (chính sách đã được kích hoạt)
Sử dụng bộ lọc phạm vi ngày và tìm kiếm ID phiên để thu hẹp danh sách. Các phiên được phân trang. Nhấp vào một phiên để mở trình xem phiên.

Trình xem phiên

Trình xem phiên trả lời câu hỏi chính cho các agent tự trị: agent đã làm gì và nó có ở đúng quỹ đạo không? Badge CLI bên cạnh tiêu đề cho biết phiên đó là bản ghi Claude Code, OpenAI Codex, GitHub Copilot CLI, Cursor Agent, OpenCode, Pi hay Gemini CLI. Nó hiển thị một dòng thời gian của mọi thứ xảy ra trong một phiên:
  • Tin nhắn - Các phản hồi văn bản của Claude và lời nhắc của người dùng
  • Lệnh gọi công cụ - Mọi công cụ mà Claude đã gọi, cùng với đầu vào và đầu ra của nó
  • Hoạt động chính sách - Đối với mỗi lệnh gọi công cụ, những chính sách nào đã được kích hoạt và quyết định nào mà chúng trả về
Thanh thống kê ở trên cùng hiển thị thời lượng phiên, tổng số lệnh gọi công cụ và tóm tắt các quyết định hook (số lượng allow / deny / instruct). Nhấp vào nút Tải Xuống Nhật Ký để xuất phiên. Đối với các phiên Claude Code, Codex, Copilot, Cursor, Pi và Gemini, bạn nhận được bản ghi JSONL trên đĩa gốc theo từng byte; đối với OpenCode (những phiên của nó nằm trong SQLite, không phải trên đĩa) bạn nhận được tài liệu JSON phản ánh các bảng session / messages / parts cơ bản.

Kiểm Toán

Báo cáo được định hình bởi tính cách về cách agent của bạn thực sự đã hoạt động trong các phiên quá khứ. Chạy lần quét giống như CLI failproofai audit nhưng hiển thị nó dưới dạng bảng điều khiển sáu phần:
  1. Danh Tính — phân loại agent của bạn thành một trong 8 nguyên mẫu (the optimist, the cowboy, the explorer, the goldfish, the paranoid architect, the precision builder, the hammer, the ghost) dựa trên những bộ phát hiện + chính sách nào đã được kích hoạt và mức độ nặng như thế nào. Hiển thị một sigil 8×8 pixel, tagline nguyên mẫu, khung common in / primary risk, và dòng kết luận.
  2. Thể Hiện Agent Của Bạn — chụp thẻ nhận dạng dưới dạng PNG 1200×630 phù hợp để đăng lên X / LinkedIn (nhấp make poster).
  3. Điểm Mạnh — hành vi được đánh dấu xanh lục mà agent của bạn đã làm đúng, được lấy từ dữ liệu kiểm toán trực tiếp (tỷ lệ lệnh gọi công cụ sạch sẽ, độ dài phiên trung bình, không rò rỉ thông tin xác thực, không có bão thử lại, v.v.).
  4. Điểm + bảng xếp hạng — điểm 0–100 với xếp loại chữ (S/A/B/C/D/F), biểu đồ phân bố hiển thị vị trí bạn trong nhóm, văn bản miêu tả (“a B starts at 71. you’re 13 points away.”), và bảng xếp hạng với hàng của bạn được làm nổi bật.
  5. Phát Hiện — thẻ mỗi phát hiện được xếp hạng theo tác động. Mỗi thẻ bề mặt những gì đã xảy ra, chi phí của nó, mẫu bằng chứng với các lệnh đã chụp thực tế, và chính sách failproofai sẽ bắt được cùng một mẫu ($ failproof policy add <slug>, click-to-copy).
  6. Các Chính Sách Được Đề Nghị + Vòng Lặp Trả Về — lưới mọi chính sách tích hợp không được bật sẽ đóng một khoảng trống, với một lời kêu gọi điểm số dự kiến, cộng với CTA re-audit in 7 days.
Được điều khiển bởi thời gian chạy failproofai audit — xem Audit CLI cho động cơ quét cơ bản, các flag được hỗ trợ và các bất biến bộ nhớ cache cho mỗi bản ghi. Bảng điều khiển lưu trữ kết quả mới nhất tại ~/.failproofai/audit-dashboard.json (chế độ 0600, khe duy nhất, các lần chạy mới ghi đè) để các lần truy cập lại là tức thì; nhấp [ Re-run ↻ ] POSTs /api/audit/run và bảng điều khiển thăm dò /api/audit/status ở 1Hz cho đến khi lần chạy kết thúc. Trạng thái trống (không có bộ nhớ cache) và trạng thái không có phiên (bộ nhớ cache tồn tại nhưng lần quét không tìm thấy bản ghi nào) được hiển thị riêng biệt.

Chính Sách

Trang hai tab để quản lý chính sách và xem lại hoạt động.
  • Chọn nhiều CLIs mà failproofai bảo vệ từ một panel duy nhất — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi và Gemini CLI đều có một hàng có trạng thái cài đặt (Active / Detected / Inactive), đường dẫn cài đặt phạm vi người dùng và một accent có thương hiệu. Đánh dấu hoặc bỏ đánh dấu các CLI bạn muốn và nhấp Apply changes để cài đặt/gỡ cài đặt diff trong một bước. Các CLI có nhị phân được phát hiện trên PATH được kiểm tra trước.
  • Bật hoặc tắt các chính sách riêng lẻ bằng một cú nhấp chuột duy nhất (ghi vào ~/.failproofai/policies-config.json — được chia sẻ trên mọi CLI được cài đặt)
  • Mở rộng một chính sách để cấu hình các tham số của nó (đối với các chính sách hỗ trợ policyParams)
  • Đặt đường dẫn tệp chính sách tùy chỉnh

Tự động làm mới

Bảng điều khiển có công tắc tự động làm mới trong điều hướng trên cùng. Khi được bật, trang hiện tại sẽ làm mới định kỳ để hiển thị các phiên mới và hoạt động chính sách khi chúng xuất hiện. Cần thiết để theo dõi các phiên agent tự trị chạy lâu dài.

Vô hiệu hóa các trang

Nếu bạn chỉ cần một số phần của bảng điều khiển, hãy đặt FAILPROOFAI_DISABLE_PAGES thành danh sách các tên trang được phân tách bằng dấu phẩy:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Giá trị hợp lệ: policies, projects, audit.

Cấu hình đường dẫn dự án

Theo mặc định, bảng điều khiển đọc từ thư mục dự án Claude Code tiêu chuẩn. Ghi đè nó để thiết lập tùy chỉnh:
CLAUDE_PROJECTS_PATH=/custom/path/to/projects failproofai

Truy cập từ máy chủ không phải localhost

Khi chạy bảng điều khiển ở chế độ phát triển (npm run dev) và truy cập nó từ tên máy chủ khác với localhost - ví dụ như miền tùy chỉnh, IP từ xa hoặc URL được tạo đường hầm - bạn có thể thấy cảnh báo như:
⚠ Blocked cross-origin request to Next.js dev resource /_next/webpack-hmr from "dashboard.example.com".
Đây là Next.js chặn quyền truy cập ngồn ngữ giữa các nguồn gốc vào websocket HMR (hot module reload) của nó, đây là tính năng chỉ dành cho dev. Để cho phép máy chủ của bạn, hãy sử dụng cờ --allowed-origins:
npm run dev -- --allowed-origins dashboard.example.com
Đối với nhiều máy chủ hoặc IP, hãy chuyển một danh sách được phân tách bằng dấu phẩy:
npm run dev -- --allowed-origins dashboard.example.com,192.168.1.5
Bạn cũng có thể đặt biến môi trường FAILPROOFAI_ALLOWED_DEV_ORIGINS để thay thế:
FAILPROOFAI_ALLOWED_DEV_ORIGINS=dashboard.example.com npm run dev
Điều này chỉ áp dụng cho chế độ dev. Khi chạy failproofai (chế độ production), không có websocket HMR và không có vấn đề về tài nguyên dev ngồn ngữ giữa các nguồn gốc.