資源

術語表

ObjectOS 和 ObjectStack 中使用的詞彙 —— 每個術語一個定義。

本文件中使用的每個術語都有唯一的規範定義。

動作(Action)

在後設資料中宣告的具名操作,可以通過 REST(/api/v1/actions/<object>/<action>)、 UI 中的按鈕呼叫,並且 —— 一旦其作者把它暴露給 AI(ai.exposed)—— 也可以由 Agent 呼叫。呼叫者能否呼叫它,以呼叫者的身份檢查;隨後 script 主體作為可信的應用程式碼 執行。參見動作。

介面卡(Adapter)

把 ObjectStack 與宿主執行時整合的框架包 —— Express、Fastify、Hono、Next.js、 Nuxt、SvelteKit、NestJS。大多數 ObjectOS 部署不需要它;ObjectOS 自帶 HTTP 伺服器。

AI 席位(AI seat)

ObjectOS 的計價單位,也是每個版本中唯一計費的席位。檢視者、不使用產品內 AI 的應用 使用者,以及通過 MCP 構建的開發者都是免費的。參見 許可證與定價。

應用(App)

一組物件 + 檢視 + 許可權,呈現為一個可導航的應用。一個執行時中可以並存多個應用(例如 CRM + Helpdesk + Setup)。

產物(Artifact)

一個編譯後的 objectstack.json 檔案。對應用的自包含、不可變的描述 —— 清單、物件、 檢視、應用、流程、許可權、翻譯。由 os compile 產出。ObjectOS 實際執行的就是它。

Better Auth

驅動 @objectstack/plugin-auth 的認證庫。你不需要直接配置 Better Auth;外掛封裝 了它。

業務本體(Business ontology)

你的應用的定義 —— 物件和欄位、關係、動作、許可權、流程,以及 Agent 和工具的定義 —— 作為一個可執行、有版本的整體:以帶型別的 ObjectStack 後設資料編寫,經過校驗而不是 推理,並由執行時執行,執行時從中推匯出資料庫、REST API、UI 和 MCP 工具。檢視、 儀表盤、應用和翻譯是它的投影,而不是它的一部分。

它是可執行的,而不是知識本體:沒有物件繼承,沒有公理,沒有推理機。它也不是語義層 —— 那是覆蓋在現有系統之上的只讀對映,描述業務卻不執行業務。無論在哪個 ObjectOS 版本上它都屬於你:它是普通的 ObjectStack 後設資料,把它匯出到開源的 ObjectStack 執行時上執行尚在計劃中。在本站參見 ObjectOS 中你的本體;完整的闡述見 ObjectStack 文件中的 Business Ontology。

能力(Capability)

產物在其 requires 列表中宣告的可選執行時功能。對應一個包 —— 例如 audit → @objectstack/plugin-audit。由 ObjectOS 按需載入。參見 執行時能力。

CEL

Common Expression Language —— Google 的 安全、沙箱化的表示式語法。用於公式、驗證規則、許可權謂詞、共享規則和流程條件。

控制平面(Control Plane)

一項可選服務,向 ObjectOS 例項釋出有版本的產物。以 ObjectOS Cloud 的形式託管,或 自託管。大多數部署不需要它 —— 基於檔案的模式足以支撐單應用的生產環境。

驅動(Driver)

資料後端的實現:driver-sql(Postgres、MySQL、SQLite、Turso/libSQL)、 driver-mongodb、driver-memory。在啟動時通過資料庫 URL 選定。

嵌入器(Embedder)

為 RAG / 語義搜尋把文本轉換為向量的服務。可在多個提供商之間插拔(OpenAI、Azure、 矽基流動、Ollama……)。參見 AI 服務。

環境(Environment)

部署自身的身份 —— 它以 OS_ENVIRONMENT_ID 報告的 id,在雲繫結完成後持久儲存。 自管理的 ObjectOS 是一個單環境執行時:一個程序、一個環境、一個應用。持有多個 環境,併為每個環境釋出一個產物,是控制平面做的事。參見 環境變數。

欄位(Field)

物件上的帶型別屬性。約 48 種內建型別:text、select、lookup、markdown、 file、formula、summary 等。參見資料模型。

流程(Flow)

宣告式的業務邏輯 —— 自動啟動(記錄觸發)、定時(cron)或手動(按鈕 / API)。以帶有 條件/迴圈/重試/並行原語的 DAG 形式執行。參見 流程與自動化。

公式欄位(Formula field)

一種計算欄位,其值是在讀取時求值的 CEL 表示式。不儲存。

鉤子(Hook)

注入到物件生命週期中的函式(beforeInsert、afterUpdate……)。用 TypeScript 編寫。與流程不同:鉤子是一等的程式碼;流程是後設資料。

核心(Kernel)

ObjectOS 內部的微核心,負責載入外掛、持有 DI 容器、分發事件,並提供部署的後設資料。 一個程序在啟動時構建一個核心,在構建完成之前不會報告就緒 —— 所以不會有任何按請求的邏輯去決定提供哪份後設資料。

清單(Manifest)

位於產物開頭的頂層後設資料:id、namespace、version、type(app / plugin / service)、name、description、requires 列表。

市場(Marketplace)

內建的可安裝應用目錄。由可配置的包登錄檔支撐。參見市場。

MCP(Model Context Protocol)

一個讓 AI Agent 發現和呼叫工具的開放協議。每個 ObjectOS 部署都是位於 /api/v1/mcp 的 MCP 伺服器,預設開啟:每個物件都是一個工具,其作者暴露給 AI(ai.exposed)的 每個動作也是。每次呼叫都以呼叫者的身份執行。參見 接入 AI 工具(MCP)。

物件(Object)

一個帶型別的業務實體 —— task、account、invoice。以 TypeScript schema 宣告; 自動生成 REST API、檢視、審計條目和 RBAC 檢查點。參見資料模型。

ObjectOS

構建在 ObjectStack 之上的執行環境,一個產品、三個版本:ObjectOS Community —— 開源的執行時和 Console,在 Apache-2.0 下免費,在 objectstack 倉庫中開發; ObjectOS Cloud —— 託管在瀏覽器中,無需安裝任何東西;以及 ObjectOS Enterprise —— 需許可證,在你自己的基礎設施上自管理。Cloud 和 Enterprise 按 AI 席位計價;把 Cloud 或 Enterprise 上的本體匯出到開放的執行時上執行,尚在計劃中。 本文件站點是關於 ObjectOS 的。

ObjectQL

資料層協議和查詢引擎。把宣告式查詢編譯為原生的 SQL / Mongo 查詢。REST 端點、UI、 流程都使用它 —— 全部是同一個引擎。

ObjectStack

開放的技術棧,Apache-2.0:執行業務本體的協議、微核心、SDK、CLI 和生產執行時 —— 即 @objectstack/* npm 包和執行時映象。ObjectOS 是構建在它之上的執行環境: ObjectOS Community 就是這個開放的執行時和 Console,採用同樣的 Apache-2.0 許可, 而 ObjectOS Cloud 和 ObjectOS Enterprise 是建立在其上的商業版本。

ObjectUI

檢視層協議 —— 應用、檢視、頁面、儀表盤、動作、圖表、導航。ObjectOS 渲染 ObjectUI 宣告。

許可權集(Permission Set)

一組授權 —— 物件許可權、欄位許可權、系統許可權。直接附加到使用者,或通過崗位附加。是主要的 授權單元。參見許可權。

外掛(Plugin)

用一項能力擴充套件執行時的框架包 —— plugin-auth、plugin-security、 plugin-audit、plugin-webhooks、mcp 等。通過 DI + 生命週期鉤子 (init → start → destroy)啟用。

崗位(Position)

使用者所擔任的職能 —— "Sales Manager"、"Support Agent"、"Auditor"。從 ObjectStack 13 起唯一的人員分組概念,並且有意設計為扁平的:彙報結構改為放在業務單元樹上。崗位 把應用和標籤頁定向到某個受眾、指定審批人,並把許可權集分配給擔任它的每個人。參見 崗位。

專案(Project)

環境的舊名稱。它仍保留在繼承來的配置和框架內部的識別符號中;ObjectOS 文件使用 環境。

投影(Projection)

檢視、儀表盤、應用或翻譯:與業務本體並列編寫、經過同一道 校驗關卡檢查的後設資料,但不是本體的一部分。投影呈現核心 —— 網格 上的物件欄位、圖表上對物件的查詢、某個語言區域中的每個標籤。修改核心,它的投影會 隨之變化;移除一個投影,它所展示的業務不會改變。參見 ObjectOS 中你的本體。

記錄共享(Record Share)

針對特定記錄、授予一個接收方的直接訪問 —— 一個使用者(user)、一個團隊(team)、 一個崗位(position)、一個業務單元(business_unit),或者一個業務單元連同其下 的每個單元(unit_and_subordinates)。儲存為 sys_record_share 行,其 recipient_type 列恰好取這五個值。不同於共享規則(宣告式條件)。

Setup

內建的管理應用,位於 /_console/ 所提供的 UI 中的 /apps/setup,由 setup.access 許可權門控。管理使用者、業務單元、團隊、崗位、許可權集、共享規則、記錄共享和 API 金鑰, 以及配置、診斷和整合。參見配置。

共享規則(Sharing Rule)

一種基於條件授予記錄訪問的宣告式規則("區域經理可以看到其所在區域的記錄")。在查詢 時求值,編譯為行級過濾條件。沒有條件而儲存的規則什麼都不共享 —— 它並不匹配 全部。參見記錄訪問。

Studio

內建的後設資料編寫介面,位於 /_console/ 所提供的 UI 中的 /studio,由 studio.access 許可權門控。後設資料本身在這裡被設計 —— 包、物件、應用、流程和許可權集 —— 每次一個包,分為四個支柱:Data、Automations、Interfaces、Access。它與 Setup 並列,而不是 Setup 的一部分:Setup 運營一個執行中的部署(它的人員、他們的授權、它的 配置),Studio 編寫這個部署所執行的內容 —— 因此許可權在 Studio 中設計,在 Setup 中 分配。與 Setup 不同,它不是 /apps/ 下的應用;UI 把它作為獨立的路由子樹提供。 參見配置。

介面入口(Surface)

執行中的 ObjectOS 暴露的 HTTP 入口之一:/(REST API)和 /_console/(UI)。是 兩個,不是三個 —— 賬戶不是一個獨立的入口。登入、註冊和賬戶自助服務都是 UI 內部 的路由:

賬戶介面位於
登入/_console/login —— 你未登入時,每個受保護的頁面都會把你送到這裡
註冊/_console/register —— 除非部署停用了自助註冊
賬戶自助服務/_console/apps/account —— Account 應用,與位於 /_console/apps/setup 的 Setup 並列

沒有 /_account/ 入口。獨立的賬戶門戶被移除時,它也隨之退役,這些 URL 現在返回 404。

系統上下文(System Context)

外掛、鉤子和種子指令碼在需要繞過安全檢查時使用的內部執行模式。可審計;不暴露給使用者 程式碼。

租戶(Tenant)

共享同一個部署的各組織之間的隔離邊界。隔離牆式租戶姿態會豎起這道牆,它是一項需 許可證的能力。這些組織仍然共享部署的應用、資料庫和後設資料,所以這道牆隔開的是它們的 資料和成員資格,而不是它們的模式。參見 多組織部署。

觸發器(Trigger)

觸發流程的條件 —— 記錄事件(after_insert)、定時(cron)或手動呼叫。

校驗關卡(Validation gate)

所有後設資料在執行之前都要通過的同一套檢查:@objectstack/spec 的 schema,以及那些 捕獲能通過型別檢查、卻會在執行時靜默失敗的問題的編寫規則 —— 錯誤的 CEL 謂詞、對 不存在之物的引用。os validate 和 os compile 在倉庫原始碼上執行它,執行時也會對每 一次上線的後設資料寫入應用同一道關卡,無論它來自 AI Builder、Studio 還是後設資料 API。 參見 ObjectStack 文件中的 Validating Metadata。

檢視(View)

宣告式的 UI 配置 —— 列表、表單、看板、日曆、甘特圖 —— 附加在物件上。ObjectOS 渲染 它;你不需要編寫元件。

Zod schema

@objectstack/spec 使用的執行時 + 編譯時型別系統。每個物件、欄位、檢視、應用、流程 都由一個 Zod schema 解析和校驗。JSON Schema、TypeScript 型別和 REST 請求校驗器都 派生自同一組 Zod 定義。