Twenty:開源 CRM 的資料模型與部署邊界
開源 CRM,定位為 Salesforce 的替代方案,讓技術團隊基於 NestJS、PostgreSQL 與 GraphQL,以程式定義物件、欄位與檢視。
秒懂
- 它是什麼?
- 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 的預期,再決定是否放進既有流程。
社群筆記