Embed AI into any web app.
In lines of code.

Command palette, voice input, selection AI, and a DOM-grounded web agent — packaged as a single SDK that drops into your SaaS without rewriting your backend.

3
lines of code to embed

No backend rewrite, no extension required, no headless browser. Pure in-page JS.

dddk is what happens when you combine Raycast-style command palette, a DOM-grounded autonomous web agent, voice input, and inline selection AI — all designed for B2B SaaS to embed in their existing product.

Your users still see your product, your branding, your data. dddk just adds an AI layer on top.

WEB AGENT

AI operates your web pages

DOM-grounded, no screenshot needed. The agent sees only what the user can see — that's the security boundary. Click, type, navigate, fill forms.

  • Customer service, form fill, multi-step workflows
  • Per-action `requireConfirmation` for destructive ops
  • Layered system prompt: brand + append + override
  • Sitemap-aware nav, cross-tab session continuity
User says
"Refund order ORD-1002 and email Bob the receipt"
→ Navigating to /shop...
→ Finding ORD-1002 in table...
→ Confirmation required for refund
→ User approves → executing
✓ Refunded & emailed
Select text
This clause terminates the agreement upon material breach with 30 days written notice.
→ "explain in plain English"
✓ "If someone seriously breaks the agreement, the other side can quit, but they must give 30 days written notice first."
SELECTION AI

Select anything, ask anything

Inline toolbar pops up next to the user's selection. Translate, summarize, explain, rewrite — short LLM calls, cheap model, instant result.

  • Built-in: translate / summarize / rewrite / explain
  • Host adds custom tools by registering palette items
  • Works on text, images, or multi-selected DOM
COMMAND PALETTE

Everything one shortcut away

KEYBOARD

Ctrl+K opens it. Type or use prefix routing — ask ai:, search:, /skill, @entity, #tag.

Ctrl+K Open palette
Hold Space Voice input
Space Accept
Esc Cancel
CUSTOM SKILLS

Four skill types: Script (guided tour), Prompt (LLM template), Action (TypeScript callback), A2UI (declarative form).

EXTENSIBLE

Zero built-in business commands. Host registers everything — your domain, your data, your agent tools.

npm install @perhapxin/dddk @perhapxin/webagent

import { DotDotDuck, OpenAIProvider } from '@perhapxin/dddk';

const dddk = new DotDotDuck({
  llm: new OpenAIProvider({ apiKey: '...' }),
  siteName: 'YourSaaS',
});
dddk.mount();
OPEN SOURCE

AGPL-3.0. Bring your own LLM.

Free under AGPL. Commercial license available for closed-source products. Host your own LLM endpoint — keys never touch our servers.

Free (AGPL)
github.com/PerhapxinLab
Commercial

Drop AI into your SaaS today.

No backend rewrite. No extension. No headless browser.