JerrettDavis/JD.AI

AI-powered terminal assistant built on Semantic Kernel.

C#

4

1,064 commits

updated Sep 28, 2026

See the code

README

JD.AI

CI codecov NuGet License: MIT .NET 10

AI-powered terminal assistant and multi-channel platform built on Semantic Kernel. 15 AI providers, 27 tool categories, 33+ slash commands, MCP server integration, workflow engine, subagent orchestration, team strategies, and six channel adapters — across 18 projects with 772+ tests.

JD.AI terminal startup JD.AI dashboard overview

Architecture

┌──────────────────────────────────────────────┐
│              TUI Client (jdai)               │
│  33+ slash commands · model search · sessions│
└──────────────────────┬───────────────────────┘
                       │
┌──────────────────────▼───────────────────────┐
│         Gateway Control Plane                │
│       (REST API + SignalR Hubs)              │
└──────┬────────────┬────────────┬─────────────┘
       │            │            │
┌──────▼──────┐ ┌───▼──────┐ ┌──▼─────────────┐
│  Telemetry  │ │ Workflows│ │  MCP Servers    │
│ OpenTelemetry│ │  Engine  │ │ (add/list/rm)  │
│ tracing,    │ │ run/list │ │                 │
│ metrics,    │ │ /refine  │ │                 │
│ health      │ │          │ │                 │
└─────────────┘ └──────────┘ └─────────────────┘
       │
┌──────▼──────────────────────────────────────┐
│     Agent Pool + Routing                    │
│  5 subagent types · 4 team strategies       │
│  ConversationTransformer (5 modes)          │
└──────┬──────────────────┬───────────────────┘
       │                  │
┌──────▼──────┐   ┌───────▼───────────┐
│  Channel    │   │  Memory /         │
│  Adapters   │   │  Embeddings       │
│ (6 channels)│   │  (SQLite vectors) │
└─────────────┘   └───────────────────┘
       │
┌──────▼──────────────────────────────────────┐
│   15 AI Providers · 27 Tool Categories      │
│   Plugin SDK · Credential Store · Sessions  │
└─────────────────────────────────────────────┘

Features

AreaDetails
AI Providers15 providers — OAuth, API key, local, and AWS SDK auth (see table below)
Tools27 categories: File, Search, Shell, Git, Web, Web Search, Memory, Subagent, Think, Environment, Tasks, Code Execution, Clipboard, Questions, Diff & Patch, Batch Edit, Usage Tracking, Multimodal, Code Execution (Sandboxed), Task Management, Scheduling, Notebook, Structured Q&A, Encoding/Crypto, Capability Introspection, Policy/Governance, Session Usage
Slash Commands33+ commands for model management, sessions, providers, workflows, MCP, diagnostics, and more
Subagents5 types: Explore, Task, Plan, Review, General-purpose
Team Orchestration9 strategies: Sequential, Fan-Out, Supervisor, Debate, Voting, Pipeline, MapReduce, Relay, Blackboard
MCP Integration/mcp add, /mcp list, /mcp remove — connect external tool servers
Workflows/workflow run, /workflow list, /workflow refine — composable multi-step automation
Dynamic Switching5-mode ConversationTransformer (Preserve, Compact, Transform, Fresh, Cancel) with fork points
Model Search/model search across Ollama, HuggingFace, and Foundry Local remote catalogs
Session PersistenceSQLite-backed history, model switch tracking, fork points; --continue/--resume restores model state
Git CheckpointingStash, directory, and commit strategies for safe rollback
CredentialsEncrypted credential store (DPAPI/AES); /provider add wizard
Global Defaults~/.jdai/config.json with per-project overrides via AtomicConfigStore
ObservabilityOpenTelemetry tracing, metrics, and health checks (JD.AI.Telemetry)
DashboardBlazor WebAssembly dashboard with MudBlazor UI (JD.AI.Dashboard.Wasm)
Interactive TUIRich TUI Rendering: Spectre.Console rendering with Markdig markdown, syntax highlighting for 10 languages, diff view, slash-command colorization; plus streaming, thinking display, and tab-completion

Quick Start

dotnet tool install -g JD.AI   # Install globally
jdai setup                      # One-command setup (daemon + onboarding + MCP)
jdai                            # Launch the TUI

First-Class Setup

jdai setup is the recommended, repeatable setup path. It is safe to run multiple times.

What it does:

  • Ensures jdai-daemon is installed/updated (unless --no-update)
  • Installs/refreshes the daemon service and starts it (unless --no-start)
  • Shows daemon and bridge status
  • Runs onboarding (jdai onboard) to set provider/model defaults and MCP servers
# Full setup (recommended)
jdai setup

# Change provider/model defaults and save globally
jdai setup --skip-daemon --provider "OpenAI Codex" --model gpt-5.3-codex --global

# Daemon/gateway only
jdai setup --daemon-only

# Set bridge mode while setting up daemon
jdai setup --daemon-only --bridge disable
jdai setup --daemon-only --bridge passthrough

Setup flags:

  • --daemon-only: run daemon/gateway setup only
  • --skip-daemon: run onboarding only
  • --skip-onboard: run daemon/gateway only
  • --no-update: skip jdai-daemon tool install/update
  • --no-start: do not start the daemon service
  • --bridge <status|enable|disable|passthrough>: set/check bridge mode
  • onboarding flags are forwarded: --provider, --model, --global, --skip-mcp, --skip-import

On Windows and Linux, daemon service operations may require elevation. jdai-daemon will prompt/recommend UAC/sudo as needed.

TUI Quick Commands

/provider add                   # Add an AI provider
/help                           # List all commands

Screenshots

Markdown rendering with syntax highlighting, tables, and slash-command colorization:

TUI markdown rendering

Unified diff view with red/green line coloring:

TUI diff view

Providers

OAuth / Local (zero API key)

ProviderAuthNotes
Claude CodeOAuth (claude CLI)Requires claude installed
GitHub CopilotOAuth (device flow)Uses VS Code Copilot token
OpenAI CodexOAuthCodex CLI authentication
OllamaNone (local)HTTP localhost:11434
Local Models / LLamaSharpNone (local)Load .gguf files directly
Microsoft Foundry LocalNone (local)Microsoft Foundry runtime

API Key

ProviderAuthNotes
OpenAIAPI keyGPT-4o, o1, o3, etc.
Azure OpenAIAPI keyAzure-hosted OpenAI deployments
AnthropicAPI keyClaude 3.5/4 via Anthropic API
Google GeminiAPI keyGemini 2.x models
MistralAPI keyMistral / Mixtral models
HuggingFaceAPI keyInference API models
OpenRouterAPI keyMulti-vendor routing — Claude, GPT-4, Gemini, Llama, Mistral
OpenAI-CompatibleAPI keyGroq, Together, DeepSeek, Fireworks, Perplexity

AWS SDK

ProviderAuthNotes
AWS BedrockAWS SDK credentialsClaude, Titan, Llama via Bedrock

Key Commands

CommandDescription
/helpList all available commands
/modelShow or switch the active model
/model search <query>Search Ollama, HuggingFace, Foundry Local catalogs
/modelsList available models for the current provider
/providerShow or switch the active provider
/providersList all configured providers
/provider addInteractive provider setup wizard
/default provider <name>Set default provider
/default model <name>Set default model
/compactCompact conversation context
/saveSave the current session
/sessionsList saved sessions
/resumeResume a saved session (restores model state)
/forkFork conversation at the current point
/costShow token usage and estimated cost
/mcp add <url>Register an MCP tool server
/workflow run <name>Execute a named workflow
/autorunToggle automatic tool execution
/doctorRun environment diagnostics
/exportExport conversation to file

Run /help in the TUI for the complete list.

Gateway & Channels

The Gateway (JD.AI.Gateway) is an ASP.NET Core control plane exposing REST endpoints and SignalR hubs for real-time agent communication, authentication, rate limiting, and plugin orchestration.

Six channel adapters connect the agent pool to external platforms:

ChannelTechnology
DiscordDiscord.Net — guilds, DMs, threads
Signalsignal-cli JSON-RPC bridge
SlackSlackNet Socket Mode
TelegramTelegram.Bot SDK
WebChatSignalR browser client
OpenClawCross-gateway HTTP forwarding

See the Gateway API docs and Channel Adapters guide.

Project Structure

src/
├── JD.AI                      # TUI client (dotnet tool)
├── JD.AI.Core                 # Agents, providers, sessions, tools, memory, event bus
├── JD.AI.Gateway              # ASP.NET Core control plane (REST + SignalR)
├── JD.AI.Daemon               # Background service host (Windows/Linux)
├── JD.AI.Plugins.SDK          # Plugin interface library
├── JD.AI.Workflows            # Workflow engine (run/list/refine)
├── JD.AI.SpecSite             # UPSS static-site generator (HTML + DocFX content)
├── JD.AI.Telemetry            # OpenTelemetry tracing, metrics, health checks
├── JD.AI.Dashboard.Wasm       # Blazor WASM dashboard (MudBlazor)
├── JD.AI.Channels.Discord     # Discord adapter
├── JD.AI.Channels.Signal      # Signal adapter
├── JD.AI.Channels.Slack       # Slack adapter
├── JD.AI.Channels.Telegram    # Telegram adapter
├── JD.AI.Channels.Web         # WebChat adapter
└── JD.AI.Channels.OpenClaw    # OpenClaw bridge adapter
tests/
├── JD.AI.Tests                # Core unit tests
├── JD.AI.Gateway.Tests        # Gateway unit tests
├── JD.AI.Workflows.Tests      # Workflow engine tests
└── JD.AI.IntegrationTests     # End-to-end integration tests

Dependencies

PackagePurpose
JD.SemanticKernel.ExtensionsCompaction, memory, skills, hooks
JD.SemanticKernel.Extensions.McpMCP server integration
JD.SemanticKernel.Connectors.ClaudeCodeClaude Code OAuth connector
JD.SemanticKernel.Connectors.GitHubCopilotGitHub Copilot OAuth connector
JD.SemanticKernel.Connectors.OpenAICodexOpenAI Codex OAuth connector
Microsoft.SemanticKernelCore AI orchestration (v1.72.0)
LLamaSharpLocal GGUF model inference
OpenTelemetryDistributed tracing and metrics
MudBlazorDashboard UI components

Documentation

Full documentation is built with docfx and published from the docs/ directory.

  • API Reference — Auto-generated from XML doc comments
  • User Guide — Installation, commands, workflows, best practices
  • Developer Guide — Architecture, custom tools, plugins, gateway API
  • Operations — Deployment, observability, security, governance
  • Reference — CLI flags, commands, tools, providers, environment variables
  • Specifications — Generated UPSS portal content

Contributing

See CONTRIBUTING.md for guidelines. The project uses central package management, Nerdbank.GitVersioning, and enforces code style via Meziantou.Analyzer.

License

MIT © JD

ai
ai-agents
semantic-kernel
tui

Significant stargazers

Shengbo_Wang

13 followers · starred Jun 2026

JerrettDavis/JD.AI

AI-powered terminal assistant built on Semantic Kernel.

C#

4

1,064 commits

updated Sep 28, 2026

See the code

README

JD.AI

CI codecov NuGet License: MIT .NET 10

AI-powered terminal assistant and multi-channel platform built on Semantic Kernel. 15 AI providers, 27 tool categories, 33+ slash commands, MCP server integration, workflow engine, subagent orchestration, team strategies, and six channel adapters — across 18 projects with 772+ tests.

JD.AI terminal startup JD.AI dashboard overview

Architecture

┌──────────────────────────────────────────────┐
│              TUI Client (jdai)               │
│  33+ slash commands · model search · sessions│
└──────────────────────┬───────────────────────┘
                       │
┌──────────────────────▼───────────────────────┐
│         Gateway Control Plane                │
│       (REST API + SignalR Hubs)              │
└──────┬────────────┬────────────┬─────────────┘
       │            │            │
┌──────▼──────┐ ┌───▼──────┐ ┌──▼─────────────┐
│  Telemetry  │ │ Workflows│ │  MCP Servers    │
│ OpenTelemetry│ │  Engine  │ │ (add/list/rm)  │
│ tracing,    │ │ run/list │ │                 │
│ metrics,    │ │ /refine  │ │                 │
│ health      │ │          │ │                 │
└─────────────┘ └──────────┘ └─────────────────┘
       │
┌──────▼──────────────────────────────────────┐
│     Agent Pool + Routing                    │
│  5 subagent types · 4 team strategies       │
│  ConversationTransformer (5 modes)          │
└──────┬──────────────────┬───────────────────┘
       │                  │
┌──────▼──────┐   ┌───────▼───────────┐
│  Channel    │   │  Memory /         │
│  Adapters   │   │  Embeddings       │
│ (6 channels)│   │  (SQLite vectors) │
└─────────────┘   └───────────────────┘
       │
┌──────▼──────────────────────────────────────┐
│   15 AI Providers · 27 Tool Categories      │
│   Plugin SDK · Credential Store · Sessions  │
└─────────────────────────────────────────────┘

Features

AreaDetails
AI Providers15 providers — OAuth, API key, local, and AWS SDK auth (see table below)
Tools27 categories: File, Search, Shell, Git, Web, Web Search, Memory, Subagent, Think, Environment, Tasks, Code Execution, Clipboard, Questions, Diff & Patch, Batch Edit, Usage Tracking, Multimodal, Code Execution (Sandboxed), Task Management, Scheduling, Notebook, Structured Q&A, Encoding/Crypto, Capability Introspection, Policy/Governance, Session Usage
Slash Commands33+ commands for model management, sessions, providers, workflows, MCP, diagnostics, and more
Subagents5 types: Explore, Task, Plan, Review, General-purpose
Team Orchestration9 strategies: Sequential, Fan-Out, Supervisor, Debate, Voting, Pipeline, MapReduce, Relay, Blackboard
MCP Integration/mcp add, /mcp list, /mcp remove — connect external tool servers
Workflows/workflow run, /workflow list, /workflow refine — composable multi-step automation
Dynamic Switching5-mode ConversationTransformer (Preserve, Compact, Transform, Fresh, Cancel) with fork points
Model Search/model search across Ollama, HuggingFace, and Foundry Local remote catalogs
Session PersistenceSQLite-backed history, model switch tracking, fork points; --continue/--resume restores model state
Git CheckpointingStash, directory, and commit strategies for safe rollback
CredentialsEncrypted credential store (DPAPI/AES); /provider add wizard
Global Defaults~/.jdai/config.json with per-project overrides via AtomicConfigStore
ObservabilityOpenTelemetry tracing, metrics, and health checks (JD.AI.Telemetry)
DashboardBlazor WebAssembly dashboard with MudBlazor UI (JD.AI.Dashboard.Wasm)
Interactive TUIRich TUI Rendering: Spectre.Console rendering with Markdig markdown, syntax highlighting for 10 languages, diff view, slash-command colorization; plus streaming, thinking display, and tab-completion

Quick Start

dotnet tool install -g JD.AI   # Install globally
jdai setup                      # One-command setup (daemon + onboarding + MCP)
jdai                            # Launch the TUI

First-Class Setup

jdai setup is the recommended, repeatable setup path. It is safe to run multiple times.

What it does:

  • Ensures jdai-daemon is installed/updated (unless --no-update)
  • Installs/refreshes the daemon service and starts it (unless --no-start)
  • Shows daemon and bridge status
  • Runs onboarding (jdai onboard) to set provider/model defaults and MCP servers
# Full setup (recommended)
jdai setup

# Change provider/model defaults and save globally
jdai setup --skip-daemon --provider "OpenAI Codex" --model gpt-5.3-codex --global

# Daemon/gateway only
jdai setup --daemon-only

# Set bridge mode while setting up daemon
jdai setup --daemon-only --bridge disable
jdai setup --daemon-only --bridge passthrough

Setup flags:

  • --daemon-only: run daemon/gateway setup only
  • --skip-daemon: run onboarding only
  • --skip-onboard: run daemon/gateway only
  • --no-update: skip jdai-daemon tool install/update
  • --no-start: do not start the daemon service
  • --bridge <status|enable|disable|passthrough>: set/check bridge mode
  • onboarding flags are forwarded: --provider, --model, --global, --skip-mcp, --skip-import

On Windows and Linux, daemon service operations may require elevation. jdai-daemon will prompt/recommend UAC/sudo as needed.

TUI Quick Commands

/provider add                   # Add an AI provider
/help                           # List all commands

Screenshots

Markdown rendering with syntax highlighting, tables, and slash-command colorization:

TUI markdown rendering

Unified diff view with red/green line coloring:

TUI diff view

Providers

OAuth / Local (zero API key)

ProviderAuthNotes
Claude CodeOAuth (claude CLI)Requires claude installed
GitHub CopilotOAuth (device flow)Uses VS Code Copilot token
OpenAI CodexOAuthCodex CLI authentication
OllamaNone (local)HTTP localhost:11434
Local Models / LLamaSharpNone (local)Load .gguf files directly
Microsoft Foundry LocalNone (local)Microsoft Foundry runtime

API Key

ProviderAuthNotes
OpenAIAPI keyGPT-4o, o1, o3, etc.
Azure OpenAIAPI keyAzure-hosted OpenAI deployments
AnthropicAPI keyClaude 3.5/4 via Anthropic API
Google GeminiAPI keyGemini 2.x models
MistralAPI keyMistral / Mixtral models
HuggingFaceAPI keyInference API models
OpenRouterAPI keyMulti-vendor routing — Claude, GPT-4, Gemini, Llama, Mistral
OpenAI-CompatibleAPI keyGroq, Together, DeepSeek, Fireworks, Perplexity

AWS SDK

ProviderAuthNotes
AWS BedrockAWS SDK credentialsClaude, Titan, Llama via Bedrock

Key Commands

CommandDescription
/helpList all available commands
/modelShow or switch the active model
/model search <query>Search Ollama, HuggingFace, Foundry Local catalogs
/modelsList available models for the current provider
/providerShow or switch the active provider
/providersList all configured providers
/provider addInteractive provider setup wizard
/default provider <name>Set default provider
/default model <name>Set default model
/compactCompact conversation context
/saveSave the current session
/sessionsList saved sessions
/resumeResume a saved session (restores model state)
/forkFork conversation at the current point
/costShow token usage and estimated cost
/mcp add <url>Register an MCP tool server
/workflow run <name>Execute a named workflow
/autorunToggle automatic tool execution
/doctorRun environment diagnostics
/exportExport conversation to file

Run /help in the TUI for the complete list.

Gateway & Channels

The Gateway (JD.AI.Gateway) is an ASP.NET Core control plane exposing REST endpoints and SignalR hubs for real-time agent communication, authentication, rate limiting, and plugin orchestration.

Six channel adapters connect the agent pool to external platforms:

ChannelTechnology
DiscordDiscord.Net — guilds, DMs, threads
Signalsignal-cli JSON-RPC bridge
SlackSlackNet Socket Mode
TelegramTelegram.Bot SDK
WebChatSignalR browser client
OpenClawCross-gateway HTTP forwarding

See the Gateway API docs and Channel Adapters guide.

Project Structure

src/
├── JD.AI                      # TUI client (dotnet tool)
├── JD.AI.Core                 # Agents, providers, sessions, tools, memory, event bus
├── JD.AI.Gateway              # ASP.NET Core control plane (REST + SignalR)
├── JD.AI.Daemon               # Background service host (Windows/Linux)
├── JD.AI.Plugins.SDK          # Plugin interface library
├── JD.AI.Workflows            # Workflow engine (run/list/refine)
├── JD.AI.SpecSite             # UPSS static-site generator (HTML + DocFX content)
├── JD.AI.Telemetry            # OpenTelemetry tracing, metrics, health checks
├── JD.AI.Dashboard.Wasm       # Blazor WASM dashboard (MudBlazor)
├── JD.AI.Channels.Discord     # Discord adapter
├── JD.AI.Channels.Signal      # Signal adapter
├── JD.AI.Channels.Slack       # Slack adapter
├── JD.AI.Channels.Telegram    # Telegram adapter
├── JD.AI.Channels.Web         # WebChat adapter
└── JD.AI.Channels.OpenClaw    # OpenClaw bridge adapter
tests/
├── JD.AI.Tests                # Core unit tests
├── JD.AI.Gateway.Tests        # Gateway unit tests
├── JD.AI.Workflows.Tests      # Workflow engine tests
└── JD.AI.IntegrationTests     # End-to-end integration tests

Dependencies

PackagePurpose
JD.SemanticKernel.ExtensionsCompaction, memory, skills, hooks
JD.SemanticKernel.Extensions.McpMCP server integration
JD.SemanticKernel.Connectors.ClaudeCodeClaude Code OAuth connector
JD.SemanticKernel.Connectors.GitHubCopilotGitHub Copilot OAuth connector
JD.SemanticKernel.Connectors.OpenAICodexOpenAI Codex OAuth connector
Microsoft.SemanticKernelCore AI orchestration (v1.72.0)
LLamaSharpLocal GGUF model inference
OpenTelemetryDistributed tracing and metrics
MudBlazorDashboard UI components

Documentation

Full documentation is built with docfx and published from the docs/ directory.

  • API Reference — Auto-generated from XML doc comments
  • User Guide — Installation, commands, workflows, best practices
  • Developer Guide — Architecture, custom tools, plugins, gateway API
  • Operations — Deployment, observability, security, governance
  • Reference — CLI flags, commands, tools, providers, environment variables
  • Specifications — Generated UPSS portal content

Contributing

See CONTRIBUTING.md for guidelines. The project uses central package management, Nerdbank.GitVersioning, and enforces code style via Meziantou.Analyzer.

License

MIT © JD

ai
ai-agents
semantic-kernel
tui

Significant stargazers

Shengbo_Wang

13 followers · starred Jun 2026

Languages

C#

94.9%

HTML

3.2%

Gherkin

1.7%