自架服務
twentyhq/twenty avatar
twentyhq/twenty

Twenty:開源 CRM 的資料模型與部署邊界

開源 CRM,定位為 Salesforce 的替代方案,讓技術團隊基於 NestJS、PostgreSQL 與 GraphQL,以程式定義物件、欄位與檢視。

56,749 個 Star9,073 個 ForkTypeScript授權條款依專案而異

秒懂

它是什麼?
CRM 物件、self-hosted 環境、權限與自訂欄位。本文聚焦 README 已列出的輸入、設定、命令與輸出,說明它在實際工作流程中的責任邊界。
適合誰用?
適合正好需要 CRM 物件、self-hosted 環境、權限與自訂欄位,且能依 docker compose up -d 建立檢查紀錄的人;不適合只想跳過輸入、版本或平台條件的人。先執行 docker compose up -d,核對專案實際輸出與 README 的預期,再決定是否放進既有流程。
可以商用嗎?
請先確認。這個儲存庫使用的授權不在我們自動分類的範圍內,商用前請閱讀儲存庫中的 LICENSE 檔案。
還在維護嗎?
有在維護。儲存庫最近一次提交在 1 天前。
用什麼語言寫的?
主要是 TypeScript(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月14日)與我們的分析,不構成法律意見。

開源專案深度解析

Twenty:開源 CRM 的資料模型與部署邊界:輸入與問題邊界

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。輸入與問題邊界 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。輸入與問題邊界的第2次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 輸入與問題邊界 對應的範圍。

Twenty:開源 CRM 的資料模型與部署邊界:README 裡的核心名詞

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。README 裡的核心名詞 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。README 裡的核心名詞的第3次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 README 裡的核心名詞 對應的範圍。

Twenty:開源 CRM 的資料模型與部署邊界:實際命令與輸出

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。實際命令與輸出 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。實際命令與輸出的第4次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 實際命令與輸出 對應的範圍。

Twenty:開源 CRM 的資料模型與部署邊界:設定檔的責任分界

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。設定檔的責任分界 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。設定檔的責任分界的第5次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 設定檔的責任分界 對應的範圍。

Twenty:開源 CRM 的資料模型與部署邊界:版本與維護判讀

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。版本與維護判讀 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。版本與維護判讀的第6次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 版本與維護判讀 對應的範圍。

Twenty:開源 CRM 的資料模型與部署邊界:適合納入的工作流程

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。適合納入的工作流程 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

twenty 的 README 將 CRM 物件、self-hosted 環境、權限與自訂欄位 放在同一條可追蹤的使用路徑上。讀者先要釐清輸入從哪裡來、處理在哪裡發生、結果落在哪裡,才有辦法分辨範例、預設值與真正的契約。這個分界也說明它能解決哪一種具體工作,不能代替哪些周邊系統。請把專案名稱、檔案位置與命令一起記錄,因為它們會直接影響重現結果。適合納入的工作流程的第7次檢查 時可執行 docker compose up -d,觀察終端輸出、產物或服務狀態,再對照 README 所列的行為。若輸入格式、平台條件或權限要求不同,差異應回到該專案的設定與原始資料處理,而不是以概括描述掩蓋。這也是判斷是否適合目前團隊的實際依據。

README 的專案描述是:The open alternative to Salesforce, designed for AI.,本節只討論 適合納入的工作流程 對應的範圍。

編輯結論

適合正好需要 CRM 物件、self-hosted 環境、權限與自訂欄位,且能依 docker compose up -d 建立檢查紀錄的人;不適合只想跳過輸入、版本或平台條件的人。先執行 docker compose up -d,核對專案實際輸出與 README 的預期,再決定是否放進既有流程。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記