MCPcopy Index your code
hub / github.com/BodhiSearch/BodhiApp

github.com/BodhiSearch/BodhiApp @v0.0.25

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.0.25 ↗ · + Follow
2,373 symbols 7,440 edges 455 files 201 documented · 8%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bodhi App

Mac/Linux Build Windows Build Release Coverage

Bodhi App Logo

Table of Contents

Overview

Bodhi App allows you to run Open Source LLMs locally. It utilizes the Huggingface ecosystem for accessing open-source LLM weights and information and is powered by llama.cpp.

While many apps that help you run LLMs locally are targeted at technical users, Bodhi App is designed with both technical and non-technical users in mind.

For technical users, it provides OpenAI-compatible chat completions and models API endpoints. It includes comprehensive API documentation following OpenAPI standards and features a built-in SwaggerUI that allows developers to explore and test all API endpoints live.

For non-technical users, it comes with a built-in Chat UI that is quick to start and easy to understand. Users can quickly get started with open-source models and adjust various settings to suit their needs. The app also enables users to discover, explore, and download new open-source models that fit their requirements and are compatible with their local hardware.

Features

  • Built-in Chat UI: Enjoy an intuitive, responsive chat interface with real-time streaming, markdown support, and customizable settings
  • Model Management: Download and manage GGUF model files directly from HuggingFace
  • API Token Management: Securely generate and manage API tokens for external integrations
  • Dynamic App Settings: Easily adjust application parameters (like execution variant and idle timeout) on the fly
  • Responsive Design: A fully adaptive layout that works seamlessly across desktop and mobile devices
  • Robust Error Handling: Comprehensive error logging and troubleshooting guides to help quickly identify and resolve issues

Installation

Bodhi App is currently released only for the Mac platform. You can install it either by downloading the release from the GitHub release page or using Homebrew.

Homebrew

Bodhi App hosts its external cask at BodhiSearch/homebrew-apps. Install Bodhi App using this command:

brew install --cask BodhiSearch/apps/bodhi

Once installed, launch Bodhi App.app from the /Applications folder. You should see the Bodhi App icon in your system tray. Launch the homepage from the system tray menu by selecting Open Homepage.

GitHub Releases

Download the latest release for your platform from the Releases page.

Unzip and move Bodhi.app to your /Applications folder, then launch it. You should see the Bodhi App icon in your system tray. Launch the homepage from the system tray menu by selecting Open Homepage.

Setup

On first launch, Bodhi App starts with a setup flow. Follow this process to configure and install Bodhi App for your local machine and get started.

Documentation

Bodhi App comes with built-in documentation:

API Client

Bodhi App provides a TypeScript client for easy integration with the API:

Installation

npm install @bodhiapp/ts-client

Usage

import { BodhiClient } from "@bodhiapp/ts-client";

// Initialize the client
const client = new BodhiClient({
  baseUrl: "http://localhost:1135",
  apiKey: "your-api-key",
});

// Create a chat completion
async function chatWithBodhi() {
  const response = await client.createChatCompletion({
    model: "gpt-3.5-turbo",
    messages: [
      { role: "system", content: "You are a helpful assistant." },
      { role: "user", content: "Hello, who are you?" },
    ],
  });

  console.log(response.choices[0].message.content);
}

For more information, see the ts-client documentation.

Community

Web & Desktop

Open WebUI

{width=600px}

(Open up a pull request on README.md to include community integrations)

Powered By

llama.cpp

huggingface.co

Extension points exported contracts — how you extend this code

IntoRow (Interface)
(no doc) [3 implementers]
crates/commands/src/objs_ext.rs
HubService (Interface)
(no doc) [3 implementers]
crates/services/src/hub_service.rs
ShutdownCallback (Interface)
(no doc) [2 implementers]
crates/server_app/src/server.rs
ServerFactory (Interface)
(no doc) [2 implementers]
crates/server_core/src/shared_rw.rs
LocalizationService (Interface)
(no doc) [1 implementers]
crates/objs/src/localization_service.rs
Server (Interface)
(no doc) [1 implementers]
crates/llama_server_proc/src/server.rs
operations (Interface)
(no doc)
app/types/api.d.ts
DocsData (Interface)
(no doc)
crates/bodhi/vite-plugins/docs-generator.ts

Core symbols most depended-on inside this repo

json
called by 309
crates/server_core/src/test_utils/http.rs
get
called by 264
crates/server_core/src/shared_rw.rs
build
called by 204
crates/lib_bodhiserver/src/app_options.rs
createWrapper
called by 203
crates/bodhi/src/tests/wrapper.tsx
status
called by 170
crates/objs/src/error/common.rs
cn
called by 139
crates/bodhi/src/lib/utils.ts
path
called by 129
crates/objs/src/repo.rs
with
called by 54
crates/services/src/test_utils/secret.rs

Shape

Function 1,179
Method 750
Class 218
Interface 137
Enum 82
Route 7

Languages

Rust66%
TypeScript20%
Python14%
Java1%
Ruby1%
Go1%

Modules by API surface

crates/services/src/setting_service.rs78 symbols
crates/services/src/db/service.rs47 symbols
crates/services/src/hub_service.rs40 symbols
crates/services/src/data_service.rs36 symbols
crates/errmeta_derive/src/lib.rs35 symbols
crates/services/src/auth_service.rs33 symbols
crates/services/src/test_utils/db.rs32 symbols
crates/services/src/test_utils/app.rs32 symbols
crates/lib_bodhiserver/src/app_service_builder.rs30 symbols
crates/routes_app/src/routes_login.rs28 symbols
crates/server_core/src/shared_rw.rs27 symbols
crates/objs/src/gguf/metadata.rs27 symbols

For agents

$ claude mcp add BodhiApp \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page