Chuyển đến nội dung
OrbZTài liệu APIExport của gói

Các mục xuất của gói

Orbz tách riêng việc truy cập API thuần, đăng ký có kiểm tra môi trường trình duyệt và gói trình duyệt độc lập. Mọi framework đều hiển thị phần tử gốc <orb-z>.

Bảng điểm vào

Đường dẫn nhậpNội dung cung cấpTác dụng phụ
@neongate-ai/orbzPhần tử gốc, kiểu của bộ thực thi hội thoại, hằng số, bộ màu có sẵn, hàm hỗ trợ chuẩn hóa, orbzElementClassFactory() và defineOrbz()Không đăng ký thẻ
@neongate-ai/orbz/browserToàn bộ nội dung của điểm vào gốcGọi defineOrbz()
@neongate-ai/orbz/react-typesPhần mở rộng kiểu JSX tùy chọn của React cho thẻ gốc <orb-z>Không có
@neongate-ai/orbz/standaloneBản dựng trình duyệt độc lập của điểm vào trình duyệtGọi defineOrbz()
@neongate-ai/orbz/index.cssCùng bảng định kiểu nguồn được nhúng trong Shadow Root đóngKhông có
@neongate-ai/orbz/package.jsonSiêu dữ liệu của gói đã phát hànhKhông có

Các điểm vào trình duyệt và standalone được đánh dấu là có tác dụng phụ trong tệp khai báo gói, để công cụ đóng gói giữ lại lệnh gọi đăng ký.

react-types không chứa thành phần React hay bộ chuyển đổi khi chạy. Chỉ nhập mục này trong dự án TypeScript dùng React hoặc Next.js cần nhận biết <orb-z> trong JSX.

Điểm vào gốc

Dùng điểm vào gốc để đăng ký rõ ràng và sử dụng các kiểu miền có thể tái sử dụng:

import { DEFAULT_ORBZ_PRESET, defineOrbz, ORBZ_PRESETS, ORBZ_STATES, type OrbzElement, type OrbzPresetName, type OrbzState, } from "@neongate-ai/orbz"; defineOrbz(); const nextState: OrbzState = "listening"; const preset: OrbzPresetName = DEFAULT_ORBZ_PRESET; const colors = ORBZ_PRESETS[preset]; const orb = document.querySelector<OrbzElement>("orb-z"); if (orb) orb.state = nextState;

Chỉ nhập mô-đun gốc sẽ không bao giờ đăng ký orb-z. Gọi defineOrbz() hoặc nhập /browser khi trang cần kích hoạt thẻ thành phần tử tùy chỉnh.

Hằng số

Mục xuấtÝ nghĩa
ORBZ_TAG_NAMEChuỗi "orb-z"
ORBZ_OBSERVED_ATTRIBUTESTên các thuộc tính gốc có phản ứng với thay đổi
ORBZ_STATESTất cả trạng thái trợ lý được hỗ trợ
ORBZ_REDUCED_MOTION_MODESsystem, always và never
ORBZ_PRESET_NAMESSáu tên bộ màu chuẩn, bắt đầu bằng neongate
ORBZ_PRESETSGiá trị màu được đóng băng cho từng bộ màu chuẩn; giữ lại một bí danh cũ bắt nguồn từ tên tài khoản, không thể liệt kê
ORBZ_COLOR_ATTRIBUTESÁnh xạ từ khóa màu đến tên thuộc tính gốc
ORBZ_COLOR_KEYSNăm khóa màu
DEFAULT_ORBZ_STATEidle
DEFAULT_ORBZ_SIZE16rem
DEFAULT_ORBZ_SPEED1
DEFAULT_ORBZ_REDUCED_MOTIONsystem
DEFAULT_ORBZ_PRESETneongate; xem cách đặt tên bộ màu
DEFAULT_ORBZ_COLORSCác màu của bộ màu Neongate
configKhông gian tên được đóng băng cung cấp các hằng số của gói, gồm config.ORBZ_STATES
talkĐối tượng tương thích rỗng đóng băng ({}); định nghĩa bước hội thoại trong ứng dụng
DEFAULT_TALK_FLOWMảng rỗng đóng băng ([]); không có lời chào, nhân vật hay hội thoại tích hợp

Các mảng và bản ghi bộ màu giúp tạo bộ điều khiển với giá trị hợp lệ mà không cần sao chép các giá trị gói chấp nhận.

import { DEFAULT_ORBZ_PRESET, ORBZ_PRESET_NAMES, ORBZ_STATES } from "@neongate-ai/orbz"; for (const state of ORBZ_STATES) { stateSelect.add(new Option(state, state)); } for (const preset of ORBZ_PRESET_NAMES) { const label = preset === DEFAULT_ORBZ_PRESET ? "Neongate" : preset; presetSelect.add(new Option(label, preset)); }

Kiểu

Mục xuấtCấu trúc
OrbzStateKiểu hợp của năm tên trạng thái
OrbzReducedMotion"system" | "always" | "never"
OrbzPresetNameKiểu hợp của sáu tên chuẩn và một bí danh đầu vào cũ bắt nguồn từ tên tài khoản
OrbzSizenumber | string
OrbzColorsCác chuỗi bắt buộc primary, secondary, accent, highlight và background
OrbzColorOverridesOrbzColors dạng một phần
OrbzBaseOptionsTùy chọn trạng thái, kích thước, tốc độ, tạm dừng, bóng nổi và giảm chuyển động
OrbzPresetOptionsChế độ bộ màu có sẵn; các khóa màu tùy chỉnh là never
OrbzCustomColorOptionsChế độ màu tùy chỉnh; preset là never
OrbzColorSelectionKiểu hợp của chế độ bộ màu có sẵn và màu tùy chỉnh
OrbzOptionsCác tùy chọn cơ bản kết hợp với kiểu hợp lựa chọn màu
OrbzElementThuộc tính của phần tử gốc và các phương thức phát
OrbzElementConstructorHàm tạo phần tử tùy chỉnh có kiểu
OrbzTalkStepBước hội thoại có kiểu, với hành vi xác định hoặc được hỗ trợ bởi cơ chế thông minh
OrbzTalkContextCác giá trị do bộ thực thi hội thoại thu thập và lưu trong bộ nhớ
OrbzVoiceOptionsCấu hình tùy chọn cho bộ máy giọng nói, luồng hội thoại và cơ chế thông minh
OrbzVoiceEnginePortHợp đồng cho đầu ra giọng nói do bên triển khai cung cấp
OrbzIntelligencePortHợp đồng cho phản hồi tùy chọn có kết quả không cố định
WebSpeechAdapterOptionsTùy chọn ngôn ngữ và vùng, giọng nói ưu tiên, tốc độ, cao độ, âm lượng và tải giọng nói
OpenAISpeechAdapterOptionsTùy chọn điểm cuối an toàn, mô hình giọng nói OpenAI, giọng nói, chỉ dẫn và định dạng

Bộ chuyển đổi giọng nói

Mục xuấtMục đích
WebSpeechAdapterTổng hợp giọng nói của trình duyệt với lựa chọn rõ ràng về ngôn ngữ, vùng và giọng nói
OpenAISpeechAdapterGiọng nói chất lượng OpenAI qua điểm cuối an toàn do bên triển khai quản lý

OpenAISpeechAdapter mặc định dùng gpt-4o-mini-tts, marin và MP3. Khóa API OpenAI được giữ tại điểm cuối và không bao giờ được đưa vào mã trình duyệt.

Hàm kiểm tra và chuẩn hóa

Mục xuấtMục đích
isOrbzState()Hàm kiểm tra kiểu cho trạng thái được hỗ trợ
isOrbzPresetName()Hàm kiểm tra kiểu chấp nhận tên chuẩn và một bí danh cũ bắt nguồn từ tên tài khoản
isOrbzReducedMotion()Hàm kiểm tra kiểu cho giá trị giảm chuyển động
normalizeOrbzState()Đầu vào không được hỗ trợ trở thành idle
normalizeOrbzPreset()Chuẩn hóa đầu vào cũ bắt nguồn từ tên tài khoản thành neongate; đầu vào không được hỗ trợ trở thành DEFAULT_ORBZ_PRESET
normalizeOrbzReducedMotion()Đầu vào không được hỗ trợ trở thành system
normalizeOrbzSize()Chuyển số thành pixel; đầu vào số không hợp lệ hoặc rỗng trở thành 16rem
normalizeOrbzSpeed()Đầu vào không dương hoặc không hữu hạn trở thành 1
mergeOrbzColors()Gộp các giá trị ghi đè hợp lệ, không rỗng vào bộ màu cơ sở

Chuẩn hóa cấu hình không đáng tin cậy trước khi lưu:

import { normalizeOrbzPreset, normalizeOrbzSpeed, normalizeOrbzState, } from "@neongate-ai/orbz"; const config = { preset: normalizeOrbzPreset(payload.preset), speed: normalizeOrbzSpeed(payload.speed), state: normalizeOrbzState(payload.state), };

Hàm hỗ trợ đăng ký

defineOrbz() là API thông thường để đăng ký rõ ràng. API này an toàn với SSR và có tính lũy đẳng:

import { defineOrbz } from "@neongate-ai/orbz"; const constructor = defineOrbz();

orbzElementClassFactory() chỉ tạo và lưu lớp vào bộ nhớ đệm khi globalThis.HTMLElement tồn tại. Hàm này được xuất cho các tích hợp nâng cao; phần lớn ứng dụng nên gọi defineOrbz().

import { orbzElementClassFactory } from '@neongate-ai/orbz' const constructor = orbzElementClassFactory() // undefined on a server; an OrbzElementConstructor in a browser

Cả hai hàm đều tránh đánh giá lớp con của HTMLElement khi không có DOM.

Cập nhật lần cuối vào