OnyxAxisOwO/ObsidianArc

A self-hosted AI platform with a Go server, multi-provider routing, usage tracking and an admin console, with chat and agentic work modes.

What it solves

Obsidian Arc provides a comprehensive, self-hosted solution for managing multi-user access to various AI models. It eliminates the need for complex infrastructure (like Redis or message queues) by bundling a chat interface and an API gateway into a single Go binary, allowing operators to control model routing, user quotas, and security in one place.

How it works

The system acts as a middleware between users and AI providers. It aggregates multiple APIs (OpenAI, Anthropic, DeepSeek, etc.) and exposes them through a unified interface. It uses SQLite or PostgreSQL for data persistence and includes an embedded Vue 3 frontend. For administrators, it provides a modular workbench and a command-line terminal (accessible via web or SSH) to manage users, groups, and system health.

Who it’s for

  • Self-hosters wanting a private, multi-user AI chat platform.
  • Operators who need to manage API costs and access via quotas and user groups.
  • Developers looking for a unified API gateway that supports both OpenAI and Anthropic formats.

Highlights

  • Unified API Gateway: Supports OpenAI and Anthropic Messages API formats, including tool calling and image generation.
  • Advanced User Management: Features user groups, invite codes, 2FA (TOTP), and OpenID Connect integration.
  • Granular Quota Control: Implements usage accounting with limits based on tokens or requests over custom time windows.
  • Robust Security: Includes proof-of-work challenges, email domain filtering, and encrypted storage of upstream API keys.
  • Project-Based Contexts: Allows users to organize conversations into projects with inherited system prompts.
  • Lightweight Footprint: Extremely low resource usage (approx. 16MB idle RSS) and fast cold starts.

Related

  • Project
  • Project
  • Project
  • Project