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ộ để giám sát 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

Mở tại http://localhost:8020. Bảng điều khiển đọc trực tiếp từ hệ thống tệp tin - 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ảng ghi chép 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 từng ~/.copilot/session-state/<sessionId>/workspace.yaml (có thể cấu hình thông qua COPILOT_HOME) và nhóm theo trường cwd của nó; 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 thông qua CURSOR_HOME, với conversations/sessions/ được thăm dò như phương án dự phòng) để tìm giá trị cwd trong meta.json / session.json / workspace.yaml; các dự án OpenCode được khám phá bằng cách truy vấn Cơ sở dữ liệu SQLite của nó tại ~/.local/share/opencode/opencode.db thông 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 các bảng ghi chép JSONL cho mỗi phiên dưới ~/.pi/agent/sessions/<encoded-cwd>/<timestamp>_<uuid>.jsonl (có thể cấu hình thông 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 thông qua GEMINI_SESSIONS_DIR) và khôi phục cwd chính thức từ dấu đánh dấu văn bản .project_root kế bên. Một dự án đã được sử dụng bởi nhiều CLI sẽ hiển thị dưới dạng một hàng có tất cả các huy hiệu phù hợp. Sử dụng menu thả xuống CLI phía trên bảng để lọc theo một agent CLI cụ thể; URL bảo tồn 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)
  • Một huy hiệu CLI — Claude Code (cam), OpenAI Codex (tím), GitHub Copilot (xanh), Cursor Agent (ngọc bích), OpenCode (hổ phách), Pi (hồng) và/hoặc Gemini CLI (bầu trời)
  • Ngày hoạt động phiên làm việc gần đây nhất
Nhấp vào một dự án để xem các phiên làm việc của nó.

Phiên làm việc

Liệt kê tất cả các phiên làm việc trong một dự án. Mỗi phiên làm việc hiển thị:
  • ID phiên làm việc
  • 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 móc (chính sách được kích hoạt)
Sử dụng bộ lọc khoảng thời gian và tìm kiếm ID phiên làm việc để thu hẹp danh sách. Các phiên làm việc được chia trang. Nhấp vào một phiên làm việc để mở trình xem phiên làm việc.

Trình xem phiên làm việc

Trình xem phiên làm việc trả lời câu hỏi chính cho các agent tự trị: agent đã làm gì và liệu nó có ở đúng con đường không? Một huy hiệu CLI bên cạnh tiêu đề cho biết phiên làm việc có phải là 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 tất cả những gì đã xảy ra trong một phiên làm việc:
  • Tin nhắn - Các phản hồi văn bản của Claude và các 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, với input và output 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 làm việc, tổng số lệnh gọi công cụ và một tóm tắt các quyết định móc (số lượng cho phép / từ chối / hướng dẫn). Nhấp nút Tải xuống Nhật ký để xuất phiên làm việc. Đối với các phiên làm việc Claude Code, Codex, Copilot, Cursor, Pi và Gemini, bạn nhận được bảng ghi chép JSONL trên đĩa gốc byte-for-byte; đối với OpenCode (các phiên làm việc 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

Một báo cáo được điều khiển bởi tính cách về cách agent của bạn thực sự hoạt động trên các phiên làm việc trong quá khứ. Chạy lần quét giống như CLI failproofai audit nhưng hiển thị nó dưới dạng một trang duy nhất có thể chia sẻ + bốn phần ẩn bên dưới:
  1. Áp phích — lấp đầy viewport đầu tiên. Vùng chụp PNG độc lập với logo failproof_ai + nhãn kiểm toán · chỉ số mẫu vốn (№ NN of 08) + ngày kiểm toán · điểm số số (0–100) + viên xếp hạng phần trăm (top 15%) · tên mẫu vốn (một trong the optimist, the cowboy, the explorer, the goldfish, the paranoid architect, the precision builder, the hammer, the ghost) + dải 3 từ khóa · dòng // only N% of agents are this archetype · ô sigil tile 8×8 pixel · audit yours → failproof.ai chân trang. Ba nút chia sẻ nằm ngoài hộp chụp: post your archetype (ý định X), share on linkedin, download poster. Chụp chạy qua html-to-image để PNG khớp với bản render trên màn hình từng pixel (viền nét đứt, mặt nạ logo SVG, gradients, số liệu phông chữ — tất cả được bảo tồn).
  2. Điểm mạnh — danh sách hàng tĩnh ✓ của các hành vi 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ẽ, không có đẩy trực tiếp đến main, không rò rỉ thông tin xác thực, không có bão retry) — mỗi cái chỉ được hiển thị khi chính sách liên quan có hồ sơ sạch sẽ trên toàn bộ cửa sổ kiểm toán.
  3. Những tính kỳ lạ — bảng những gì trượt qua, được xếp hạng theo mức độ nghiêm trọng: when · what slipped + the policy that would've caught it · severity pill · seen, trong đó lần xuất hiện đọc là new (một lần), N× seen (2–9 lần) hoặc recurring (10+).
  4. Cách cải thiện — danh sách hàng tĩnh, một cho mỗi chính sách được quy định: tên chính sách bằng trắng, mô tả một dòng, lệnh cài đặt + nút sao chép ở bên phải. Tiêu đề phần đọc enable all N → projected <score> · <tier> (điểm bạn sẽ đạt được với mọi bản sửa lỗi được áp dụng) và nút [install all] của nó sao chép lệnh failproofai policy add a b c … kết hợp cho mọi chính sách được quy định.
  5. Quay lại tốt hơn — hai thẻ cạnh nhau. Trái: đặt một lời nhắc nhở (3d / 7d / 14d / 30d chọn nhịp độ; duy trì qua /api/auth/reminder sau khi xác thực). Phải: mở khóa các lợi ích failproof — invite a friend mở một modal chấp nhận danh sách email của bạn được phân tách bằng dấu phẩy/khoảng trắng/xuống dòng (tối đa 10 lần gửi), POSTS chúng đến /api/audit/invite, chuyển tiếp đến /api/audit/invite của máy chủ api POST /v0/invite. Máy chủ api gửi một email cho mỗi người nhận từ invite@failproof.ai với người gửi được Cc’d và Reply-To được đặt, vì vậy người nhận thấy ai đã mời họ và người gửi nhận được một bản sao trong hộp thư đến của họ. Người dùng ẩn danh được định tuyến qua AuthDialog đầu tiên để email của người gửi được biết trước khi lời mời được gửi đi. Thực hiện quyền lợi / perks là một công việc tiếp theo.
Được thúc đẩy bởi thời gian chạy failproofai audit — xem Audit CLI để biết công cụ quét cơ bản, các cờ được hỗ trợ và các bất biến bộ đệm cho mỗi bảng ghi chép. Bảng điều khiển lưu vào bộ đệm kết quả mới nhất tại ~/.failproofai/audit-dashboard.json (chế độ 0600, slot đơn, các lần chạy mới sẽ ghi đè) để các lần revisit nhanh tức thì; cả bộ đệm cho mỗi bảng ghi chép và bộ đệm kết quả toàn bộ đều bị từ chối khi đọc khi chúng cũ hơn 7 ngày để bảng điều khiển không bao giờ im lặng phục vụ kết quả cũ một tuần — quá TTL /audit giảm xuống trạng thái trống của nó và nhắc chạy lại. Nhấp [ re-audit now ] gần dưới cùng của báo cáo POSTs /api/audit/run với noCache: true — re-audit bỏ qua bộ đệm cho mỗi bảng ghi chép và quét lại mọi bảng ghi chép từ đầu thay vì im lặng trả về kết quả được lưu vào bộ đệm — và bảng điều khiển thăm dò /api/audit/status ở tần số 1Hz cho đến khi lần chạy hoàn thành; một dải tiến trình hồng dính pins ở trên cùng của viewport trong quá trình chạy với bộ đếm thời gian trôi qua, và kết quả mới được hoán đổi vào vị trí khi thành công (không tải lại trang đầy đủ; một re-audit không thành công để lại báo cáo trước đó nguyên vẹn). Khi thất bại, dải chuyển sang đỏ với sao chép được khóa từ RerunError.kind (timeout / network / post_failed). Trạng thái trống (không có bộ đệm hoặc hết hạn) và trạng thái không có phiên (bộ đệm tồn tại nhưng lần quét không tìm thấy bảng ghi chép) được hiển thị riêng biệt.

Chính sách

Một trang hai tab để quản lý chính sách và xem lại hoạt động.
  • Chọn nhiều CLI agent mà failproofai bảo vệ từ một bảng duy nhất — Claude Code, OpenAI Codex, GitHub Copilot, Cursor Agent, OpenCode, Pi và Gemini CLI đều có một hàng với 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 điểm nhấn có thương hiệu. Kiểm tra hoặc bỏ kiểm tra các CLI bạn muốn và nhấp Apply changes để cài đặt/gỡ cài đặt chênh lệch trong một bước. Các CLI có tệp 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 (ghi vào ~/.failproofai/policies-config.json — 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

Làm mới tự động

Bảng điều khiển có một bộ chuyển đổi làm mới tự động trong thanh đ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 làm việc và hoạt động chính sách mới khi chúng xuất hiện. Thiết yếu để giám sát các phiên làm việc 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 tên trang được phân tách bằng dấu phẩy:
Các 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ó cho các thiết lập tùy chỉnh:

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

Khi chạy bảng điều khiển ở chế độ dev (npm run dev) và truy cập nó từ tên máy chủ không phải localhost - chẳng hạn như tên miền tùy chỉnh, IP từ xa hoặc URL được đường hầm — bạn có thể thấy cảnh báo như:
Đây là Next.js chặn truy cập xuyên nguồn gốc đến websocket HMR (tải lại mô-đun nóng) của nó, đây là tính năng chỉ dev. Để cho phép máy chủ của bạn, hãy sử dụng cờ --allowed-origins:
Đối với nhiều máy chủ hoặc IP, hãy chuyển danh sách được phân tách bằng dấu phẩy:
Bạn cũng có thể đặt biến môi trường FAILPROOFAI_ALLOWED_DEV_ORIGINS thay thế:
Đ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 đề tài nguyên dev xuyên nguồn gốc.