33 client setups, one maintained API. Choose how you want to use Jesse, then open your app’s guide.
jesse, try a chat, and check the response receipt. Validate an actual tool or file task before relying on an agent workflow.Coding agents, editors and chat apps with a custom model connection.
Use a dedicated Jesse launch environment. Recorded Jesse runs exist; this release has not rerun the installed CLI.
https://jesse.my/apijesseSetup prepared. Full application session not yet verified.
#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
export ANTHROPIC_BASE_URL='https://jesse.my/api'
ANTHROPIC_AUTH_TOKEN="$JESSE_API_KEY"
export ANTHROPIC_AUTH_TOKEN
unset ANTHROPIC_API_KEY
export ANTHROPIC_MODEL='jesse'
export ANTHROPIC_SMALL_FAST_MODEL='jesse'
exec claude "$@"
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the Jesse profile without replacing your default provider. Recorded Jesse CLI runs exist; IDE sessions need validation.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
[model_providers.jesse]
name = "Jesse"
base_url = "https://jesse.my/api/v1"
env_key = "JESSE_API_KEY"
wire_api = "responses"
supports_websockets = false
request_max_retries = 0
stream_max_retries = 0
[profiles.jesse]
model_provider = "jesse"
model = "jesse"
#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
exec codex --profile jesse "$@"
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge the Jesse provider into models.yml. PI_CODING_AGENT_DIR overrides the default directory.
https://jesse.my/apijesseSetup prepared. Full application session not yet verified.
providers:
jesse:
baseUrl: "https://jesse.my/api"
api: "anthropic-messages"
apiKey: "JESSE_API_KEY"
models:
-
id: "jesse"
name: "Jesse"
reasoning: false
input:
- "text"
contextWindow: 10000
maxTokens: 4096
#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
exec omp --model 'jesse/jesse' "$@"
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge customModels into ~/.factory/settings.json. Environment references work there, not in legacy config.json. Select Jesse with /model; custom model indices depend on your existing array. Hosted web and mobile do not load this local config.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
{
"customModels": [
{
"model": "jesse",
"displayName": "Jesse",
"baseUrl": "https://jesse.my/api/v1",
"apiKey": "${JESSE_API_KEY}",
"provider": "generic-chat-completion-api",
"maxOutputTokens": 4096,
"noImageSupport": true
}
]
}
#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
droid mcp add jesse node '/absolute/path/to/jesse/jesse.mjs' mcp --type stdio
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use Manage Language Models > Add Models > Custom Endpoint. Merge the generated entry into chatLanguageModels.json and store your key through its secure input variable.
https://jesse.my/apijesseSetup prepared. Full application session not yet verified.
[
{
"name": "Jesse",
"vendor": "customendpoint",
"apiKey": "${input:jesseApiKey}",
"apiType": "messages",
"models": [
{
"id": "jesse",
"name": "Jesse",
"url": "https://jesse.my/api/v1/messages",
"toolCalling": true,
"vision": false,
"maxInputTokens": 5904,
"maxOutputTokens": 4096
}
]
}
]
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge the model into config.yaml. Chat is prepared; editing, apply, autocomplete and embeddings are deliberately not assigned as supported roles.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
name: "Jesse"
version: "1.0.0"
schema: "v1"
models:
-
name: "Jesse"
provider: "openai"
model: "jesse"
apiBase: "https://jesse.my/api/v1"
apiKey: "${{ secrets.JESSE_API_KEY }}"
roles:
- "chat"
capabilities:
- "tool_use"
defaultCompletionOptions:
contextLength: 10000
maxTokens: 4096
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Choose OpenAI Compatible in provider settings. The native agent requires a client-specific tool/result acceptance run.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
This recipe is for the provider/npm/options config schema documented at /docs/providers. OpenCode v2 has a different providers/package/settings schema; use its separate recipe.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"jesse": {
"npm": "@ai-sdk/openai-compatible",
"name": "Jesse",
"options": {
"baseURL": "https://jesse.my/api/v1",
"apiKey": "{env:JESSE_API_KEY}"
},
"models": {
"jesse": {
"name": "Jesse",
"limit": {
"context": 10000,
"output": 4096
}
}
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge providers.jesse into the v2 config; do not mix v1 and v2 configuration schemas.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
{
"$schema": "https://opencode.ai/config.json",
"providers": {
"jesse": {
"package": "@opencode/ai/providers/openai-compatible",
"name": "Jesse",
"env": [
"JESSE_API_KEY"
],
"settings": {
"baseURL": "https://jesse.my/api/v1"
},
"models": {
"jesse": {
"name": "Jesse"
}
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge language_models.openai_compatible.jesse and store the key in Agent Settings. Tool calling is enabled as a protocol capability; editing workflows are not verified.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
{
"language_models": {
"openai_compatible": {
"jesse": {
"api_url": "https://jesse.my/api/v1",
"available_models": [
{
"name": "jesse",
"display_name": "Jesse",
"max_tokens": 10000,
"max_output_tokens": 4096,
"capabilities": {
"tools": true,
"images": false,
"parallel_tool_calls": false,
"prompt_cache_key": false,
"chat_completions": true,
"interleaved_reasoning": false,
"max_tokens_parameter": true
}
}
]
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use Settings > Tools > AI Assistant > Providers & API keys > OpenAI-compatible. Covers IntelliJ IDEA, PyCharm, WebStorm, CLion, GoLand and Rider where AI Assistant is available. Native external agents use a separate ACP integration, not this model recipe.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Add a custom model provider in Coding Intelligence settings. Use the API root without /v1 if the UI appends /v1/models. The endpoint and model fields below give both forms.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the launch script with the Jesse model. Aider edit-format behavior must be validated separately; API connectivity does not establish diff editing.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
model: "openai/jesse"
openai-api-base: "https://jesse.my/api/v1"
#!/bin/sh
set -eu
: "${JESSE_API_KEY:?Set your Jesse key in the launch environment}"
OPENAI_API_KEY="$JESSE_API_KEY"
export OPENAI_API_KEY
exec aider --model 'openai/jesse' --openai-api-base 'https://jesse.my/api/v1' "$@"
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Add an OpenAI-compatible connection under Admin Settings > Connections. Keep the Jesse key in server settings. Retrieval embeddings need a separate provider.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge endpoints.custom into librechat.yaml. Inject JESSE_API_KEY on the server; do not expose it to the browser. Automatic titles and summarization are disabled until validated.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
endpoints:
custom:
-
name: "Jesse"
apiKey: "${JESSE_API_KEY}"
baseURL: "https://jesse.my/api/v1"
models:
default:
- "jesse"
fetch: true
titleConvo: false
summarize: false
modelDisplayLabel: "Jesse"
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Add a custom OpenAI-compatible provider, enter the endpoint and key in provider settings, and add the Jesse model. Broad vision is disabled.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Select Generic OpenAI for the chat provider. Document embeddings require an independent embedding provider. Jesse document APIs remain accessible through the SDK.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Select Chat Completion > Custom (OpenAI-compatible). Jesse currently does not provide unrestricted creative writing or character roleplay.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
MCP exposes Jesse inside another assistant. Your host keeps its own model.
Merge mcpServers.jesse into .cursor/mcp.json. Jesse is a tool here; this does not replace Cursor Composer or its underlying model.
Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.
Setup prepared. Full application session not yet verified.
{
"mcpServers": {
"jesse": {
"command": "node",
"args": [
"/absolute/path/to/jesse/jesse.mjs",
"mcp"
],
"env": {
"JESSE_API_ROOT": "https://jesse.my/api"
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Merge the MCP entry in Cascade MCP settings for the installed version. Jesse is a tool; native model replacement is not claimed.
Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.
Setup prepared. Full application session not yet verified.
{
"mcpServers": {
"jesse": {
"command": "node",
"args": [
"/absolute/path/to/jesse/jesse.mjs",
"mcp"
],
"env": {
"JESSE_API_ROOT": "https://jesse.my/api"
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the host's MCP manager. The common server descriptor must be mapped to that host's schema. For VS Code use the dedicated custom model recipe instead.
Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.
Setup prepared. Full application session not yet verified.
{
"mcpServers": {
"jesse": {
"command": "node",
"args": [
"/absolute/path/to/jesse/jesse.mjs",
"mcp"
],
"env": {
"JESSE_API_ROOT": "https://jesse.my/api"
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the local stdio descriptor in claude_desktop_config.json. Jesse is a tool; Claude remains the host model.
Connection: Local stdio MCP bridge. Use the exported kit’s absolute jesse.mjs path and provide JESSE_API_KEY through the host environment.
Setup prepared. Full application session not yet verified.
{
"mcpServers": {
"jesse": {
"command": "node",
"args": [
"/absolute/path/to/jesse/jesse.mjs",
"mcp"
],
"env": {
"JESSE_API_ROOT": "https://jesse.my/api"
}
}
}
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the authenticated Streamable HTTP MCP endpoint after the Jesse release is deployed. A server-owned API key can be used by a credential-aware host; OAuth-only hosts need the existing account OAuth path to be wired separately. This is not a replacement for the host model.
Connection: Remote Streamable HTTP. An OAuth-only host needs separately configured OAuth support.
Setup prepared. Full application session not yet verified.
{
"transport": "streamable-http",
"url": "https://jesse.my/api/v1/mcp",
"authentication": "Caller-owned Jesse bearer credential, configured through the host credential store",
"protocolVersion": "2025-06-18",
"hostModelReplacement": false,
"oauth": "Not added by this integration kit"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
SDK adapter templates for your application. Your host handles authentication, accounts, storage and message delivery.
Verify the raw request signature and timestamp before parsing; address only human app messages. Acknowledge Slack delivery promptly and handle the Jesse request in your existing durable worker. No posting or app registration is performed by the kit.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "slack",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Verify the Ed25519 request signature and timestamp, use a prompt slash-command option, and defer the interaction before a long answer. Resolve the caller to their Jesse account.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "discord",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Verify the webhook secret header and bind the bot identity in your verifier. Normalize only human text messages. Resolve the actor to their own Jesse key.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "telegram",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Validate Bot Framework/Teams authentication and tenant identity in the host adapter, then normalize the verified activity. Keep Teams app installation and outbound delivery in the existing host.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "teams",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use an authenticated server-side session and same-origin CSRF protection. Map the session user to a Jesse key on the server. The browser never receives the Jesse key.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "website",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the portal's authenticated tenant/user session and authorization. Keep customer history and document access scoped to that actor's Jesse account.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "support-portal",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the shared SDK from a plugin or a trusted local backend. The kit supplies the transport, event normalization and tenant boundary; it is not an installed Obsidian plugin.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "obsidian",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use the local SDK/MCP bridge from an editor plugin process. No buffers or filesystem tools execute automatically.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "neovim",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use a local SDK/MCP bridge subprocess and keep credentials outside buffers. No Emacs package is installed by this kit.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
import { JesseClient } from '../shared/client_sdk.mjs';
import { createChatConnector } from '../shared/client_connectors.mjs';
export function createJesseConnector({ verifyEvent, keyForActor, store }) {
return createChatConnector({
verifyEvent, store,
clientForActor: async (platform, actor) => new JesseClient({ apiRoot: "https://jesse.my/api", apiKey: await keyForActor(platform, actor) }),
});
}
{
"platform": "emacs",
"actor": "authenticated-user-id",
"conversation": "authorized-conversation-id",
"eventId": "stable-delivery-id",
"text": "What is 17 * 23?"
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use an OpenAI Chat Model custom Base URL, or the generated HTTP request descriptor in an existing authenticated workflow. Store keys in n8n credentials. Graph operations are available via the shared SDK and OpenAPI spec; this descriptor is not a full importable workflow.
https://jesse.my/api/v1jesseSetup prepared. Full application session not yet verified.
{
"method": "POST",
"url": "https://jesse.my/api/v1/chat/completions",
"authentication": "Generic credential > Header Auth > Authorization: Bearer YOUR_JESSE_KEY (store in credentials)",
"sendBody": true,
"contentType": "json",
"body": {
"model": "jesse",
"messages": [
{
"role": "user",
"content": "What is 17 * 23?"
}
]
},
"responseFormat": "json",
"retryOnFail": false
}
Merge these snippets into existing settings. Keep other providers and secrets. GUI apps may need their own credential environment.
Download complete setup JSON · Official client documentation
Use chat and streaming, preserve answer receipts, and work with per-key memory, documents, versioned tool packs, agent phases, result checks, feedback and usage.
The shared SDK, MCP tool list and client setups use the same operation registry. Maintainers update that contract and regenerate the kit together. Custom applications can use the dependency-free SDK; chatbot adapters also need inbound verification, authorized account binding and transactional history storage.
Jesse checks new functions and small programs; existing-code editing is not established. Responses requests require full conversation history. Image input is limited to inline PNG/JPEG QR decoding. Embeddings, audio and WebSocket Responses are unavailable. Client context budgets are conservative settings.