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ý các 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ó dữ liệu nào đượ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 phát hiện từ ~/.claude/projects/ (hoặc đường dẫn được đặt bởi CLAUDE_PROJECTS_PATH); các dự án Codex được phát hiện bằng cách quét mọi bảng ghi thoại 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 phát hiện bằng cách quét từng ~/.copilot/session-state/<sessionId>/workspace.yaml (có thể cấu hình qua COPILOT_HOME) và nhóm theo trường cwd của nó; các dự án Cursor Agent được phát hiện bằng cách quét siêu dữ liệu theo phiên dưới ~/.cursor/agent-sessions/<sessionId>/ (có thể cấu hình qua CURSOR_HOME, với conversations/sessions/ được kiểm tra như giải pháp dự phòng) để tìm một đại lượng vô hướng cwd trong meta.json / session.json / workspace.yaml; các dự án OpenCode được phát hiện bằng cách truy vấn cơ sở dữ liệu 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 phát hiện bằng cách quét các bảng ghi thoại JSONL theo 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 phát hiện 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à khôi phục cwd chính tắc từ trình đánh dấu văn bản .project_root bên cạnh. 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 duy nhất với tất cả các huy hiệu phù hợp. Sử dụng CLI dropdown ở 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 (bắt nguồn từ đường dẫn thư mục)
  • Một huy hiệu CLI — Claude Code (cam), OpenAI Codex (tím), GitHub Copilot (xanh lam), Cursor Agent (ngọc lục bảo), OpenCode (hổ phách), Pi (hồng), và/hoặc Gemini CLI (xanh trời)
  • Ngày hoạt động phiên làm việc gần đây nhất
Bấm 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 hook (các chính sách đã kích hoạt)
Sử dụng bộ lọc phạm vi ngày 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 phân trang. Bấm 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 hướng không? Một huy hiệu CLI bên cạnh tiêu đề cho biết liệu phiên làm việc là bảng ghi thoại 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 làm việc:
  • Tin nhắn - Các phản hồi văn bản của Claude và lời nhắc từ người dùng
  • Lệnh gọi công cụ - Mọi công cụ Claude gọi, 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 đã kích hoạt và quyết định nào họ 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à tóm tắt các quyết định hook (số lượng allow / deny / instruct). Bấm nút Download Logs để 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 thoại JSONL trên đĩa gốc byte-for-byte; đối với OpenCode (có các phiên làm việc trong SQLite chứ không phải trên đĩa), bạn nhận được một tài liệu JSON phản ánh các bảng session / messages / parts cơ bản.

Chính sách

Một trang hai tab để quản lý các chính sách và xem xét hoạt động.
  • Chọn nhiều agent CLI mà failproofai bảo vệ từ một bảng điều khiển 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ó màu thương hiệu. Chọn hoặc bỏ chọn các CLI mà bạn muốn và bấm Apply changes để cài đặt/gỡ cài đặt sự khác biệt trong một bước. Các CLI có tệp nhị phân được phát hiện trên PATH sẽ được kiểm tra trước.
  • Bật hoặc tắt các chính sách riêng lẻ chỉ bằng một cú nhấp chuộ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

Làm tươi lại tự động

Bảng điều khiển có một công tắc làm tươi lại tự động trong điều hướng hàng đầu. Khi bật, trang hiện tại sẽ làm tươi lạ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. Cần thiết để 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:
FAILPROOFAI_DISABLE_PAGES=policies failproofai
Các giá trị hợp lệ: policies, projects.

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:
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ế độ dev (npm run dev) và truy cập nó từ một tên máy chủ khác với localhost - ví dụ, một tên miền tùy chỉnh, IP từ xa hoặc URL được đường hầm - bạn có thể thấy một 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 giữa các nguồn vào websocket HMR (hot module reload) của nó, là một tính năng chỉ dành cho phát triển. Để 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 truyề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ế độ sản xuất), không có websocket HMR và không có vấn đề tài nguyên dev giữa các nguồn.