# Send Moss to your agent
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
## Fast path
- Download the package from Yavira.
- Extract it into a folder your agent can access.
- Paste one of the prompts below and point your agent at the extracted folder.
## Suggested prompts
### New install

```text
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
```
### Upgrade existing

```text
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
```
## Machine-readable fields
```json
{
  "schemaVersion": "1.0",
  "item": {
    "slug": "moss",
    "name": "Moss",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/CoderOMaster/moss",
    "canonicalUrl": "https://clawhub.ai/CoderOMaster/moss",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadUrl": "/downloads/moss",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=moss",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "packageFormat": "ZIP package",
    "primaryDoc": "SKILL.md",
    "includedAssets": [
      "_meta.json",
      "SKILL.md"
    ],
    "downloadMode": "redirect",
    "sourceHealth": {
      "source": "tencent",
      "slug": "moss",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-05-05T21:46:07.466Z",
      "expiresAt": "2026-05-12T21:46:07.466Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=moss",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=moss",
        "contentDisposition": "attachment; filename=\"moss-1.0.3.zip\"",
        "redirectLocation": null,
        "bodySnippet": null,
        "slug": "moss"
      },
      "scope": "item",
      "summary": "Item download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this item.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/moss"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    }
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/moss",
    "downloadUrl": "https://openagent3.xyz/downloads/moss",
    "agentUrl": "https://openagent3.xyz/skills/moss/agent",
    "manifestUrl": "https://openagent3.xyz/skills/moss/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/moss/agent.md"
  }
}
```
## Documentation

### Capabilities

Moss is the real-time semantic search runtime for conversational AI. It delivers sub-10ms lookups and instant index updates that run in the browser, on-device, or in the cloud - wherever your agent lives. Agents can create indexes, embed documents, perform semantic/hybrid searches, and manage document lifecycles without managing infrastructure. The platform handles embedding generation, index persistence, and optional cloud sync - allowing agents to focus on retrieval logic rather than infrastructure.

### Index Management

Create Index: Build a new semantic index with documents and embedding model selection
Load Index: Load an existing index from persistent storage for querying
Get Index: Retrieve metadata about a specific index (document count, model, etc.)
List Indexes: Enumerate all indexes under a project
Delete Index: Remove an index and all associated data

### Document Operations

Add Documents: Insert or upsert documents into an existing index with optional metadata
Get Documents: Retrieve stored documents by ID or fetch all documents
Delete Documents: Remove specific documents from an index by their IDs

### Search & Retrieval

Semantic Search: Query using natural language with vector similarity matching
Keyword Search: Use BM25-based keyword matching for exact term lookups
Hybrid Search: Blend semantic and keyword search with configurable alpha weighting (Python SDK)
Metadata Filtering: Constrain results by document metadata (category, language, tags)
Top-K Results: Return configurable number of best-matching documents with scores

### Embedding Models

moss-minilm: Fast, lightweight model optimized for edge/offline use (default)
moss-mediumlm: Higher accuracy model with reasonable performance for precision-critical use cases

### SDK Methods

JavaScriptPythonDescriptioncreateIndex()create_index()Create index with documentsloadIndex()load_index()Load index from storagegetIndex()get_index()Get index metadatalistIndexes()list_indexes()List all indexesdeleteIndex()delete_index()Delete an indexaddDocs()add_docs()Add/upsert documentsgetDocs()get_docs()Retrieve documentsdeleteDocs()delete_docs()Remove documentsquery()query()Semantic / hybrid search

### API Actions

All REST API operations go through POST /v1/manage (base URL: https://service.usemoss.dev/v1) with an action field:

ActionPurposeExtra required fieldsinitUploadGet a presigned URL to upload index dataindexName, modelId, docCount, dimensionstartBuildTrigger an index build after uploading datajobIdgetJobStatusCheck the status of an async build jobjobIdgetIndexFetch metadata for a single indexindexNamelistIndexesEnumerate every index under the project—deleteIndexRemove an index record and assetsindexNamegetIndexUrlGet download URLs for a built indexindexNameaddDocsUpsert documents into an existing indexindexName, docsdeleteDocsRemove documents by IDindexName, docIdsgetDocsRetrieve stored documents (without embeddings)indexName

### Basic Semantic Search Workflow

Initialize MossClient with project credentials
Call createIndex() with documents and model options ({ modelId: 'moss-minilm' } in JS; "moss-minilm" string in Python)
Call loadIndex() to prepare index for queries
Call query() with search text and topK (JS) or QueryOptions(top_k=...) (Python)
Process returned documents with scores

### Hybrid Search Workflow (Python)

Hybrid blending via alpha is available in the Python SDK via QueryOptions:

Create and load index as above
Call query() with a QueryOptions object specifying alpha
alpha=1.0 = pure semantic, alpha=0.0 = pure keyword, alpha=0.6 = 60/40 blend
Default is semantic-heavy for conversational use cases

### Document Update Workflow

Initialize client and ensure index exists
Call addDocs() with new documents (upserts by default — existing IDs are updated)
Call deleteDocs() to remove outdated documents by ID

### Voice Agent Context Injection Workflow

This is an opt-in integration pattern for voice agent pipelines — it is not automatic behavior of this skill.

Initialize MossClient and load index at agent startup
In your application code, call query() on each user message to retrieve relevant context
Inject search results into the LLM context before generating a response
Respond with knowledge-grounded answer (no tool-calling latency)

### Offline-First Search Workflow

Create index with documents using local embedding model
Load index from local storage
Query runs entirely on-device with sub-10ms latency
Optionally sync to cloud for backup and sharing

### Voice Agent Frameworks

LiveKit: Context injection into voice agent pipeline with inferedge-moss SDK
Pipecat: Pipeline processor via pipecat-moss package that auto-injects retrieval results

### Authentication

SDK requires project credentials:

MOSS_PROJECT_ID: Project identifier from Moss Portal
MOSS_PROJECT_KEY: Project access key from Moss Portal

export MOSS_PROJECT_ID=your_project_id
export MOSS_PROJECT_KEY=your_project_key

REST API requires the following on every request:

x-project-key header: project access key
x-service-version: v1 header: API version
projectId field in the JSON body

curl -X POST "https://service.usemoss.dev/v1/manage" \\
  -H "Content-Type: application/json" \\
  -H "x-service-version: v1" \\
  -H "x-project-key: moss_access_key_xxxxx" \\
  -d '{"action": "listIndexes", "projectId": "project_123"}'

### Package Installation

LanguagePackageInstall CommandJavaScript/TypeScript@inferedge/mossnpm install @inferedge/mossPythoninferedge-mosspip install inferedge-mossPipecat Integrationpipecat-mosspip install pipecat-moss

### Document Schema

interface DocumentInfo {
  id: string;        // Required: unique identifier
  text: string;      // Required: content to embed and search
  metadata?: object; // Optional: key-value pairs for filtering
}

### Query Parameters

ParameterSDKTypeDefaultDescriptionindexNameJS + Pythonstring—Target index name (required)queryJS + Pythonstring—Natural language search text (required)topKJSnumber5Max results to returntop_kPythonint5Max results to returnalphaPython onlyfloat~0.8Hybrid weighting: 0.0=keyword, 1.0=semanticfiltersJS + Pythonobject—Metadata constraints

### Model Selection

ModelUse CaseTradeoffmoss-minilmEdge, offline, browser, speed-firstFast, lightweightmoss-mediumlmPrecision-critical, higher accuracySlightly slower

### Performance Expectations

Sub-10ms local queries (hardware-dependent)
Instant index updates without reindexing entire corpus
Sync is optional; compute stays on-device
No infrastructure to manage

### Chunking Best Practices

Aim for ~200–500 tokens per chunk
Overlap 10–20% to preserve context
Normalize whitespace and strip boilerplate

### Common Errors

ErrorCauseFixUnauthorizedMissing credentialsSet MOSS_PROJECT_ID and MOSS_PROJECT_KEYIndex not foundQuery before createCall createIndex() firstIndex not loadedQuery before loadCall loadIndex() before query()Missing embeddings runtimeInvalid modelUse moss-minilm or moss-mediumlm

### Async Pattern

All SDK methods are async — always use await:

// JavaScript
import { MossClient, DocumentInfo } from '@inferedge/moss'
const client = new MossClient(process.env.MOSS_PROJECT_ID!, process.env.MOSS_PROJECT_KEY!)
await client.createIndex('faqs', docs, { modelId: 'moss-minilm' })
await client.loadIndex('faqs')
const results = await client.query('faqs', 'search text', { topK: 5 })

# Python
import os
from inferedge_moss import MossClient, QueryOptions
client = MossClient(os.getenv('MOSS_PROJECT_ID'), os.getenv('MOSS_PROJECT_KEY'))
await client.create_index('faqs', docs, 'moss-minilm')
await client.load_index('faqs')
results = await client.query('faqs', 'search text', QueryOptions(top_k=5, alpha=0.6))

For additional documentation and navigation, see: https://docs.moss.dev/llms.txt
## Trust
- Source: tencent
- Verification: Indexed source record
- Publisher: CoderOMaster
- Version: 1.0.3
## Source health
- Status: healthy
- Item download looks usable.
- Yavira can redirect you to the upstream package for this item.
- Health scope: item
- Reason: direct_download_ok
- Checked at: 2026-05-05T21:46:07.466Z
- Expires at: 2026-05-12T21:46:07.466Z
- Recommended action: Download for OpenClaw
## Links
- [Detail page](https://openagent3.xyz/skills/moss)
- [Send to Agent page](https://openagent3.xyz/skills/moss/agent)
- [JSON manifest](https://openagent3.xyz/skills/moss/agent.json)
- [Markdown brief](https://openagent3.xyz/skills/moss/agent.md)
- [Download page](https://openagent3.xyz/downloads/moss)