open-index/open-npm huggingface dataset:
npm package: @keyoku/bot
Description: Set up your AI bot with persistent memory in minutes
Author: Keyoku
Latest version: 0.1.3

<div align="center">

# @keyoku/bot

**Your AI bot with persistent memory.**
Clone. Init. Run. It remembers everything.

[![npm](https://img.shields.io/npm/v/@keyoku/bot?style=flat-square&color=6366f1)](https://www.npmjs.com/package/@keyoku/bot)
[![License: MIT](https://img.shields.io/badge/License-MIT-22c55e?style=flat-square)](https://github.com/keyoku-ai/keyoku-bot/blob/main/LICENSE)

</div>

## Quick Start

**Prerequisites:** [Docker Desktop](https://docs.docker.com/get-docker/) + an LLM API key (or a ChatGPT subscription)

```bash
npx @keyoku/bot init
```

The setup wizard walks you through:

1. **LLM provider** — OpenAI, Anthropic, Gemini, or ChatGPT (no API key)
2. **Memory extraction** — which model handles memory extraction & embeddings
3. **Channel** — Telegram, Discord, or API-only
4. **Launch** — generates `.env` + `docker-compose.yml` and starts the bot

## How It Works

```
  ┌──────────────┐    ┌─────────────────┐    ┌──────────────────┐
  │  Telegram    │◀──▶│    OpenClaw     │◀──▶│  Keyoku Engine   │
  │  Discord     │    │    Gateway      │    │                  │
  │  API         │    │                 │    │  Memory storage  │
  └──────────────┘    │  Sessions       │    │  Semantic search │
                      │  Tool use       │    │  Heartbeat       │
                      └─────────────────┘    └──────────────────┘
```

Your bot stores memories automatically. When a user says something important, Keyoku extracts entities, relationships, and facts. On the next conversation, relevant memories are injected into context — the LLM references them naturally.

## Commands

```bash
npx @keyoku/bot init              # Setup wizard
npx @keyoku/bot status            # Health, memory stats, watcher, config
npx @keyoku/bot search "query"    # Test memory recall
npx @keyoku/bot memories          # List stored memories
npx @keyoku/bot watcher           # Watcher status and tick history
```

## Supported LLMs

| Provider | Models |
|----------|--------|
| **OpenAI** | GPT-5.4, GPT-5 Mini, GPT-4.1 Mini |
| **OpenAI (ChatGPT)** | GPT-5.4, GPT-5.3 Codex — no API key needed |
| **Anthropic** | Claude Sonnet 4.6, Claude Opus 4.6, Claude Haiku 4.5 |
| **Google Gemini** | Gemini 2.5 Flash, Gemini 3.1 Pro, Gemini 3.1 Flash Lite |

## Customization

Edit two files to change your bot's personality:

| File | What It Controls |
|------|-----------------|
| `workspace/IDENTITY.md` | Name, vibe, style |
| `workspace/SOUL.md` | Behavior, capabilities, boundaries |

```bash
docker compose restart   # Apply changes
```

## Links

- [GitHub](https://github.com/keyoku-ai/keyoku-bot) — full docs, project structure, advanced config
- [Keyoku Engine](https://github.com/keyoku-ai/keyoku-engine) — memory backend
- [OpenClaw](https://github.com/openclaw/openclaw) — agent gateway

## License

MIT
npm package: @keyoku/memory
Description: Keyoku memory engine HTTP client
Latest version: 1.5.0

# @keyoku/memory

HTTP client for the [Keyoku](https://github.com/keyoku-ai/keyoku) memory engine. Use this to add persistent memory to any Node.js agent or application.

## Install

```bash
npm install @keyoku/memory
```

## Quick Start

```typescript
import { KeyokuClient } from '@keyoku/memory';

const keyoku = new KeyokuClient({
  baseUrl: 'http://localhost:18900',
});

// Store memories
await keyoku.remember('user-123', 'Prefers dark mode and TypeScript');

// Semantic search
const results = await keyoku.search('user-123', 'what are their preferences?');

// Heartbeat — proactive signal scan
const signals = await keyoku.heartbeatCheck('user-123');
if (signals.should_act) {
  console.log(signals.priority_action);
}
```

## API

### Constructor

```typescript
new KeyokuClient({
  baseUrl?: string;    // default: http://localhost:18900
  timeout?: number;    // default: 30000ms
  token?: string | (() => string | undefined);
})
```

### Memory Operations

| Method | Description |
|--------|-------------|
| `remember(entityId, content, options?)` | Store memories (auto-extracts facts) |
| `search(entityId, query, options?)` | Semantic search over memories |
| `listMemories(entityId, limit?)` | List all memories for an entity |
| `getMemory(id)` | Get a single memory by ID |
| `deleteMemory(id)` | Delete a specific memory |
| `deleteAllMemories(entityId)` | Wipe all memories for an entity |
| `getStats(entityId)` | Memory statistics |

### Heartbeat Operations

| Method | Description |
|--------|-------------|
| `heartbeatCheck(entityId, options?)` | Zero-token signal scan (deadlines, decaying, conflicts) |
| `heartbeatContext(entityId, options?)` | Combined heartbeat + context search with LLM analysis |
| `recordHeartbeatMessage(entityId, message)` | Log heartbeat messages for deduplication |

### Scheduling

| Method | Description |
|--------|-------------|
| `createSchedule(entityId, agentId, content, cronTag)` | Create recurring reminder (`daily`, `weekly`, `monthly`, or cron) |
| `listSchedules(entityId, agentId?)` | List active schedules |
| `ackSchedule(memoryId)` | Acknowledge a schedule |
| `cancelSchedule(id)` | Cancel a schedule |

### Error Handling

```typescript
import { KeyokuError } from '@keyoku/memory';

try {
  await keyoku.search('user-123', 'query');
} catch (err) {
  if (err instanceof KeyokuError) {
    console.log(err.status, err.path);
  }
}
```

All types from `@keyoku/types` are re-exported for convenience.

## License

MIT
npm package: @keyoku/openclaw
Description: Keyoku memory plugin for OpenClaw — persistent memory, heartbeat enhancement, and scheduling
Latest version: 1.5.0

# @keyoku/openclaw

[Keyoku](https://github.com/keyoku-ai/keyoku) memory plugin for [OpenClaw](https://github.com/openclaw/openclaw) — persistent memory, heartbeat signals, and scheduling for your AI assistant.

## Install

```bash
npm install @keyoku/openclaw
```

Or use the setup wizard:

```bash
npx keyoku-init
```

## Usage

In your `openclaw.json`:

```json
{
  "extensions": ["@keyoku/openclaw"]
}
```

Or programmatically:

```typescript
import keyokuMemory from '@keyoku/openclaw';

const plugin = keyokuMemory({
  autoRecall: true,
  autoCapture: true,
  heartbeat: true,
  topK: 5,
  autonomy: 'suggest',
});
```

## What It Does

- **Auto-recall** — Injects relevant memories into context before every response
- **Auto-capture** — Extracts facts, preferences, and relationships from conversations in real-time
- **Heartbeat** — Surfaces deadlines, follow-ups, decaying memories, and conflicts proactively
- **Scheduling** — Cron-based reminders with acknowledgment tracking

## Configuration

| Option | Default | Description |
|--------|---------|-------------|
| `keyokuUrl` | `http://localhost:18900` | Keyoku engine URL |
| `autoRecall` | `true` | Inject memories before responses |
| `autoCapture` | `true` | Extract facts from conversations |
| `heartbeat` | `true` | Enable proactive signals |
| `incrementalCapture` | `true` | Capture per-message vs. session-end |
| `topK` | `5` | Memories to inject per prompt |
| `autonomy` | `"suggest"` | Action level: `observe`, `suggest`, `act` |
| `captureMaxChars` | `2000` | Max characters for auto-capture |

## Tools

The plugin registers 7 tools for your assistant:

| Tool | Description |
|------|-------------|
| `memory_search` | Semantic search over memories |
| `memory_get` | Read a specific memory |
| `memory_store` | Save important information |
| `memory_forget` | Delete a memory |
| `memory_stats` | View memory statistics |
| `schedule_create` | Create a recurring reminder |
| `schedule_list` | View active schedules |

## License

MIT
npm package: @keyoku/types
Description: Shared type definitions for Keyoku memory engine
Latest version: 1.5.0

# @keyoku/types

Shared TypeScript type definitions for the [Keyoku](https://github.com/keyoku-ai/keyoku) memory engine.

## Install

```bash
npm install @keyoku/types
```

## What's Included

Core data contracts used across all Keyoku packages:

| Type | Description |
|------|-------------|
| `Memory` | Core memory entity — content, importance, confidence, sentiment, tags, timestamps, expiry |
| `SearchResult` | Semantic search result with similarity and composite scores |
| `RememberResult` | Outcome of `remember()` — created, updated, deleted, skipped counts |
| `HeartbeatResult` | Zero-token signal scan — deadlines, scheduled, decaying, conflicts |
| `HeartbeatAnalysis` | LLM-analyzed signals with recommended actions and urgency |
| `HeartbeatContextResult` | Combined heartbeat + context search with escalation and graph data |
| `MemoryStats` | Memory statistics — totals, breakdowns by type and state |

Extended signal types for nuanced agent behavior:

`GoalProgress` · `SessionContinuity` · `SentimentTrend` · `RelationshipAlert` · `KnowledgeGap` · `BehavioralPattern`

## Usage

```typescript
import type { Memory, SearchResult, HeartbeatResult } from '@keyoku/types';
```

## License

MIT
npm package: @keyology/keylink
Description: keylink is a terminal app that converts links to short links and saves them to a json file for you to read and write to. 
Author: Keoni Murray
Latest version: 2.0.2

# keylink

### keylink is a Cli application that makes saving and finding links easier.

### keylink saves links as short links to make them smaller and easier to share. 




## How to Install 

```npm install @keyology/keylink```

![](https://img.shields.io/github/issues/Keyology/keylink.svg)
![](https://img.shields.io/github/forks/Keyology/keylink.svg)
![](https://img.shields.io/github/stars/Keyology/keylink.svg)
![](https://img.shields.io/github/license/Keyology/keylink.svg)
![](https://img.shields.io/twitter/url/https/github.com/Keyology/keylink.svg?style=social)

### How to use Keylink
```
    keylink <command> 

    commands can be 

    new:      used to add a new link
    get:      used to retrieve all links saved
    remove:   used to remove a link that is saves
    help:     used to print the usage guide


```
npm package: @keyou-zzc/treasure-chest
Description: treasure-chest
Author: JinYuShao
Latest version: 0.0.12

# @keyou-zzc/treasure-chest

treasure-chest

## Installation

```sh
npm install @keyou-zzc/treasure-chest
```

## Usage

```js
import { multiply } from '@keyou-zzc/treasure-chest';

// ...

const result = await multiply(3, 7);
```

## Contributing

See the [contributing guide](CONTRIBUTING.md) to learn how to contribute to the repository and the development workflow.

## License

MIT

---

Made with [create-react-native-library](https://github.com/callstack/react-native-builder-bob)
npm package: @keyper-labs/keyper-safe-deployments
Description: Collection of Safe singleton deployments & Keyper module
Author: jose@keyperwallet.com
Latest version: 0.2.2

# Gnosis Safe Deployments

This contract contains a collection of deployments of the contract of the [keyper contracts repository](https://github.com/keyper-labs/KeyperModule). 

For each deployment the address on the different networks and the abi files are available. To get an overview of the available versions check the available [json assets](./src/assets/).

## Install
- npm - `npm i @keyper-labs/keyper-deployments`
- yarn - `yarn add @keyper-labs/keyper-deployments`

## Usage

It is possible to directly use the json files in the [assets folder](./src/assets/) that contain the addresses and abi definitions.

An alternative is to use the JavaScript library methods to query the correct deployment. The library supports different methods to get the deployment of a specific contract.

Each of the method takes an optional `DeploymentFilter` as a parameter.

```ts
interface DeploymentFilter {
    version?: string,
    released?: boolean, // Defaults to true if no filter is specified
    network?: string // Chain id of the network
}
```

The method will return a `SingletonDeployment` object or `undefined` if no deployment was found for the specified filter.

```ts
interface SingletonDeployment {
    defaultAddress: string, // Address the contract was deployed to by the Gnosis team
    version: string,
    abi: any[],
    networkAddresses: Record<string, string>, // Address of the contract by network
    contractName: string,
    released: boolean // A released version was audited and has a running bug bounty
}
```

- Keyper Module
```ts
const safeSingleton = getKeyperModuleDeployment()
```

## Notes

A list of network information can be found at [chainid.network](https://chainid.network/)

## License

This library is released under MIT.
npm package: @keypo/api-client
Description: Keypo Generic REST API Client
Latest version: 0.0.18
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# api-client

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build api-client` to build the library.

## Running unit tests

Run `nx test api-client` to execute the unit tests via [Jest](https://jestjs.io).
npm package: @keypo/contracts
Description: Smart contract interfaces for Keypo
Latest version: 0.0.13
Deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.

# contracts

This library was generated with [Nx](https://nx.dev).

## Building

Run `nx build contracts` to build the library.

## Running unit tests

Run `nx test contracts` to execute the unit tests via [Jest](https://jestjs.io).