yvetteYSY/creator-agent

Build AI agents grounded in a creator's documents, audio, and video.

Creator Agent – 以隱私為先、行動端優先的原型:將創作者的內容轉化為有根據的AI聊天代理

是什麼 – 一個開源的Web應用(未來計畫推出React-Native行動端前端),允許內容創作者上傳文件、音訊轉錄或影片+字幕檔案,打上標籤,然後公開一個對話式「觀眾代理」,該代理僅基於已核准的內容回答問題。所有處理皆為決定性,且不向任何外部LLM提供者發出任何呼叫,因此在示範過程中不會產生API金鑰或Token成本。

為何重要 – 它展現了完整的全端架構模式:

  • 預設私密化攝入 – 資源保留在瀏覽器或受保護的後端,直到創作者明確核准用於檢索。
  • 租戶隔離 – 每位創作者擁有內部UUID;每個API請求皆限定於該ID,防止跨創作者資料外洩。
  • 零成本路由 – 內建的「參考代理」返回決定性、帶引用的回應,而無需呼叫模型;創作者之後可接入自己的端點(Bring-Your-Own-Agent 合約),此時模型使用完全由該端點所有者負責。
  • 安全優先的上傳管道 – MP4上傳直接進入私有S3相容儲存;一次性工作進程在進一步處理前使用ClamAV掃描檔案。

核心功能(MVP階段)

功能 實作
認證 Auth0 OIDC登入(PKCE);JWT驗證API路由
持久化工作區 PostgreSQL儲存創作者ID、代理版本、來源元資料
來源類型 粘貼文字、透過最小GitHub App的Markdown/MDX、MP4影片+可選WebVTT字幕
隱私控制 資源在創作者核准前僅可預覽;未核准內容不會被聊天引擎回傳
決定性聊天 瀏覽器內檢索引擎將查詢詞與已核准區塊匹配並回傳引用(或「我不知道」)——無模型推論
多使用者隔離 為模擬觀眾成員(Maya、Theo、Jules)提供獨立的對話歷史
代理自訂 語音預設、回應深度、簽名語句、禁止主題、問候語/語氣等,依創作者版本化
負載實驗室 可調的流量/並行限制,用於示範租戶感知的過載處理
Bring-Your-Own-Agent 文件化HTTP合約;創作者可將系統指向任何遵守合約的端點——模型使用責任歸於端點所有者
CI/CD GitHub Actions在每次PR上執行類型檢查、單元/UI測試、Lint與生產建構

現在可以嘗試的內容

  1. 開啟公開測試版:https://creator-agent-yvetteysy.onrender.com(Auth0登入可選)。示範完全運行在免費Render服務上,因此在長時間不活動後首次請求可能需要約50秒。
  2. 粘貼一段簡短文字或上傳一個小型MP4及配套WebVTT字幕檔案。模擬器將在記憶體中分塊處理文字並立即使其可搜尋。
  3. 切換到觀眾預覽並提問;代理將僅使用已核准的區塊進行回答,並顯示來源引用。
  4. 開啟自訂以調整語音預設或禁止主題,觀察對下一次回答的影響。
  5. 使用負載實驗室提高模擬請求速率,觀察系統如何優雅地拒絕過量流量。
  6. 為實現零成本端對端流程,本地執行 npm run dev:e2e——它將啟動模擬器和決定性參考代理(http://127.0.0.1:4310/v1/respond),報告 aiCalls: 0

如何在本地執行專案

# 前提:Node 22+
git clone https://github.com/yvetteYSY/creator-agent.git
cd creator-agent
npm install
npm run dev          # 在 http://127.0.0.1:4173 啟動React模擬器
# 可選:依 docs/AUTHENTICATION.md 與 docs/API.md 設定Auth0 + PostgreSQL

預設模式使用記憶體內模擬器;不進行任何網路呼叫。

計畫中的路線圖(如倉儲所述)

  1. 持久化創作者工作區 – 跨會話持久化代理與來源。
  2. 私有影片攝入管道 – 完整掃描、轉錄與自動分塊。
  3. 生產級有根據聊天 – 向量嵌入(pgvector)、檢索與與提供者無關的產生。
  4. 行動應用 – Expo/React-Native客戶端、配額、審核、稽核日誌與可觀測性。

技術堆疊

  • 前端:React(Vite)+TypeScript,行動端響應式UI
  • API:Node.js+TypeScript(Fastify/NestJS風格),由Auth0 JWT保護
  • 資料庫:PostgreSQL(計畫使用pgvector用於嵌入)
  • 儲存:S3相容桶(私有,帶簽署POST策略)
  • 後台任務:Redis支援的工作者佇列(用於隔離掃描、清理等)
  • CI:GitHub Actions(類型檢查、測試、生產建構、依賴性審計)

誰可能從中受益

  • 希望在其現有媒體上實驗對話層,同時保持對資料完全控制的創作者。
  • 對隱私優先的內容攝入、租戶隔離與零成本AI-free原型設計的參考實作感興趣的開發者。
  • 建構「自帶模型」平台的團隊,需要一個清晰的契約來將使用者查詢路由至外部端點。

以上所有細節均直接取自倉儲的README;未推斷任何額外功能。

相關

  • 專案
  • 專案
  • 專案
  • 專案