Concierge.
面向智能體就緒 Web 應用的安全動作層。
型別化、經同意把關的操作,讓 AI 執行你的網頁應用;而不必接管瀏覽器。
三個套件,同一發行集
先安裝用於框架無關整合的核心執行階段,再加入對應轉接器。請一併安裝與升級,讓每個轉接器都解析到同一份實體核心。
$ pnpm add @full-self-browsing/concierge zod$ pnpm add @full-self-browsing/concierge@^0.2 \
@full-self-browsing/concierge-react@^0.2 zod版本 0.2.1 是執行階段合約 v2 上受支援的公開預覽。React 與 Svelte 套件根在伺服器上是安全的;其執行階段繫結位於 /client 與 /client.svelte。邊緣部署不屬於 0.2 支援矩陣。
發布動詞,而不是頁面表面
通用瀏覽器自動化會從頁面結構、選擇器或座標重建意圖。Concierge 讓協作應用發布 AI 在此刻可以使用的精確動詞。
FSB 操作不協作的網站。Concierge 是協作應用的動作層。這兩個專案涵蓋智能體瀏覽堆疊的不同部分。
從宣告到結構化結果
應用定義具名動作,包含說明、輸入模式、可用性規則、效果中繼資料、遮罩政策與處理器。
Concierge 將作用中階段及其可用動作解析為一份帶實例本地修訂號的不可變目錄快照。
模型只收到該快照允許的工具。
Concierge 在執行前再次核對每個請求的動作,套用同意與排程規則,並拒絕過期或衝突的呼叫。
應用橋接執行已核准的介面操作並回傳結構化結果。
應用
動作定義、即時狀態、介面操作、身分驗證與伺服器授權。
Concierge
目錄准入、核對、同意、排程、去重、分發與工作流程。
模型整合
工具呈現、模型呼叫、工具關聯與結果傳遞。
宣告一個動作。解析一份目錄。
把每個動作定義為具名常數,掛到一個階段,並為目前應用狀態解析一份原子目錄快照。
- 階段、可用性、工具與修訂號一併解析
- 只有字面值 true 才會放行動作;其他一律失敗關閉
- 已解析目錄被深度凍結,絕不是跨執行階段權威
import { createBridge, createConcierge, defineAction, offPageResult } from "@full-self-browsing/concierge";
import { z } from "zod";
const projectBridge = createBridge<{
actions: { openProject(id: string): void };
snapshot: { activeProject(): string | null };
}>("project-ui");
const openProject = defineAction({
name: "openProject",
description: "Open one project in the application preview.",
schema: z.object({ projectId: z.string().min(1).max(64) }).strict(),
jsonSchema: {
type: "object",
properties: { projectId: { type: "string", minLength: 1, maxLength: 64 } },
required: ["projectId"],
additionalProperties: false,
},
redact: ({ projectId }) => ({ projectId }),
effects: { readOnly: false, destructive: false, idempotent: true },
handler: ({ args, bridge }) => {
if (bridge === null) {
return offPageResult("Project opening", "project interface");
}
bridge.actions.openProject(args.projectId);
return { ok: true, message: `Opened project ${args.projectId}.` };
},
});
const concierge = createConcierge({
stages: [
{
id: "projects",
match: (context) => context.pathname === "/projects",
actions: [openProject],
bridge: projectBridge,
},
],
});
const catalog = concierge.resolveCatalog({ pathname: "/projects" });
// → catalog.stage · catalog.revision · catalog.tools one snapshot核心執行階段加框架繫結
公開套件組成固定發行集,並共享執行階段合約 v2。
@full-self-browsing/concierge框架無關的目錄、分發、同意、工作流程、遙測與傳輸執行階段。
@full-self-browsing/concierge-reactReact 上下文、橋接生命週期,以及包含 ConciergeActivityOverlay 的可選活動視覺。
@full-self-browsing/concierge-svelteSvelte 上下文、橋接生命週期與回應式快照正規化。
一個實例,多個入口
透過對應轉接器掛載同一 Concierge 實例與橋接登錄。以 getter 為基礎的狀態保持即時,直到 Concierge 為核對或同意擷取快照。
原始 onToolCall 值只是顯示資料。它們從不驅動應用。已簽署橋接會驗證信封、消耗重放鍵、與即時瀏覽器目錄比較,然後才進入核心分發。
執行階段堅守的邊界
Dispatch outcome
completed最小權限邊界,而不是身分驗證系統
安全模型
Concierge 不驗證使用者,用戶端同意紀錄也不是伺服器授權。執行受保護效果的伺服器必須獨立驗證目前主體,依現行政策授權精確動作與承載,拒絕重放,並使效果冪等或交易化。
已簽署的 AI 橋接會驗證一項短時伺服器決定,以放行一個特定瀏覽器批次。它不會讓模型輸出變得可信,不會修復 XSS 弱點,也不會把用戶端狀態變成伺服器權威。
在上線有後果的整合之前,請閱讀 SECURITY.md。
遙測
已掛載的 React 與 Svelte 執行階段預設會向 FSB 的彙總統計管線傳送匿名用量估計。原生整合透過僅瀏覽器的 /telemetry 入口明確掛載遙測,該入口也提供狀態與退出 APIs。
遙測從不傳送動作名、參數、結果、模式、階段、頁面 URLs、DOM 內容、應用名或帳戶識別。若瀏覽器儲存不可用,遙測會停止且不影響分發。
閱讀遙測隱私合約以了解承載、保留與刪除。