Code PluginExecutes codesource-linked

Kagi Search

Privacy-first web search powered by Kagi

Community code plugin. Review compatibility and verification before install.
openclaw-kagi · runtime id kagi
Install
openclaw plugins install clawhub:openclaw-kagi
Latest Release
Version 1.0.5
Compatibility
{
  "builtWithOpenClawVersion": "1.0.5",
  "pluginApiRange": ">=2026.3.28"
}
Capabilities
{
  "bundledSkills": [],
  "capabilityTags": [
    "executes-code"
  ],
  "channels": [],
  "commandNames": [],
  "configSchema": true,
  "configUiHints": false,
  "executesCode": true,
  "hooks": [],
  "httpRouteCount": 0,
  "materializesDependencies": false,
  "providers": [],
  "runtimeId": "kagi",
  "serviceNames": [],
  "setupEntry": false,
  "toolNames": []
}
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (Kagi Search) match the implementation: a web-search provider that uses a Kagi Session Link. The code implements HTML fetch + parsing of Kagi search pages, command handlers to save/clear/status the token, and registration as a webSearchProvider — all expected for this purpose.
Instruction Scope
SKILL.md instructions match the code: installation via OpenClaw, providing a Session Link, and optional interactive prompting. Runtime code only reads/writes the plugin's config file (~/.openclaw/kagi.config.json) and sends HTTP requests to Kagi endpoints; it does not attempt to read unrelated system files, environment variables, or send data to third parties.
Install Mechanism
No install script is included besides the usual OpenClaw plugin mechanism; published package files (dist/*) are provided. There are no downloads from arbitrary URLs or extract steps in the manifest. The package-lock includes many dev dependencies, but package.json runtime dependency list is small (linkedom) which aligns with the code.
Credentials
The plugin requests no environment variables or external credentials. It stores the user's Kagi Session Link (session token) in plaintext at ~/.openclaw/kagi.config.json, which is expected for this design but is sensitive: possession of the token allows the plugin to perform searches as that user until the token expires or is revoked.
Persistence & Privilege
The skill is not marked always:true. It registers itself as a webSearchProvider and command provider within OpenClaw, and writes only to its own config path under the user's home. It does not modify other plugins or system-wide settings.
Scan Findings in Context
[network_fetch] expected: The code performs fetch() calls to https://kagi.com/html/search to execute searches and follow redirects — this is the core functionality and expected.
[file_io_read_write] expected: The plugin reads/writes ~/.openclaw/kagi.config.json to store the Session Link. This is expected but implies storage of a sensitive token on disk.
[cookie_handling] expected: The session flow extracts Set-Cookie from the initial response and supplies it on the follow-up request. This is required to implement Kagi's Session Link flow.
[html_parsing] expected: The plugin parses Kagi HTML results pages (using linkedom and selectors.json) to produce structured results; this matches the described behavior.
[large_package_lock_with_unrelated_deps] expected: package-lock.json contains many packages (AWS SDK etc.) likely pulled in by devDependencies in the development environment. The runtime package.json lists only linkedom as a dependency; the large lockfile is noisy but not used at runtime when installing via OpenClaw.
Assessment
This plugin appears to do what it says: it uses your Kagi Session Link to perform searches and stores the token under ~/.openclaw/kagi.config.json. Before installing, check that the plugin source (its-clawdia/openclaw-kagi) is a project you trust. Be aware the Session Link is sensitive — treat it like a credential: (1) only paste links you trust, (2) if you stop using the plugin or suspect compromise, revoke the session from your Kagi account or generate a new Session Link, and (3) you may want to inspect or set restrictive permissions on ~/.openclaw/kagi.config.json. If you need stronger protection, avoid storing long-lived tokens and prefer short-lived or per-search auth mechanisms if available.
Verification
{
  "hasProvenance": false,
  "scanStatus": "clean",
  "scope": "artifact-only",
  "sourceCommit": "c5d32c14302ac5b6aada9a3d8b2034f73b377042",
  "sourceRepo": "its-clawdia/openclaw-kagi",
  "sourceTag": "v1.0.5",
  "summary": "Validated package structure and linked the release to source metadata.",
  "tier": "source-linked"
}
Tags
{
  "latest": "1.0.5"
}

openclaw-kagi

Privacy-first web search powered by Kagi for OpenClaw.

Uses your existing Kagi subscription — no API key or extra costs required.

Install

openclaw plugins install openclaw-kagi

Setup

Option 1: /kagi command

/kagi session https://kagi.com/search?token=...

Option 2: Automatic

Just use web search. If no Session Link is configured, the agent will ask you to paste one.

Getting your Session Link

  1. Go to https://kagi.com/settings/user_details
  2. Copy your Session Link
  3. Paste it when prompted, or use /kagi session <session-link>

Commands

CommandDescription
/kagi session <session-link>Save your Kagi Session Link
/kagi statusCheck if a Session Link is configured
/kagi clearRemove saved Session Link

Configuration

Set Kagi as your search provider in OpenClaw config:

{
  tools: {
    web: {
      search: {
        provider: "kagi",
      },
    },
  },
}

The Session Link is stored separately in ~/.openclaw/kagi.config.json.

Supported parameters

ParameterSupport
query
count✅ (1-10)
country
language
freshness

Session Link management

Session Links expire after 90 days of inactivity or when you log out of the session they were created from. When the plugin detects an expired link, it will ask you for a new one.

Development

npm install
npm run build
npm test

License

MIT