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與生產建構 |
現在可以嘗試的內容
- 開啟公開測試版:https://creator-agent-yvetteysy.onrender.com(Auth0登入可選)。示範完全運行在免費Render服務上,因此在長時間不活動後首次請求可能需要約50秒。
- 粘貼一段簡短文字或上傳一個小型MP4及配套WebVTT字幕檔案。模擬器將在記憶體中分塊處理文字並立即使其可搜尋。
- 切換到觀眾預覽並提問;代理將僅使用已核准的區塊進行回答,並顯示來源引用。
- 開啟自訂以調整語音預設或禁止主題,觀察對下一次回答的影響。
- 使用負載實驗室提高模擬請求速率,觀察系統如何優雅地拒絕過量流量。
- 為實現零成本端對端流程,本地執行
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
預設模式使用記憶體內模擬器;不進行任何網路呼叫。
計畫中的路線圖(如倉儲所述)
- 持久化創作者工作區 – 跨會話持久化代理與來源。
- 私有影片攝入管道 – 完整掃描、轉錄與自動分塊。
- 生產級有根據聊天 – 向量嵌入(
pgvector)、檢索與與提供者無關的產生。 - 行動應用 – 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;未推斷任何額外功能。
相關
- 專案
- 專案
- 專案
- 專案