Skip to content

ispivak/openviktor

 
 

Repository files navigation

OpenViktor — Hire your AI employee. For any role.

CI MIT License Issues Stars Bun TypeScript Strict Docker Compose

An autonomous AI agent that joins your Slack workspace as a team member.
Open-source. Self-hosted. Extensible. MIT-licensed.

Read the story behind OpenViktor · Self-Hosting Guide · Report a Bug


What is OpenViktor?

OpenViktor is a fully autonomous AI teammate that lives in Slack. It reads messages, runs tools, learns from your team, and takes action — without leaving the chat. Think of it as hiring an AI employee that actually integrates into how your team already works.

Built as an open-source alternative to Viktor.

Features

Agent Runtime — Multi-provider LLM engine (Claude, GPT, Gemini) with automatic retries, cost tracking, and usage limits per workspace.

20+ Built-in Tools — File operations, bash execution, browser automation, git, grep, AI-powered search, Slack admin, image generation, and more. Every tool is sandboxed with a permission system.

Persistent Memory — Learns from your team's conversations. Accumulates knowledge over time and recalls it when relevant.

Proactive Behaviors — Scheduled heartbeats, workflow discovery, channel introductions, and onboarding DMs for new workspaces. It doesn't just respond — it initiates.

Integrations — Connects to GitHub, Linear, and 2,000+ apps via Pipedream. Add custom API integrations through natural language.

Admin Dashboard — Full management UI: monitor runs, inspect threads, manage tools, track usage and costs, configure integrations.

Multi-Workspace — OAuth-based workspace connections with per-workspace isolation, usage limits, and cost controls.

Self-Hosted — Runs entirely on your infrastructure. Docker Compose, PostgreSQL, Redis. No data leaves your network.

Quick Start

git clone https://github.com/zggf-zggf/openviktor.git
cd openviktor
./scripts/setup.sh

The setup script handles dependencies, database, and config. You'll need:

Manual setup
bun install
cp docker/.env.example .env
# Edit .env with your credentials
docker compose -f docker/docker-compose.yml up -d
bun run db:generate
bun run db:migrate
bun run dev

For production deployment, see the Self-Hosting Guide.

Architecture

openviktor/
├── apps/
│   ├── bot/              # Slack bot + agent runtime
│   ├── web/              # Admin dashboard (React + Vite)
│   └── landing/          # Landing page (Next.js)
├── packages/
│   ├── db/               # PostgreSQL schema (Prisma)
│   ├── shared/           # Types, config, logger, errors
│   ├── tools/            # Tool registry + executors
│   └── integrations/     # External service clients
└── docker/               # Docker Compose for self-hosting
Component Technology
Runtime Bun
Language TypeScript (strict)
Database PostgreSQL 16 + Prisma
Cache Redis 7
LLM Claude / GPT / Gemini
Slack Bolt SDK (Socket Mode)
Build Turborepo
Lint/Format Biome
Test Vitest
Deploy Docker Compose

Development

bun install                                          # Install dependencies
docker compose -f docker/docker-compose.yml up -d    # Start PostgreSQL + Redis
bun run db:generate                                  # Generate Prisma client
bun run db:migrate                                   # Run migrations
bun run dev                                          # Start all services
bun run test                                         # Run tests
bun run lint                                         # Lint with Biome
bun run typecheck                                    # TypeScript strict check

Roadmap

Feature Status
Pre-send reflection — review and refine responses before sending Planned
Email tools — send, read, and manage email from Slack Planned
Spaces — host and serve apps directly from OpenViktor Planned

Contributing

Contributions welcome. See CONTRIBUTING.md for guidelines.

License

MIT — use it however you want.

About

Your AI employee for Slack — open source, self-hosted, MIT licensed

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • TypeScript 92.2%
  • Python 4.9%
  • HCL 1.2%
  • Shell 0.8%
  • CSS 0.7%
  • HTML 0.1%
  • Other 0.1%