โอเพนซอร์ส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 รุ่นคอมมูนิตี้คือซอร์สโค้ดที่คุณ build เอง
ในคลังโค้ดมีอะไรบ้าง
iOS · SwiftUI
อินเทอร์เฟซ SwiftUI พร้อม transcript ที่เขียนด้วย UIKit และจัดเก็บด้วย GRDB เปิดโปรเจกต์ใน Xcode 26 เลือก Team ของคุณเองในส่วน Signing แล้วก็รันบนเครื่องของคุณได้เลย
Android · Compose
Jetpack Compose, Room, Koin, Ktor และ OkHttp เมื่อมี JDK 21 กับ Android SDK แล้ว สั่ง assembleDebug ครั้งเดียวก็ได้ไฟล์ build
Web · Next.js
Next.js App Router, React, Zustand, TypeScript เป็นส่วนเดียวของโปรเจกต์ที่มีเซิร์ฟเวอร์ และไม่เก็บทั้ง key และข้อความ
macOS · อยู่ระหว่างพัฒนา
ไคลเอนต์ macOS แบบเนทีฟอยู่ระหว่างพัฒนาและจะมาอยู่ในไดเรกทอรีนี้ ส่วนชั้น wire ภาษา Swift ที่มันใช้เป็นฐานนั้นเขียนเสร็จและอยู่ระหว่างการทดสอบแล้ว
ถ้าไคลเอนต์สามตัวต่างคนต่างเขียนว่า “จะเรียกผู้ให้บริการอย่างไร” สุดท้ายมันจะเพี้ยนออกจากกัน shared/ จึงเขียนพฤติกรรมนั้นลงไปเป็นข้อมูล — capabilityrecipe กำหนดว่าคำขอถูกประกอบขึ้นอย่างไร model-contracts กำหนดว่าไคลเอนต์ทำอะไรได้บ้าง test-fixtures คือการตอบกลับจริงที่บันทึกไว้ และ OriveoProviderKit คือ wire kernel ภาษา Swift 6.1 ไคลเอนต์ทั้งสามตัว assert กับ JSON ชุดเดียวกัน
โค้ดชุดเดียว สองวิธีในการรัน
ไคลเอนต์ทั้งสามมาจากซอร์สเดียวกัน ต่างกันที่บัญชี การซิงค์คลาวด์ และโมเดลที่เราเป็นคนจ่าย
| ความสามารถ | รุ่นคอมมูนิตี้ | Oriveo ทางการ |
|---|---|---|
| ซอร์สโค้ด | AGPL-3.0-or-later | บิลด์เชิงพาณิชย์ |
| แชตด้วย key ผู้ให้บริการของคุณเอง | รองรับ | รองรับ |
| Relay และเซิร์ฟเวอร์โมเดลในเครื่อง | รองรับ | รองรับ |
| โน้ต โฟลเดอร์ Skills และไฟล์แนบ | รองรับ | รองรับ |
| ติดตามค่าใช้จ่ายบนอุปกรณ์ | รองรับ | รองรับ |
| บัญชี | บัญชี Oriveo | |
| การจัดเก็บ | อยู่บนอุปกรณ์ ส่งออกและกู้คืนด้วยตนเอง | เก็บในเครื่องเป็นหลัก พร้อมซิงค์คลาวด์ข้ามอุปกรณ์ |
| Usage Insights และการแจ้งเตือนงบประมาณ | รองรับ | |
| โมเดลที่ Oriveo เป็นผู้จ่าย (Oriveo AI / Oriveo Free) | รองรับ | |
| การวิเคราะห์การใช้งานและรายงานข้อขัดข้อง | รองรับ |
บิลด์คอมมูนิตี้ใช้คำนำหน้าตัวระบุ ai.oriveo.community จึงติดตั้งอยู่ร่วมกับบิลด์จากสโตร์บนเครื่องเดียวกันได้ โดยไม่ใช้ keychain หรือข้อมูลในเครื่องร่วมกัน
เริ่มจากจุดที่คุณอยู่
หยิบ issue สักอัน
ถ้าเป็นการเปลี่ยนแปลงที่ใหญ่กว่าการแก้บั๊ก ให้เปิด issue ก่อน การเห็นต่างเรื่องแนวทางกันใน issue ถูกกว่าการเห็นต่างกันใน diff มาก
รายงานช่องโหว่แบบส่วนตัว
อย่าเปิด issue สาธารณะสำหรับปัญหาด้านความปลอดภัย ให้ใช้ private vulnerability reporting ของ GitHub หรือส่งอีเมลถึง [email protected] โดยใส่คำว่า SECURITY ในหัวเรื่อง คุณจะได้รับการตอบกลับภายในไม่กี่วัน
เพิ่มภาษา
อินเทอร์เฟซมี 16 ภาษา และ README ก็มีครบ 16 ภาษาเช่นกัน ถ้าคำแปลไหนอ่านแล้วไม่เป็นธรรมชาติ หรือคุณอยากเพิ่มภาษาใหม่ เรายินดีรับ pull request
กรุณา clone ทั้งคลังโค้ด — ไคลเอนต์ทั้งสามตัวอ่าน fixture ของสัญญาใน shared/ จากรากของคลังโค้ด และการ checkout แบบตื้นจะรันเทสต์ไม่ผ่าน
ถ้านำไปให้บริการต่อ ส่วนที่คุณแก้ก็ต้องเปิดเผยด้วย
สำหรับไคลเอนต์ที่อาจถือ API key ของผู้ใช้ นี่คือข้อจำกัดที่ถูกต้องพอดี ใครก็ตามที่โฮสต์เวอร์ชันหนึ่งขึ้นมา ผู้ใช้ย่อมอ่านได้ว่าเวอร์ชันนั้นทำอะไรจริง ๆ ส่วนการ build ไว้ใช้เองไม่ได้รับผลกระทบใด ๆ และการมีส่วนร่วมก็รับภายใต้เงื่อนไข AGPL-3.0-or-later เดียวกัน
ทุกโมเดล แอปเดียว key ของคุณ
เริ่มฟรี · ไม่ต้องใช้บัตรเครดิต · ไม่บวกเพิ่ม