Skip to content

Cấu Hình Hệ Thống

Route: /configNhóm Sidebar: Hệ Thống Quyền truy cập: Owner (Cross-tenant)


Tổng Quan

Trang cấu hình hệ thống cho phép quản trị viên chỉnh sửa toàn bộ config.json trực tiếp qua giao diện web. Cấu hình được phân thành 6 tab chuyên biệt, mỗi tab có nút Lưu riêng.

Hệ thống sử dụng kỹ thuật optimistic locking qua hash cấu hình — nếu nhiều người cùng chỉnh sửa, phiên bản sau sẽ báo lỗi conflict.

Cảnh báo: Thay đổi trên trang này ảnh hưởng trực tiếp đến hoạt động của toàn bộ hệ thống. Đọc kỹ trước khi lưu.


Giao Diện (UI)

Route: /config

Trình chỉnh sửa cấu hình với 6 tab dọc bên trái. Hiển thị:

  • Huy hiệu hash cấu hình — mã hash hiện tại, dùng cho optimistic locking
  • Bảng cảnh báo — nhắc nhở khi chọn các trường nhạy cảm
  • Nút Làm mới — tải lại cấu hình từ server, bỏ qua các thay đổi chưa lưu

Các thay đổi được lưu riêng biệt theo từng tab. Nhấn Lưu sau khi chỉnh sửa xong mỗi tab.


Hướng Dẫn Theo Tab

Tab Máy Chủ (Server)

Điều khiển gateway server: địa chỉ lắng nghe, cổng, token xác thực, CORS, rate limit, debounce, và các chính sách xử lý tin nhắn.

Các trường quan trọng:

TrườngMô tả
gateway.hostĐịa chỉ lắng nghe (mặc định 0.0.0.0)
gateway.portCổng HTTP/WS (mặc định 8080)
gateway.tokenBearer token — dùng env var, không nhập trực tiếp
gateway.rate_limit_rpmGiới hạn request/phút/user (0 = tắt)
gateway.inbound_debounce_msGộp tin nhắn nhanh cùng sender (ms)
gateway.injection_actionXử lý prompt injection: log, warn, block, off
gateway.allowed_originsWebSocket CORS whitelist

Tab Hành Vi (Behavior)

Chính sách phân quyền và phạm vi phiên:

TrườngMô tả
sessions.scopeper-sender hoặc global
sessions.dm_scopePhạm vi session DM (xem tài liệu cấu hình)
gateway.block_replyGửi text trung gian khi tool đang chạy
gateway.tool_statusHiển thị tên tool trong preview streaming

Tab Mặc Định AI (AI Defaults)

Giá trị mặc định áp dụng cho tất cả agents khi không có cài đặt riêng:

TrườngMô tả
agents.defaults.providerProvider LLM mặc định
agents.defaults.modelModel mặc định
agents.defaults.max_tokensMax output tokens (mặc định 8192)
agents.defaults.temperatureNhiệt độ LLM (mặc định 0.7)
agents.defaults.max_tool_iterationsSố lần lặp tool tối đa (mặc định 30)
agents.defaults.agent_typeopen hoặc predefined

Tab Hạn Mức (Quotas)

Cấu hình giới hạn sử dụng theo user, provider, channel, hoặc nhóm:

json5
{
  gateway: {
    quota: {
      enabled: true,
      default: { hour: 20, day: 100, week: 500 },
      providers: {
        "anthropic": { hour: 50, day: 200 }
      },
      groups: {
        "user-id-vip": { hour: 100, day: 500, week: 2000 }
      }
    }
  }
}

Thứ tự ưu tiên merge: Groups > Channels > Providers > Default.

Tab Công Cụ (Tools)

Điều khiển tính khả dụng của tools:

TrườngMô tả
tools.profileProfile toàn cục: minimal, coding, messaging, full
tools.allow / tools.denyDanh sách cho phép / chặn theo tên hoặc nhóm
tools.execApproval.securitydeny, allowlist, full
tools.execApproval.askHỏi user trước khi chạy: off, on-miss, always
tools.web_fetch.policyallow_all hoặc allowlist
tools.browser.enabledBật browser automation

Tab Tích Hợp (Integrations)

Các tích hợp hệ thống:

  • TTS — liên kết nhanh đến trang /tts
  • Cron — cấu hình scheduler (timezone, ...)
  • Telemetry — cấu hình thu thập dữ liệu hiệu suất
  • Bindings — kết nối đến các dịch vụ bên ngoài

Cú Pháp JSON5

Trang config hỗ trợ JSON5 — định dạng mở rộng của JSON:

json5
{
  // Đây là comment
  gateway: {
    port: 8080,      // trailing comma được phép
    host: "0.0.0.0",
  },
}

Ví Dụ Cấu Hình Nhanh

Bật rate limiting và quota:

json5
{
  gateway: {
    rate_limit_rpm: 30,
    quota: {
      enabled: true,
      default: { hour: 20, day: 100 }
    }
  }
}

Đổi model mặc định:

json5
{
  agents: {
    defaults: {
      provider: "anthropic",
      model: "claude-opus-4-5",
      max_tokens: 16384
    }
  }
}

Lưu Ý

  • Secrets (API keys, tokens, DSN) không bao giờ lưu trong config.json — dùng biến môi trường hoặc .env.local
  • Hash cấu hình thay đổi mỗi lần lưu — giữ lại hash cũ nếu cần rollback thủ công
  • Một số trường yêu cầu khởi động lại server để có hiệu lực
  • config.patch qua WebSocket RPC cho phép cập nhật một phần mà không ảnh hưởng phần còn lại

Xem Thêm