การติดตั้ง¶
OpenJarvis รันบนฮาร์ดแวร์ของคุณทั้งหมด เลือก interface ที่เหมาะกับเวิร์กโฟลว์ของคุณ
แอปในเบราว์เซอร์¶
รัน UI แชทแบบเต็มรูปแบบในเบราว์เซอร์ของคุณ ทุกอย่างอยู่ในเครื่อง — backend รันบน
เครื่องของคุณ และ frontend เชื่อมต่อผ่าน localhost
ตั้งค่าด้วยคำสั่งเดียว¶
สคริปต์นี้จัดการทุกอย่างให้:
- ตรวจสอบ Python 3.10+ และ Node.js 18+
- ติดตั้ง Ollama หากยังไม่มี และดึงโมเดลเริ่มต้น
- ติดตั้ง dependency ของ Python และ frontend
- เริ่มเซิร์ฟเวอร์ API ฝั่ง backend และ dev server ฝั่ง frontend
- เปิด
http://localhost:5173ในเบราว์เซอร์ของคุณ
ตั้งค่าด้วยตนเอง¶
หากคุณต้องการรันแต่ละขั้นตอนด้วยตนเอง:
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync --extra desktop
uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml
cd frontend && npm install && cd ..
สิ่งที่ต้องมีก่อน
ต้องมี Rust (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh)
บน Python 3.14+ ให้ตั้งค่า PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 ก่อนรันคำสั่ง maturin
จากนั้นเปิด http://localhost:5173
แอปเดสก์ท็อป¶
แอปเดสก์ท็อปคือหน้าต่างเนทีฟสำหรับ UI แชทของ OpenJarvis การอนุมานและการประมวลผลฝั่ง backend ทั้งหมดเกิดขึ้นบนเครื่องของคุณเอง — แอปจะเชื่อมต่อกับ backend ที่คุณเริ่มไว้ในเครื่อง
การตั้งค่า¶
ขั้นตอนที่ 1. เริ่ม backend (เหมือนกับแอปในเบราว์เซอร์):
ขั้นตอนที่ 2. ดาวน์โหลดและเปิดแอปเดสก์ท็อป:
| แพลตฟอร์ม | ดาวน์โหลด |
|---|---|
| macOS (Universal) | OpenJarvis.dmg |
| Windows (64-bit) | OpenJarvis-setup.exe |
| Linux (DEB) | OpenJarvis.deb |
| Linux (RPM) | OpenJarvis.rpm |
| Linux (AppImage) | OpenJarvis.AppImage |
แอปจะเชื่อมต่อ http://localhost:8000 โดยอัตโนมัติ
macOS: \"app is damaged\"
หาก macOS แจ้งว่าแอปเสียหาย ให้ล้าง flag กักกันของ Gatekeeper:
เป็นเรื่องปกติสำหรับแอป open-source ที่แจกจ่ายนอก App Storeทุก Release
ดูทุกเวอร์ชันได้ที่หน้า GitHub Releases
Build จาก Source¶
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis/desktop
npm install
npm run tauri build
ตัวติดตั้งที่ build เสร็จจะอยู่ที่ frontend/src-tauri/target/release/bundle/
CLI¶
Command-line interface คือวิธีที่เร็วที่สุดในการโต้ตอบกับ OpenJarvis แบบเชิงโปรแกรม ทุกฟีเจอร์เข้าถึงได้จากเทอร์มินัล
ติดตั้ง¶
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync
uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml
ต้องมี Rust บน Python 3.14+ ให้ตั้งค่า PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 ก่อนรันคำสั่ง maturin
ตรวจสอบ¶
คำสั่งแรกๆ¶
jarvis ask "What is the capital of France?"
jarvis ask --agent orchestrator --tools calculator "What is 137 * 42?"
jarvis serve --port 8000
jarvis doctor
jarvis model list
jarvis chat
ต้องมี Inference Backend
CLI ต้องการ inference backend ที่กำลังรันอยู่ (เช่น Ollama) ดู การตั้งค่า inference backend ด้านล่าง
Python SDK¶
สำหรับการเข้าถึงเชิงโปรแกรม คลาส Jarvis มี API แบบ sync ระดับสูงให้ใช้งาน
ติดตั้ง¶
git clone https://github.com/open-jarvis/OpenJarvis.git
cd OpenJarvis
uv sync
uv run maturin develop -m rust/crates/openjarvis-python/Cargo.toml
ต้องมี Rust บน Python 3.14+ ให้ตั้งค่า PYO3_USE_ABI3_FORWARD_COMPATIBILITY=1 ก่อนรันคำสั่ง maturin
ตัวอย่างเบื้องต้น¶
from openjarvis import Jarvis
j = Jarvis()
print(j.ask("Explain quicksort in two sentences."))
j.close()
ใช้ร่วมกับ Agent และ Tools¶
result = j.ask_full(
"What is the square root of 144?",
agent="orchestrator",
tools=["calculator", "think"],
)
print(result["content"]) # "12"
print(result["tool_results"]) # tool invocations
print(result["turns"]) # number of agent turns
เลเยอร์การประกอบระบบ (Composition Layer)¶
หากต้องการควบคุมแบบเต็มรูปแบบ ใช้ SystemBuilder:
from openjarvis import SystemBuilder
system = (
SystemBuilder()
.engine("ollama")
.model("qwen3:8b")
.agent("orchestrator")
.tools(["calculator", "web_search", "file_read"])
.enable_telemetry()
.enable_traces()
.build()
)
result = system.ask("Summarize the latest AI news.")
system.close()
ดู คู่มือ Python SDK สำหรับเอกสารอ้างอิง API แบบเต็ม
ข้อกำหนดของระบบ¶
| สิ่งที่ต้องมี | เวอร์ชัน | ติดตั้ง | หมายเหตุ |
|---|---|---|---|
| Python | 3.10–3.13 | python.org | จำเป็น ยังไม่รองรับ 3.14+ (dependency หลักตัวหนึ่งยังไม่มี wheel สำหรับ 3.14) |
| uv | เวอร์ชันล่าสุด | curl -LsSf https://astral.sh/uv/install.sh \| sh หรือ brew install uv (macOS) |
ตัวจัดการแพ็กเกจและโปรเจกต์ของ Python |
| Git | เวอร์ชันใดก็ได้ | git-scm.com หรือ brew install git (macOS) |
จำเป็น |
| Rust | stable | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs \| sh |
จำเป็นสำหรับ Rust extension |
| Inference backend | เวอร์ชันใดก็ได้ | ดู ด้านล่าง | ต้องมีอย่างน้อยหนึ่งใน Ollama, vLLM, llama.cpp, SGLang หรือ cloud API |
| Node.js | 18+ | nodejs.org หรือ brew install node (macOS) |
จำเป็นสำหรับ browser UI; ต้องใช้ 22+ สำหรับ channel bridge ของ WhatsApp Baileys |
สำหรับผู้ใช้ macOS
ดู คู่มือติดตั้งบน macOS สำหรับขั้นตอนแบบละเอียดครบถ้วน ครอบคลุม Homebrew, uv, Rust, llama.cpp และปัญหาที่พบบ่อย
Extra เสริม¶
OpenJarvis ใช้ extra เสริมเพื่อให้การติดตั้งพื้นฐานยังคงเบาอยู่
Inference Backend¶
| Extra | คำสั่งติดตั้ง | คำอธิบาย |
|---|---|---|
inference-cloud |
uv sync --extra inference-cloud |
API ของ OpenAI และ Anthropic |
inference-google |
uv sync --extra inference-google |
Google Gemini API |
Ollama, vLLM และ llama.cpp เป็นแบบ HTTP-based
engine เหล่านี้ไม่มี Python dependency เพิ่มเติม — OpenJarvis สื่อสารผ่าน HTTP คุณยังต้องรันซอฟต์แวร์ของ engine นั้นบนเครื่องของคุณเองอยู่ดี
Memory Backend¶
| Extra | คำสั่งติดตั้ง | คำอธิบาย |
|---|---|---|
memory-faiss |
uv sync --extra memory-faiss |
FAISS vector store |
memory-colbert |
uv sync --extra memory-colbert |
ColBERTv2 late-interaction retrieval |
memory-bm25 |
uv sync --extra memory-bm25 |
BM25 sparse retrieval |
SQLite memory ใช้งานได้เสมอ
memory backend เริ่มต้นแบบ SQLite/FTS5 ไม่ต้องการ dependency เพิ่มเติมใดๆ
Server และอื่นๆ¶
| Extra | คำสั่งติดตั้ง | คำอธิบาย |
|---|---|---|
desktop |
uv sync --extra desktop |
เซิร์ฟเวอร์ Desktop/API พร้อมอินพุตเสียงในเครื่อง |
server |
uv sync --extra server |
เซิร์ฟเวอร์ API ที่เข้ากันได้กับ OpenAI (jarvis serve) |
dev |
uv sync --extra dev |
เครื่องมือพัฒนาและทดสอบ |
docs |
uv sync --extra docs |
เครื่องมือ build เอกสาร |
รวม extra หลายตัว:
การตั้งค่า Inference Backend¶
OpenJarvis ต้องการ inference backend อย่างน้อยหนึ่งตัว เลือกตัวที่ตรงกับฮาร์ดแวร์ของคุณ
Ollama (แนะนำ)¶
วิธีที่ง่ายที่สุดในการเริ่มต้น จัดการการดาวน์โหลดและให้บริการโมเดลโดยอัตโนมัติ
- ติดตั้งจาก ollama.com
-
เริ่มเซิร์ฟเวอร์และดึงโมเดล:
-
ตรวจสอบ:
jarvis model list
เหมาะกับ: Mac ที่ใช้ Apple Silicon, GPU NVIDIA ระดับผู้ใช้ทั่วไป, ระบบที่มีแค่ CPU
vLLM¶
การให้บริการแบบ throughput สูง ที่ปรับแต่งมาสำหรับ GPU ระดับ datacenter
- ติดตั้งตาม คู่มืออย่างเป็นทางการ
- เริ่ม:
vllm serve Qwen/Qwen2.5-7B-Instruct - ตรวจจับอัตโนมัติที่
http://localhost:8000
เหมาะกับ: GPU NVIDIA ระดับ datacenter (A100, H100), GPU AMD
llama.cpp¶
การอนุมานที่มีประสิทธิภาพทั้งบน CPU และ GPU ด้วยโมเดล GGUF แบบ quantized
- Build จาก github.com/ggerganov/llama.cpp
- เริ่ม:
llama-server -m /path/to/model.gguf --port 8080 - ตรวจจับอัตโนมัติที่
http://localhost:8080
Cloud API¶
uv sync --extra inference-cloud --extra inference-google
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
ขั้นตอนถัดไป¶
- Quick Start — รันคำถามแรกของคุณ
- Configuration — ปรับแต่ง engine host, การจัดเส้นทางโมเดล, memory และอื่นๆ