open-index/open-npm huggingface dataset:
npm package: @piex-store/middleware-redux-devtools
Description: middleware for piex store to use redux devtools
Author: foreverzmy
Latest version: 0.0.0-alpha3

# `@piex-store/plugin-redux-devtools`

> TODO: description

## Usage

```
const pluginReduxDevtools = require('@piex-store/plugin-redux-devtools');

// TODO: DEMONSTRATE API
```
npm package: @piezoelement/nodejs-huobi-sdk
Description: Huobi API SDK
Author: Alexander Miro
Latest version: 0.0.2

# Installation

```shell
npm install @piezoelement/nodejs-huobi-sdk
yarn add @piezoelement/nodejs-huobi-sdk
```

```shell
cp .env.example .env
```

# Example

```typescript
import { HuobiSDK } from '@piezoelement/nodejs-huobi-sdk';
import process from 'process';

const KEY = process.env.KEY;
const SECRET = process.env.SECRET;
const URL = 'https://api.huobi.pro';

const client = new HuobiSDK(URL, KEY, SECRET);

const accounts = await client.getAccounts();
```
npm package: @pigeon-cp/pigeon-cli
Description: A CLI tool for project Pigeon.
Author: taccisum
Latest version: 0.1.1

# Pigeon CLI

[Incubating]

A CLI tool for project [Pigeon](https://github.com/pigeon-cp/pigeon).

## Getting Start

### Download

if you have node.js installed upon you machine, you can install `pigeon-cli` via npm by use the command below

```bash
$ npm install -g @pigeon-cp/pigeon-cli
```

otherwise download the executable binary file from [releases](https://github.com/pigeon-cp/pigeon-cli/releases).

### Create Plugin

```bash
$ pigeon-cli plugin [type]      # create new empty plugin project
```

#### Plugin Debug

```bash
$ cd /path/to/plugin        # cd plugin project dir
$ vim debug.properties      # config Pigeon application
$ pigeon-cli debug          # start Pigeon application on debug mode
```

### Manage Pigeon Instance

```bash
$ pigeon-cli
> pigeon.messages.send()
```

### Migrate DB

```bash
$ pigeon-cli migrate [type]     # type: mysql or sqlite
```

and then select db version you want to migrate to.

## References

```bash
$ pigeon-cli --help
$ pigeon-cli [sub-command] --help
```

run command above for more informations.
npm package: @pigeon-media/cambodia-address
Description: Convert Latitude & Longitude to address components
Author: Pigeon Media
Latest version: 1.0.2

# Cambodia Address

Convert Latitude & Longitude to address

[![Publish to NPM Registry](https://github.com/pigeon-media/cambodia-address/actions/workflows/npm.yml/badge.svg)](https://github.com/pigeon-media/cambodia-address/actions/workflows/npm.yml)
![Npm Version](https://img.shields.io/npm/v/@pigeon-media/cambodia-address.svg)

## Installation

```
npm install @pigeon-media/cambodia-address
```

## Usage

```js
const { resolveCoordinates } = require('@pigeon-media/cambodia-address');
const location = { lat: 0.0, lng: 0.0 };
const result = resolve(location);
console.log(result);
```


## Sample

```js
[
  {
    adm1_name: 'Phnom Penh',
    adm1_altnm: 'ភ្នំពេញ',
    iso3: 'KHM',
    disp_area: 'NO',
    adm1_id: 900426,
    adm0_id: 44,
    source: 'MLMUPC (CO)',
    validity: 0,
    last_modif: null,
    MAPCLR: 'KHM',
    source_adm: '12',
    SHAPE_Leng: 1.52711382626,
    SHAPE_Area: 0.0567630114975
  },
  {
    adm2_name: 'Chamkar Mon',
    adm2_altnm: 'ខណ្ឌចំការមន',
    iso3: 'KHM',
    disp_area: 'NO',
    adm2_id: 1006312,
    adm1_id: 900426,
    adm0_id: 44,
    source: 'MLMUPC (CO)',
    validity: 0,
    last_modif: '2017-11-28T23:00:00Z',
    MAPCLR: 'KHM',
    source_adm: '1201',
    SHAPE_Leng: 0.141641814897,
    SHAPE_Area: 0.000925064138692
  },
  {
    adm3_name: 'Boeng Keng Kang Ti Muoy',
    adm3_altnm: '',
    iso3: 'KHM',
    disp_area: 'NO',
    adm3_id: 31003,
    adm2_id: 1006312,
    adm1_id: 900426,
    adm0_id: 44,
    source: 'MLMUPC (CO)',
    validity: 0,
    last_modif: null,
    MAPCLR: 'KHM',
    source_adm: '120102',
    SHAPE_Leng: 0.0381616682883,
    SHAPE_Area: 0.0000827278092327
  }
]
```

## Execute

- `level` can be -1, 0, 1, 2

```bash
npx cambodia-address 100,100
npx cambodia-address 100,100 <level>
```
npm package: @pigeonmuyz/openclaw-onebot
Description: OneBot v11 protocol channel plugin for OpenClaw (QQ/Lagrange.Core/go-cqhttp) - Fork with whitelist & prefix filter
Author: PigeonMuyz
Latest version: 1.0.9

<div align="center">

# openclaw-onebot

[OpenClaw](https://openclaw.ai) 的 **OneBot v11 协议**（QQ/Lagrange.Core、go-cqhttp 等）渠道插件。

> **Fork 说明**：本项目 Fork 自 [@kirigaya/openclaw-onebot](https://github.com/LSTM-Kirigaya/openclaw-onebot)，在原版基础上新增了消息过滤和用户导向会话功能。感谢原作者 [LSTM-Kirigaya](https://github.com/LSTM-Kirigaya) 的开源贡献。

[![npm version](https://img.shields.io/npm/v/@pigeonmuyz/openclaw-onebot?style=flat-square)](https://www.npmjs.com/package/@pigeonmuyz/openclaw-onebot)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
[![Node.js](https://img.shields.io/badge/node-%3E%3D22-brightgreen?style=flat-square)](https://nodejs.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.4-blue?style=flat-square)](https://www.typescriptlang.org/)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-Plugin-9cf?style=flat-square)](https://openclaw.ai)

</div>

---

## 与原版的差异

### 🧑 用户导向会话（非消息渠道导向）

原版中，群聊和私聊各自维护独立的 AI 上下文。本 Fork **以用户为中心**：同一用户无论在群聊中 @bot 还是在私聊中发消息，都共享同一个 AI 对话上下文。

```
原版：群聊 A → 上下文 A    私聊 → 上下文 B    （互相隔离）
Fork：群聊 A → 上下文 User  私聊 → 上下文 User  （共享记忆）
```

回复仍然发送到正确位置——群消息回群，私聊回私聊。

### 🔒 消息过滤规则

| 场景 | 规则 |
|------|------|
| **群聊** | 白名单非空时，仅白名单用户 @bot 才处理；非白名单用户**静默忽略** |
| **私聊** | 白名单非空时，非白名单用户回复"权限不足"；有前缀时消息必须以前缀开头 |

### 🔧 新增配置项

| 配置项 | 说明 |
|--------|------|
| `privateMessagePrefix` | 私聊消息前缀符号（如 `/` 或 `#`），仅以此符号开头的私聊消息才处理 |

可通过 `openclaw onebot setup` 向导配置。

---

## 安装

```bash
openclaw plugins install @pigeonmuyz/openclaw-onebot
openclaw onebot setup
```

## 配置示例

```json
{
  "channels": {
    "onebot": {
      "whitelistUserIds": [1193466151, 2575183654],
      "privateMessagePrefix": "/",
      "requireMention": true,
      "renderMarkdownToPlain": true,
      "longMessageMode": "normal",
      "longMessageThreshold": 300
    }
  }
}
```

## 功能

- ✅ 私聊/群聊消息处理（用户导向共享上下文）
- ✅ 群聊 @bot 触发回复（可配置）
- ✅ 白名单 + 私聊前缀符号过滤
- ✅ 自动获取引用上下文
- ✅ 新成员入群欢迎
- ✅ 自动合并转发长消息
- ✅ 长消息生成图片（og_image 模式）
- ✅ 支持文件、图像读取/上传
- ✅ 通过 `openclaw message send` CLI 发送

## 使用

1. 安装并配置（`openclaw onebot setup`）
2. 重启 Gateway：`openclaw gateway restart`
3. 在 QQ 私聊或群聊中发消息（群聊需 @ 机器人）

## 参考

- [原版 openclaw-onebot](https://github.com/LSTM-Kirigaya/openclaw-onebot) — 原作者 [LSTM-Kirigaya](https://github.com/LSTM-Kirigaya)
- [OneBot 11](https://github.com/botuniverse/onebot-11)
- [go-cqhttp](https://docs.go-cqhttp.org/)
- [Lagrange.Core](https://github.com/LSTM-Kirigaya/Lagrange.Core)
- [NapCat](https://github.com/NapNeko/NapCatQQ)

## License

MIT © [LSTM-Kirigaya](https://github.com/LSTM-Kirigaya) (原版) / [PigeonMuyz](https://github.com/PigeonMuyz) (Fork)
npm package: @pigeonmuyz/openclaw-onebot-dodo
Description: 渡渡鸟 OneBot v11 channel plugin for OpenClaw - 群聊上下文共享 + 关键词触发
Author: PigeonMuyz
Latest version: 2.0.0

<div align="center">

# openclaw-onebot-dodo 🦤

[OpenClaw](https://openclaw.ai) 的 **渡渡鸟** 群聊 AI 助手插件，基于 OneBot v11 协议。

> 基于 [@pigeonmuyz/openclaw-onebot](https://github.com/PigeonMuyz/openclaw-onebot) 改造，专为剑网三情缘群设计。

[![npm version](https://img.shields.io/npm/v/@pigeonmuyz/openclaw-onebot-dodo?style=flat-square)](https://www.npmjs.com/package/@pigeonmuyz/openclaw-onebot-dodo)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
[![Node.js](https://img.shields.io/badge/node-%3E%3D22-brightgreen?style=flat-square)](https://nodejs.org)

</div>

---

## 特色

- 🗨️ **群聊共享上下文** — 所有群成员共享 AI 对话历史，渡渡鸟能看到完整对话流
- 🔑 **关键词触发** — 群聊仅 @渡渡鸟 或包含关键词时回复，不会频繁刷屏
- 📜 **混合上下文注入** — 内存缓存 + OneBot 历史 API 混合，触发时自动附带最近群聊记录
- 🔁 **自动无限重连** — 断线后指数退避重连（3s → 60s），永不放弃
- 🛡️ **管理员权限** — 记忆写入需管理员确认，风险行为自动上报
- 🎮 **剑网三知识** — 内置 20 个门派体型别称 + 服务器别称表

## 安装

```bash
openclaw plugins install @pigeonmuyz/openclaw-onebot-dodo
openclaw dodo setup
openclaw gateway restart
```

## 配置

运行 `openclaw dodo setup` 会依次配置：

| 配置项 | 说明 |
|--------|------|
| 连接类型 | 正向/反向 WebSocket |
| 主机地址、端口、Token | OneBot 连接信息 |
| `triggerModes` | 群聊触发模式（多选）：at/reply/keyword/keyword_probability |
| `triggerKeyword` | 群聊触发关键词（keyword/keyword_probability 模式下生效，默认"渡渡鸟"） |
| `adminUserIds` | 管理员 QQ 号（逗号分隔） |
| `whitelistUserIds` | 白名单 QQ 号（留空则所有人可触发） |
| `privateMessagePrefix` | 私聊前缀（如 `/`，避免与 Koishi 冲突） |
| `groupHistorySize` | 群聊上下文条数（默认 15） |
| 长消息模式 | 分段发送 / OG 图片 / 合并转发 |

配置示例（`~/.openclaw/openclaw.json`）：

```json
{
  "channels": {
    "dodo": {
      "type": "forward-websocket",
      "host": "127.0.0.1",
      "port": 3001,
      "enabled": true,
      "triggerModes": ["at", "reply"],
      "triggerKeyword": "渡渡鸟",
      "adminUserIds": [123456789],
      "whitelistUserIds": [],
      "privateMessagePrefix": "/",
      "groupHistorySize": 15,
      "renderMarkdownToPlain": true,
      "longMessageMode": "normal",
      "longMessageThreshold": 300
    }
  }
}
```

## Session 策略

| 场景 | Session ID | 说明 |
|------|-----------|------|
| 群聊 | `dodo:group:{群号}` | 所有群成员共享上下文 |
| 私聊 | `dodo:dm:{QQ号}` | 每人独立上下文 |

## 触发条件

| 触发模式 | 条件 | 配置项 |
|----------|------|--------|
| `at` | @渡渡鸟 | triggerModes 包含 "at" |
| `reply` | 引用渡渡鸟的消息 | triggerModes 包含 "reply" |
| `keyword` | 消息包含触发关键词 | triggerModes 包含 "keyword"，需配置 triggerKeyword |
| `keyword_probability` | 消息包含关键词，AI 判断是否回复 | triggerModes 包含 "keyword_probability" |
| 私聊 | 直接回复（可配置前缀过滤） | privateMessagePrefix |

## Agent 工具

AI 可调用以下工具：

| 工具 | 用途 |
|------|------|
| `dodo_send_text` | 发送文本（群/私聊） |
| `dodo_send_image` | 发送图片 |
| `dodo_upload_file` | 上传文件 |
| `dodo_get_group_msg_history` | 获取群聊历史消息 |
| `dodo_search_group_member` | 按名字搜索群成员 |
| `dodo_run_script` | 执行自定义 JS/TS 脚本 |
| `dodo_list_stickers` | 列出所有可用表情包（名称+关键词） |
| `dodo_send_sticker` | 按关键词搜索并发送表情包图片 |

## 内置 Skills

| Skill | 内容 |
|-------|------|
| **jx3-factions** | 剑三 20 门派体型别称、心法、服务器别称 |
| **dodo-rules** | 管理员权限、记忆写入控制、风险行为上报、行为准则 |

## License

MIT © [PigeonMuyz](https://github.com/PigeonMuyz)
npm package: @pigeonmuyz/openclaw-onebot12
Description: OneBot v12 protocol channel plugin for OpenClaw
Author: PigeonMuyz
Latest version: 1.0.4

<div align="center">

# openclaw-onebot12

[OpenClaw](https://openclaw.ai) 的 **OneBot v12 协议**渠道插件。

支持 QQ（Walle-Q 等）、微信及其他实现了 OneBot v12 协议的 Bot 框架。

[![npm version](https://img.shields.io/npm/v/@pigeonmuyz/openclaw-onebot12?style=flat-square)](https://www.npmjs.com/package/@pigeonmuyz/openclaw-onebot12)
[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg?style=flat-square)](LICENSE)
[![Node.js](https://img.shields.io/badge/node-%3E%3D22-brightgreen?style=flat-square)](https://nodejs.org)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.4-blue?style=flat-square)](https://www.typescriptlang.org/)
[![OpenClaw](https://img.shields.io/badge/OpenClaw-Plugin-9cf?style=flat-square)](https://openclaw.ai)

</div>

---

## 特性

### 🧑 用户导向会话

本插件采用**用户导向**的会话管理，而非传统的消息渠道导向。同一用户无论在群聊中 @bot 还是私聊 bot，都共享同一个 AI 对话上下文：

```
群聊 A @bot → 上下文 User123    （共享记忆）
私聊 bot   → 上下文 User123    （同一上下文）
```

AI 的回复仍然发送到正确位置——群消息回群，私聊回私聊。

### 🔒 消息过滤

| 场景 | 规则 |
|------|------|
| **群聊** | 白名单非空时，仅白名单用户 @bot 才处理；非白名单用户静默忽略 |
| **私聊** | 白名单非空时，非白名单用户回复"权限不足"；有前缀符号时消息必须以前缀开头 |

### 🔧 OneBot v12 协议适配

| 特性 | 说明 |
|------|------|
| 发送消息 | `send_message` + `detail_type`（统一 API） |
| @检测 | `mention` 消息段（替代 v11 的 `at`） |
| 事件类型 | `type` + `detail_type`（替代 v11 的 `post_type` + `message_type`） |
| ID 类型 | 字符串（替代 v11 的数字） |
| 鉴权 | 支持 `bearer`（Authorization 头）和 `query`（URL 参数）两种模式 |

---

## 安装

```bash
openclaw plugins install @pigeonmuyz/openclaw-onebot12
openclaw onebot12 setup
```

## 配置向导

运行 `openclaw onebot12 setup` 后依次配置：

1. WebSocket 地址（如 `ws://127.0.0.1:8080`）
2. 鉴权类型（none / bearer / query）
3. Access Token（鉴权时填写）
4. 平台标识（qq / wechat）
5. Markdown 渲染、长消息模式
6. 白名单用户 ID
7. 私聊消息前缀符号

## 配置示例

```json
{
  "channels": {
    "onebot12": {
      "endpoint": "ws://127.0.0.1:8080",
      "authType": "bearer",
      "token": "your_token_here",
      "platform": "qq",
      "whitelistUserIds": ["1193466151", "2575183654"],
      "privateMessagePrefix": "/",
      "requireMention": true,
      "renderMarkdownToPlain": true,
      "longMessageMode": "normal",
      "longMessageThreshold": 300
    }
  }
}
```

## 功能

- ✅ 私聊/群聊消息处理（用户导向共享上下文）
- ✅ 群聊 @bot 触发回复（使用 `mention` 消息段检测）
- ✅ 白名单 + 私聊前缀符号过滤
- ✅ 自动获取引用上下文（v12 `reply` 段，部分实现可能不支持）
- ✅ 自动合并转发长消息
- ✅ 长消息生成图片（og_image 模式）
- ✅ 支持文件、图像发送
- ✅ 配置向导（`openclaw onebot12 setup`）

## 使用

1. 安装并配置（`openclaw onebot12 setup`）
2. 重启 Gateway：`openclaw gateway restart`
3. 在群聊中 @bot 或私聊 bot 发消息

## 参考项目

本项目基于 [@kirigaya/openclaw-onebot](https://github.com/LSTM-Kirigaya/openclaw-onebot)（OneBot v11 版本）改造为 v12 协议适配。感谢原作者 [LSTM-Kirigaya](https://github.com/LSTM-Kirigaya) 的开源贡献。

- [原版 openclaw-onebot (v11)](https://github.com/LSTM-Kirigaya/openclaw-onebot) — 原作者 [LSTM-Kirigaya](https://github.com/LSTM-Kirigaya)
- [OneBot 12 协议标准](https://12.onebot.dev/)
- [OpenClaw](https://openclaw.ai)

## License

MIT © [PigeonMuyz](https://github.com/PigeonMuyz)