Tham chiếu API Endpoints
Tài liệu tham chiếu chi tiết các API REST do tiến trình nền ActonOS (actond) cung cấp.
Base URL: http://localhost:8080/api
1. Hệ thống & Sức khỏe (Health & System)
GET /api/health
Trả về trạng thái sức khỏe, phiên bản, thời gian hoạt động (uptime), chế độ runtime và tài nguyên tải. Không yêu cầu xác thực.
Phản hồi:
{
"status": "healthy",
"version": "1.0.0",
"uptime_seconds": 3600,
"runtime_mode": "baremetal",
"agents_active": 3,
"memory_usage_mb": 42.5,
"cpu_percent": 1.8,
"disk_usage_percent": 12.4,
"tailscale_connected": true
}
GET /api/models
Lấy danh mục catalog chuẩn của tất cả các mô hình LLM được hỗ trợ, thông số nhà cung cấp, nhãn badge và hạn mức. Đây là nguồn dữ liệu chuẩn duy nhất của toàn hệ thống.
Phản hồi:
{
"models": [
{
"id": "anthropic/claude-sonnet-4-6",
"name": "Claude Sonnet 4.6",
"provider_id": "anthropic",
"provider_name": "Anthropic Claude",
"context_window": 200000,
"badge": "Recommended"
}
]
}
GET /api/system/audit/verify
Xác thực chuỗi băm mật mã SHA-256 của tệp /data/logs/audit.jsonl để phát hiện can thiệp dữ liệu trái phép.
GET /api/system/backup
Tải bản sao lưu SQLite nhất quán theo giao dịch được tạo qua VACUUM INTO.
2. Xác thực & Danh tính Quản trị
GET /api/auth/status
Trả về trạng thái khởi tạo và phiên đăng nhập hiện tại.
POST /api/auth/setup
Khởi tạo danh tính Quản trị viên và đặt mật khẩu chính trong quá trình thiết lập ban đầu.
POST /api/auth/login
Xác thực bằng mật khẩu chính và nhận mã phiên Bearer JWT.
POST /api/auth/logout
Thu hồi và hủy phiên đăng nhập hiện tại.
PUT /api/auth/password
Thay đổi mật khẩu quản trị viên.
3. Quản trị Agents
GET /api/agents
Liệt kê tất cả các Agent đã đăng ký.
POST /api/agents
Tạo mới một cấu hình Agent.
Body Yêu cầu:
{
"agent_id": "researcher",
"name": "Research Agent",
"description": "Thực hiện nghiên cứu web chuyên sâu và viết báo cáo markdown",
"system_instructions": "Bạn là chuyên gia nghiên cứu dữ liệu...",
"model_config": {
"primary_model": "anthropic/claude-sonnet-4-6",
"fallback_model": "google/gemini-2.0-flash"
},
"authorized_tools": ["native_web_search", "native_browser_navigate", "native_workspace_write"],
"delegation_scope": {
"allowed_workspace_paths": ["*"]
}
}
PUT /api/agents/{id}
Cập nhật cấu hình của một Agent có sẵn.
DELETE /api/agents/{id}
Xóa Agent khỏi hệ thống.
4. Trò chuyện & Luồng Thực thi (Chat Streams)
POST /api/agents/{id}/chat
Gửi tin nhắn đồng bộ đến một Agent.
POST /api/agents/{id}/chat/stream
Khởi tạo luồng Server-Sent Events (SSE) để truyền dữ liệu sinh token theo thời gian thực và thẻ thực thi công cụ trực tiếp.
5. Sổ cái Phê duyệt (Approvals Ledger)
GET /api/approvals?status=pending
Liệt kê danh sách các yêu cầu đột biến chờ phê duyệt (pending, approved, rejected, all).
POST /api/approvals/{id}/approve
Chấp thuận hành động chính xác và tiếp tục luồng thực thi của Agent.
POST /api/approvals/{id}/reject
Từ chối hành động mà không thực thi lệnh đột biến.
6. Phân hệ Plugin (WASMLoader)
GET /api/plugins
Liệt kê tất cả các Plugin WASM đã cài đặt kèm manifest, khả năng (tool, channel, connector), phân quyền và trạng thái runtime.
Phản hồi:
{
"plugins": [
{
"id": "channel-discord",
"name": "Discord Bot Channel",
"version": "2.0.0",
"author": "ActonOS Core Team",
"capabilities": ["channel"],
"enabled": true,
"status": "running",
"permissions": {
"net_outbound": ["discord.com", "gateway.discord.gg"],
"secrets": ["discord_bot_tokens.*"],
"storage": true
}
}
]
}
POST /api/plugins/upload
Tải lên gói .actonpkg hoặc tệp nhị phân .wasm qua multipart/form-data (file). Xác thực manifest và hot-load vào môi trường sandbox Wazero.
POST /api/plugins/{id}/config
Cập nhật giá trị cấu hình động và lưu trữ khóa bí mật vào Hardware Vault. Tự động kích hoạt cơ chế Hot-reload của plugin.
POST /api/plugins/{id}/enable | POST /api/plugins/{id}/disable
Bật hoặc Tắt plugin tại thời điểm chạy mà không cần khởi động lại actond.
DELETE /api/plugins/{id}
Gỡ cài đặt plugin và xóa thư mục lưu trữ khỏi /data/plugins/{id}.
GET /api/plugins/{id}/logs
Lấy nhật ký thực thi và đo kiểm phát ra từ sandbox của plugin WASM.
7. Tài khoản Kênh & Ghép đôi Thiết bị (Pairing)
GET /api/integrations/channels | POST /api/integrations/channels
Lấy hoặc cấu hình thông tin xác thực kênh chat đa tài khoản và quy tắc định tuyến Agent.
GET /api/integrations/channels/accounts
Liệt kê tất cả tài khoản kênh đang hoạt động kèm huy hiệu trạng thái kết nối trực tiếp.
POST /api/integrations/pairing/code
Tạo mã ghép đôi 6 chữ số để xác thực người vận hành kênh chat.
POST /api/integrations/pairing/verify
Xác thực mã PIN ghép đôi từ tin nhắn đến để cấp quyền điều hành cho User ID.
GET /api/integrations/authorizations | DELETE /api/integrations/authorizations
Xem danh sách hoặc thu hồi quyền của các người gửi chat bên ngoài.
8. Khóa bí mật Hardware Vault
GET /api/vault/secrets
Liệt kê siêu dữ liệu của toàn bộ khóa bí mật được mã hóa trong Hardware Vault.
POST /api/vault/secrets
Lưu trữ khóa bí mật được mã hóa gắn liền với UUID và CPU serial phần cứng.
DELETE /api/vault/secrets/{name}
Xóa một bản ghi khóa bí mật khỏi Vault.
9. Công cụ, MCP và catalog Skills
GET /api/tools
Liệt kê công cụ đã đăng ký (native, MCP, plugin WASM, skill thư mục). Trang Native Tools ẩn nhóm skill; những skill đó hiện trên Skills.
POST /api/tools/mcp | DELETE /api/tools/mcp/{serverID}
Đăng ký hoặc ngắt kết nối máy chủ MCP (stdio, Streamable HTTP, hoặc sse). Thao tác rủi ro cao trả về 202 Accepted chờ duyệt.
GET /api/tools/hub/catalog
Lấy catalog skill cộng đồng hiện trên Extensions → Skills → Community Hub.
POST /api/tools/hub/install | POST /api/tools/hub/uninstall
Cài hoặc gỡ một gói skill cộng đồng.
10. Quản lý Tệp Workspace
Trang Workspace hiện tên gốc (report.pdf). API định danh tệp bằng id / parent_id. path và dir vẫn được nhận như lối tương thích cũ.
GET /api/workspace/files?parent_id=
Liệt kê con của một thư mục. Bỏ parent_id để lấy gốc. Mỗi mục có name, virtual_path và trạng thái lập chỉ mục.
GET /api/workspace/file?id=
Trả về siêu dữ liệu. Tệp chữ kèm content UTF-8; tệp nhị phân kèm raw_url (không nhét base64).
GET /api/workspace/raw?id=
Truyền nguyên byte tệp (hỗ trợ HTTP Range) cho PDF, ảnh, audio, video.
POST /api/workspace/file
Tạo hoặc cập nhật (parent_id, name, cộng content hoặc content_base64) và đưa vào hàng đợi lập chỉ mục.
DELETE /api/workspace/file?id=
Xóa tệp hoặc thư mục.
POST /api/workspace/mkdir | POST /api/workspace/upload | POST /api/workspace/rename | POST /api/workspace/duplicate
Tạo thư mục, tải lên multipart, đổi tên/di chuyển, nhân bản.
GET /api/workspace/stats | GET /api/workspace/zip?id= | POST /api/workspace/reindex | GET /api/workspace/chunks?id=
Thống kê dung lượng, tải zip, lập chỉ mục lại, và các đoạn ngữ nghĩa của một tệp.
11. Trung tâm Thông báo (Notifications)
GET /api/notifications
Lấy danh sách thông báo hệ thống và nhiệm vụ có phân trang.
POST /api/notifications/mark-read
Đánh dấu thông báo đã đọc ({ "id": "notif_..." } hoặc { "all": true }).
GET /api/notifications/push/vapid-key
Lấy khóa công khai VAPID cho thông báo đẩy trình duyệt.
POST /api/notifications/push/subscribe
Đăng ký Service Worker nhận thông báo đẩy cấp hệ điều hành.