Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
20 changes: 0 additions & 20 deletions .github/workflows/app-platform-release-prod.yml

This file was deleted.

29 changes: 0 additions & 29 deletions .github/workflows/ci-app-platform-dev.yml

This file was deleted.

54 changes: 0 additions & 54 deletions .github/workflows/ci-production-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -67,60 +67,6 @@ jobs:
build-contexts: |
go-common=packages/go-common

build-memory-tools:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/memory-tools/Dockerfile
context: services/memory-tools
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/memory-tools:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}

build-vector-store:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/mcp-tools/tools/vector-store-service/Dockerfile
context: services/mcp-tools/tools/vector-store-service
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/vector-store-service:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}

build-realtime-api:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/realtime-api/Dockerfile
context: services/realtime-api
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/realtime-api:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}
build-contexts: |
go-common=packages/go-common

build-platform:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: apps/platform/Dockerfile
context: .
registry-url: registry.menlo.ai
tags: registry.menlo.ai/menlo-platform/platform-web:prod-${{ github.ref_name }}
is_push: true
build-args: |
NEXT_PUBLIC_JAN_BASE_URL=https://api.jan.ai

build-web:
runs-on: ubuntu-latest
permissions:
Expand Down
27 changes: 0 additions & 27 deletions .github/workflows/deprecated-ci-app-platform-prod.yml

This file was deleted.

39 changes: 0 additions & 39 deletions .github/workflows/services-release-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,44 +55,5 @@ jobs:
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/response-api:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}

build-memory-tools:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/memory-tools/Dockerfile
context: services/memory-tools
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/memory-tools:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}

build-vector-store:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/mcp-tools/tools/vector-store-service/Dockerfile
context: services/mcp-tools/tools/vector-store-service
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/vector-store-service:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}

build-realtime-api:
uses: ./.github/workflows/_reusable-docker.yml
secrets: inherit
with:
runs-on: ubuntu-24-04-docker
docker-file: services/realtime-api/Dockerfile
context: services/realtime-api
registry-url: registry.menlo.ai
tags: registry.menlo.ai/jan-server/realtime-api:prod-${{ github.ref_name }}
is_push: true
build-args: |
VERSION_TAG=${{ github.ref_name }}
61 changes: 3 additions & 58 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,15 +14,14 @@
| Language | Go 1.25+ |
| Framework | Gin (HTTP), zerolog (logging), Wire (DI) |
| ORM | GORM + goose migrations |
| Database | PostgreSQL (ankane/pgvector:latest for API, postgres:18 for Keycloak) |
| Database | PostgreSQL (postgres:18 for Keycloak) |
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This row now reads like PostgreSQL is only used for Keycloak, but this document still describes the Go services using an ORM (GORM) and migrations, which implies a primary service database as well. Consider updating the Database entry to explicitly cover the main application Postgres (and any extensions like pgvector if still in use), and separately note the Keycloak DB image/version.

Suggested change
| Database | PostgreSQL (postgres:18 for Keycloak) |
| Database | PostgreSQL for core services (GORM + goose migrations, optional pgvector); PostgreSQL (postgres:18) for Keycloak |

Copilot uses AI. Check for mistakes.
| API Gateway | Kong 3.5 + Keycloak (OIDC) |
| Inference | vLLM (OpenAI-compatible) or remote providers |
| MCP Server | mark3labs/mcp-go v0.7.0 |
| Observability | OpenTelemetry, Prometheus, Jaeger, Grafana |
| Container | Docker Compose (dev), Kubernetes/Helm (prod) |
| **Frontend** | |
| Web App | React 19 + Vite + TanStack Router + Tailwind CSS 4 |
| Platform App | Next.js 16 + Fumadocs (docs) + Tailwind CSS 4 |
| UI Components | Radix UI + shadcn/ui patterns |
| State | Zustand |
| AI SDK | Vercel AI SDK (@ai-sdk/react) |
Expand All @@ -45,8 +44,6 @@ jan-server/
│ ├── response-api/ # Multi-step tool orchestration (port 8082)
│ ├── media-api/ # S3 storage, jan_* IDs (port 8285)
│ ├── mcp-tools/ # MCP tool providers (port 8091)
│ ├── memory-tools/ # Semantic memory with BGE-M3 (port 8090)
│ ├── realtime-api/ # WebRTC via LiveKit (port 8186)
│ └── template-api/ # Service scaffold template
├── tools/jan-cli/ # CLI tool sources
├── config/ # Shared configuration (defaults.yaml, schemas)
Expand Down Expand Up @@ -150,56 +147,9 @@ npm run build # Production build
npm run lint # ESLint
```

### Platform App (`apps/platform/`)

Admin panel and documentation site built with Next.js 16.

```
apps/platform/
├── src/
│ ├── app/ # Next.js App Router
│ │ ├── admin/ # Admin pages (users, models, MCP tools)
│ │ ├── docs/ # Fumadocs documentation
│ │ ├── auth/ # Authentication pages
│ │ └── api/ # API routes
│ ├── components/ # Shared components
│ ├── lib/ # Utilities
│ └── store/ # Zustand stores
├── content/ # MDX documentation content
├── api/ # OpenAPI specs for docs
├── package.json
└── next.config.mjs
```

**Key Technologies:**
- **Framework:** Next.js 16 with App Router + Turbopack
- **Docs:** Fumadocs (MDX-based documentation)
- **State:** Zustand
- **UI:** Radix UI + Tailwind CSS 4 + Lucide icons

**Admin Features:**
- User management
- Model/Provider configuration
- MCP Tools management (descriptions, active status, keyword filters)
- Prompt templates

**Environment Variables:**
```env
NEXT_PUBLIC_JAN_BASE_URL=http://localhost:8000 # Kong gateway URL
```

**Commands:**
```bash
cd apps/platform
npm install
npm run dev # Start dev server on port 3000
npm run build # Production build
npm run generate-openapi # Generate API docs from OpenAPI specs
```

### Shared Package (`packages/interfaces/`)

Shared UI components library used by both apps.
Shared UI components library used by the web app.

```
packages/interfaces/
Expand All @@ -225,15 +175,12 @@ import { cn } from "@janhq/interfaces/lib"
# Start full stack (backend + frontend)
make up-full
make up-web # Start web app container
make up-platform # Start platform app container

# Or run frontends locally
# Or run frontend locally
cd apps/web && npm run dev # http://localhost:3001
cd apps/platform && npm run dev # http://localhost:3000

# Build for production
cd apps/web && npm run build
cd apps/platform && npm run build
```

---
Expand Down Expand Up @@ -343,8 +290,6 @@ make down-clean # Remove containers AND volumes
| Response API | 8082 | Multi-step tool orchestration |
| Media API | 8285 | File upload, jan_* ID resolution |
| MCP Tools | 8091 | MCP protocol tools (search, scrape, exec) |
| Memory Tools | 8090 | Semantic memory service |
| Realtime API | 8186 | WebRTC session management |
| **Infrastructure** | | |
| Keycloak | 8085 | Auth admin console |
| PostgreSQL | 5432 | Database |
Expand Down
13 changes: 2 additions & 11 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,6 @@ make down-clean # Stop containers and remove volumes
| Component | Technology | Version |
|------------------|----------------------|-----------|
| Web App | React + Vite | 19.2.0 |
| Platform App | Next.js | 16.0.7 |
| Router | TanStack Router | v1.140.0 |
| Styling | Tailwind CSS | 4.1.17 |
| UI Components | Radix UI + shadcn/ui | Latest |
Expand All @@ -71,8 +70,7 @@ make down-clean # Stop containers and remove volumes
```
jan-server/
├── apps/ # Frontend applications
│ ├── web/ # Chat UI (React + Vite, port 3001)
│ └── platform/ # Admin & docs site (Next.js, port 3000)
│ └── web/ # Chat UI (React + Vite, port 3001)
├── packages/ # Shared packages
│ ├── interfaces/ # Shared UI components (@janhq/interfaces)
│ └── go-common/ # Shared Go utilities (config, errors, observability)
Expand All @@ -81,8 +79,6 @@ jan-server/
│ ├── response-api/ # Multi-step tool orchestration (port 8082)
│ ├── media-api/ # S3 storage, jan_* IDs (port 8285)
│ ├── mcp-tools/ # MCP tool providers (port 8091)
│ ├── memory-tools/ # Semantic memory with BGE-M3 (port 8090)
│ ├── realtime-api/ # WebRTC via LiveKit (port 8186)
│ └── template-api/ # Service scaffold template
├── tools/jan-cli/ # CLI tool for development & testing
├── config/ # Environment templates and schemas
Expand Down Expand Up @@ -274,15 +270,12 @@ log.Error().
|-----------------|-------|--------------------------------------|
| **Frontend** | | |
| Web App | 3001 | Chat UI (React + Vite) |
| Platform App | 3000 | Admin panel & docs (Next.js) |
| **Backend** | | |
| Kong Gateway | 8000 | API entry point (routes to services) |
| LLM API | 8080 | Chat completions, conversations |
| Response API | 8082 | Multi-step tool orchestration |
| Media API | 8285 | File upload, jan_* ID resolution |
| MCP Tools | 8091 | Search, scrape, code exec tools |
| Memory Tools | 8090 | Semantic memory service |
| Realtime API | 8186 | WebRTC session management |
| **Infra** | | |
| Keycloak | 8085 | Auth admin console |
| PostgreSQL | 5432 | Database |
Expand Down Expand Up @@ -340,13 +333,11 @@ go test ./services/<svc>/... # Unit tests for specific service
### Frontend Development

```bash
# Run frontend apps locally
# Run frontend app locally
cd apps/web && npm run dev # http://localhost:3001
cd apps/platform && npm run dev # http://localhost:3000

# Or via Docker
make up-web # Start web app container
make up-platform # Start platform app container

# Build
pnpm build # Build all packages/apps
Expand Down
Loading
Loading