開源AGPL-3.0每一行程式碼,都攤開給你看。
完整的 iOS、Android 與網頁版用戶端,以 AGPL-3.0-or-later 授權。不用帳戶、不用訂閱,也不會回傳任何資料給我們。原始碼可以自己看、自己改、自己架。
$ git clone https://github.com/oriveo/oriveo.git $ cd oriveo
# Web · Node 22.22+ $ cd web && npm install $ npm run dev:app # localhost:3001
# iOS · Xcode 26, iOS 18+ $ open ios/Oriveo/Oriveo.xcodeproj
# Android · JDK 21 + Android SDK $ cd android && ./gradlew :app:assembleDebug
儲存庫不提供任何編譯好的安裝檔,沒有 APK,也沒有 .ipa。社群版是原始碼,需要你自己建置。
儲存庫裡有什麼
iOS · SwiftUI
SwiftUI 介面,對話記錄用 UIKit 繪製,資料存在 GRDB。用 Xcode 26 開啟專案,在 Signing 選你自己的 Team,就能裝到手機上。
Android · Compose
Jetpack Compose、Room、Koin、Ktor 和 OkHttp。裝好 JDK 21 與 Android SDK,跑一次 assembleDebug 就能產出安裝檔。
Web · Next.js
Next.js App Router、React、Zustand、TypeScript。這是整個專案裡唯一有伺服器的部分,而它不儲存 API 金鑰,也不儲存訊息。
macOS · 開發中
原生 macOS 用戶端還在開發中,完成後會放在這個目錄。它底層用的 Swift 連線層已經寫好,也在測試中。
三個用戶端如果各寫各的「怎麼呼叫供應商」,遲早會對不上。shared/ 把這些行為寫成資料:capabilityrecipe 定義請求怎麼組,model-contracts 定義用戶端能做什麼,test-fixtures 是錄下來的真實回應,OriveoProviderKit 則是 Swift 6.1 的連線核心。三個用戶端都拿同一份 JSON 來驗證。
同一份程式碼,兩種用法
三個用戶端的原始碼完全相同,差別只在帳戶、雲端同步,以及由我們付費的模型。
| 功能 | 社群版 | Oriveo 官方版 |
|---|---|---|
| 原始碼 | AGPL-3.0-or-later | 商業版本 |
| 用自己供應商的 API 金鑰聊天 | 有 | 有 |
| Relay 與本機模型伺服器 | 有 | 有 |
| 筆記、資料夾、Skills、附件 | 有 | 有 |
| 本機花費統計 | 有 | 有 |
| 帳戶 | Oriveo 帳戶 | |
| 儲存方式 | 存在裝置上,手動匯出與還原 | 預設存在本機,可另外開啟跨裝置雲端同步 |
| Usage Insights 與預算提醒 | 有 | |
| 由 Oriveo 付費的模型(Oriveo AI / Oriveo Free) | 有 | |
| 使用分析與當機回報 | 有 |
社群版使用 ai.oriveo.community 開頭的識別碼,可以和商店版裝在同一台裝置上,兩者不共用鑰匙圈,也不共用本機資料。
從你熟悉的地方開始
認領一個 issue
比修 bug 更大的改動,請先開 issue 討論。在 issue 裡對做法有不同意見,比在程式碼審查時才吵便宜得多。
私下回報安全漏洞
安全性問題請不要開公開 issue。請使用 GitHub 的私密漏洞回報功能,或寄信到 [email protected],主旨註明 SECURITY,我們會在幾天內回覆。
新增一種語言
介面支援 16 種語言,README 也一樣。覺得哪裡翻得不順,或想新增語言,都歡迎發 pull request。
請 clone 完整的儲存庫:三個用戶端都要從根目錄讀取 shared/ 的契約測試資料,淺層 clone 會導致測試無法通過。