@liner/openclaw-liner-search
A Liner web search provider for OpenClaw, published as
an external ClawHub plugin. It adds Liner as a web_search
provider so OpenClaw agents can search the web with ranked, source-grounded
results — each with a title, URL, and excerpt.
This is the external-plugin form of the provider. (A core-bundled PR was declined per OpenClaw's VISION.md, which keeps commercial integrations out of core; the sanctioned path is a ClawHub plugin maintained in its own repo.)
Install
openclaw plugins install @liner/openclaw-liner-search
# or, ClawHub-only:
openclaw plugins install clawhub:@liner/openclaw-liner-search
Configure
Get an API key at platform.liner.com (new accounts include free credits), then either set an env var or configure it:
export LINER_API_KEY=sk_live_...
// openclaw.json
{
plugins: {
entries: {
liner: {
config: {
webSearch: {
apiKey: "sk_live_...", // optional if LINER_API_KEY is set
baseUrl: "https://platform.liner.com", // optional override
},
},
},
},
},
tools: { web: { search: { provider: "liner" } } },
}
The provider also auto-detects when LINER_API_KEY (or the config key) is present.
Tool
web_search with:
| arg | type | notes |
|---|---|---|
query | string (required) | natural-language question or keyword phrase |
count | integer 1–50 | maps to Liner's max_results (default 5) |
Each result maps as title → title, url → url, Liner's description
excerpt → description, and date → published. Calls go through OpenClaw's
trusted-endpoint, content-wrapping, and search-cache plumbing like the bundled
providers.
Develop
npm install
npm run typecheck
npm test # unit tests (mocked HTTP)
LINER_API_KEY=sk_live_... npm run test:live # live test against platform.liner.com
Publish to ClawHub
npm run publish:dry # clawhub package publish ... --dry-run
npm run publish:clawhub # clawhub package publish liner/openclaw-liner-search
Before first publish, confirm:
- The package scope must match a ClawHub owner you control (
@liner). If Liner's ClawHub owner handle differs, rename the package +install/publishspecs accordingly (ClawHub rejects scope/owner mismatches).openclaw.compat/openclaw.buildversions track the OpenClaw release you built/tested against (currently2026.6.x).- New releases are hidden from install surfaces until ClawHub's automated security review completes.
Files
| File | Role |
|---|---|
openclaw.plugin.json | manifest — id, webSearchProviders contract, config schema, UI hints |
index.ts | plugin entry — registers the provider |
web-search-provider.ts | top-level re-export |
web-search-contract-api.ts | lightweight contract surface (metadata-only) |
src/liner-web-search-provider.shared.ts | provider base (id/label/auth/order) |
src/liner-web-search-provider.ts | tool schema + createTool |
src/liner-web-search-provider.runtime.ts | HTTP call + response mapping |
src/liner-web-search-provider.test.ts | unit tests |
liner.live.test.ts | gated live test |
test-api.ts | test-only re-export of runtime helpers |
License
MIT