跳到主要內容
Unhinted

畀想睇 source 嘅人

MIT 開源,行喺你自己部機。

呢頁一次過講清楚 Unhinted 用咩砌、條 pipeline 點行、點樣自己 deploy。安裝細節、config 同 ADR 都喺 repo 度,呢度唔重複。

用咩砌

後端 FastAPI(Python),前端 React 單頁 app,資料庫 PostgreSQL 加 pgvector。Agent loop 用 LangGraph 編排,所有 model 呼叫行 LiteLLM。

FastAPI
REST API 同 agent session,SSE 串流
React
對話式改稿嘅單頁 app
PostgreSQL + pgvector
資料、向量、產品 embedding 一個 DB
LangGraph
由揀角度到起稿嘅 agent loop
LiteLLM
Model-agnostic,換 provider 唔使改 code

由熱話到出街

  1. 1

    定時搵熱話

    Scheduler 每個鐘頭 ingest 香港熱話(Google Trends HK);想做多啲 research,可以配 Tavily。

  2. 2

    LLM 淨係管起稿

    揀角度、寫 caption、跟你改 —— 呢個 loop 先行 LangGraph。起稿之前,本機 embedding(FastEmbed)會先過濾唔關事嘅嘢。

  3. 3

    發佈係普通程式

    你撳 Confirm,後端先行一條正常嘅 HTTP publish flow。LLM 由頭到尾掂唔到「發佈」制,冇得自己出街。

Model 任你配

預設行 OpenAI,但任何 OpenAI-compatible endpoint 都接得 —— OpenRouter、DeepSeek、Azure、local gateway 都得。Model 分平、中、強三級,image model 另外配。

每個組織可以帶自己嘅 LLM API key(BYOK),喺資料庫以 Fernet 加密存放;冇嘅話,就用環境變數嘅 fallback key。

一個 Compose 起喺自己部機

All-in-one package 包埋 pgvector Postgres,起好開 localhost:8484,第一次有 setup wizard 帶你行。已經有 Postgres?有 external-db 嘅 compose 檔。

媒體檔案預設落地本機 disk,之後想搬去 S3-compatible 儲存都得,唔使停機。發佈用嘅 Instagram 連接預設係你自己嘅 Meta app(BYO app),唔經我哋。

終端機
curl -LO https://github.com/brandon-wsc/unhinted-marketing/releases/latest/download/compose.yaml
docker compose -f compose.yaml up -d
# → http://localhost:8484

講明先

而家仲係 pre-release(beta):發佈目標暫時淨係 Instagram,預設 publish adapter 係 stub —— 接咗 Meta app 先會真係出得街。

成個 repo MIT 授權。見到唔順眼嘅嘢,開 issue 或者 PR 都得。