open-index/open-npm huggingface dataset:
npm package: @oleap/openclaw-channel-oleap
Description: OpenClaw Oleap channel plugin
Author: Oleap Team
Latest version: 0.1.3

<div align="center">

# OpenClaw Channel — Oleap

**将 AI 助手接入 Oleap 企业通讯平台，支持 WebSocket 和 HTTP 轮询双模式。**

[![npm](https://img.shields.io/npm/v/@oleap/openclaw-channel-oleap)](https://www.npmjs.com/package/@oleap/openclaw-channel-oleap)
[![License](https://img.shields.io/badge/license-MIT-green)](./LICENSE)
[![Platform](https://img.shields.io/badge/platform-OpenClaw-orange)](https://github.com/openclaw/openclaw)
[![Node.js](https://img.shields.io/badge/Node.js->=18-339933?logo=node.js&logoColor=white)](https://nodejs.org/)
[![TypeScript](https://img.shields.io/badge/TypeScript-5.x-3178C6?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)

</div>

---

[OpenClaw](https://github.com/openclaw/openclaw) 的 Oleap 频道插件，支持通过 WebSocket（默认）或 HTTP 轮询模式接入 Oleap 平台，实现 AI 助手与 Oleap App 用户之间的实时文本消息收发。

## 功能特性

- **双模式连接** — WebSocket 长连接（默认）和 HTTP 轮询两种传输模式
- **健壮重连** — 指数退避 + 随机抖动的自动重连机制，支持最大重试次数和周期限制
- **消息去重** — 基于 msgId 的 60 秒 TTL 去重窗口，防止重复处理
- **交互式配置** — Onboarding 向导引导用户从 App 复制粘贴凭证
- **心跳与健康检测** — 自动响应服务端 ping/pong，周期性检测 WebSocket 连接状态，发现静默断连后自动重连

## 快速开始

### 1. 安装插件

```bash
# 安装最新版本
openclaw plugins install @oleap/openclaw-channel-oleap@latest

# 启动 / 重启
openclaw gateway restart
```

### 2. 获取 User ID

1. 打开 **Oleap App**，点击底部导航栏的 **「我的」**
2. 页面顶部会显示你的 User ID / User Name
3. 点击右侧的 **复制按钮** 即可复制

### 3. 配置凭证

运行 OpenClaw 的交互式配置向导：

```bash
openclaw setup
```

向导会引导你输入：

1. **Server host** — test.huangliai.com（回车使用默认测试服务器地址即可，生产环境请联系管理员获取）
2. **User ID** — 上一步从 Oleap App 复制的 ID
3. **Token** — test-token (回车使用默认测试令牌即可，生产环境请联系管理员获取)
4. **Transport** — 选择 WebSocket 或 HTTP 轮询

也可以直接编辑 `openclaw.yaml`：

```yaml
channels:
  openclaw-channel-oleap:
    host: "test.huangliai.com"
    userId: "your-user-id"
    token: "test-token"
    transport: "ws"          # "ws" | "polling"
    secure: true             # 使用 wss/https
```

### 4. 启动

```bash
openclaw start
```

## 配置参考

### 基础配置

| 字段 | 类型 | 必填 | 默认值 | 说明 |
|------|------|------|--------|------|
| `host` | string | 是 | — | 服务端地址 |
| `userId` | string | 是 | — | 从 Oleap App 复制的用户 ID |
| `token` | string | 是 | — | 由管理员提供的认证令牌 |
| `name` | string | 否 | — | 账户显示名称 |
| `enabled` | boolean | 否 | `true` | 是否启用 |

### 传输配置

| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `transport` | `"ws"` \| `"polling"` | `"ws"` | 传输模式 |
| `pollingIntervalMs` | number | `3000` | 轮询间隔（仅 polling 模式） |
| `secure` | boolean | `true` | 使用安全连接（wss/https） |

### 连接管理

| 字段 | 类型 | 默认值 | 说明 |
|------|------|--------|------|
| `maxConnectionAttempts` | number | `10` | 最大连接尝试次数 |
| `initialReconnectDelay` | number | `1000` | 初始重连延迟（ms） |
| `maxReconnectDelay` | number | `60000` | 最大重连延迟（ms） |
| `reconnectJitter` | number | `0.3` | 重连延迟抖动因子（0-1） |
| `maxReconnectCycles` | number | `10` | 最大运行时重连周期数 |
| `debug` | boolean | `false` | 启用调试日志 |

## 开发与贡献

详见 [CONTRIBUTING.md](CONTRIBUTING.md)。

## License

MIT
npm package: @olefjaerestad/code-editor
Description: Code editor built with React.
Latest version: 1.0.1

# code-editor
Code editor built with React.

This project was bootstrapped with [Create React App](https://github.com/facebook/create-react-app).

## Available Scripts

In the project directory, you can run:

### `npm start`

Runs the app in the development mode.<br />
Open [http://localhost:3000](http://localhost:3000) to view it in the browser.

The page will reload if you make edits.<br />
You will also see any lint errors in the console.

### `npm test`

Launches the test runner in the interactive watch mode.<br />
See the section about [running tests](https://facebook.github.io/create-react-app/docs/running-tests) for more information.

### `npm run build`

Builds the app for production to the `build` folder.<br />
It correctly bundles React in production mode and optimizes the build for the best performance.

The build is minified and the filenames include the hashes.<br />
Your app is ready to be deployed!

See the section about [deployment](https://facebook.github.io/create-react-app/docs/deployment) for more information.

### `npm run eject`

**Note: this is a one-way operation. Once you `eject`, you can’t go back!**

If you aren’t satisfied with the build tool and configuration choices, you can `eject` at any time. This command will remove the single build dependency from your project.

Instead, it will copy all the configuration files and the transitive dependencies (Webpack, Babel, ESLint, etc) right into your project so you have full control over them. All of the commands except `eject` will still work, but they will point to the copied scripts so you can tweak them. At this point you’re on your own.

You don’t have to ever use `eject`. The curated feature set is suitable for small and middle deployments, and you shouldn’t feel obligated to use this feature. However we understand that this tool wouldn’t be useful if you couldn’t customize it when you are ready for it.

## Learn More

You can learn more in the [Create React App documentation](https://facebook.github.io/create-react-app/docs/getting-started).

To learn React, check out the [React documentation](https://reactjs.org/).
npm package: @oleg-ch/build-scripts
Description: Common build scripts
Latest version: 1.5.1

# @oleg-ch/build-scripts

Common build scripts.

## Installation

```shell script
yarn add -D @oleg-ch/build-scripts
```

## Usage

```
Usage: build-scripts [options] [command]

Options:
  -h, --help            display help for command

Commands:
  revision [options]    Get current git branch revision
  hash-files [options]  Adds hashes to filenames and copy them to out dir-ry. Will also sync files between dir-s
  cleanup [options]     Creates and removes directories
  inc-sw [options]      Increments version in service worker template file
  remove-dir [options]  Recursively searches and removes target dir-ry from source dir-ry
  favicons [options]    Generate a set of favicons from a single square source image (recommended source image sizes are 1500x1500)
  help [command]        display help for command
```
npm package: @oleg-ch/eslint-config-node
Description: Base ESLint config for NodeJs projects
Latest version: 1.2.0

# @oleg-ch/eslint-config-node

Base ESLint config for NodeJs projects

## Installation

```
yarn add -D @oleg-ch/eslint-config-node
```

## Usage

Update your project's `.eslintrc.json` file:

```json
{
    "extends": ["@oleg-ch/eslint-config-node"]
}
```

---

Read the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files)
for more information
npm package: @oleg-ch/eslint-config-react
Description: Base ESLint config for React projects
Latest version: 1.2.0

# @oleg-ch/eslint-config-node

Base ESLint config for React projects

## Installation

```
yarn add -D @oleg-ch/eslint-config-react
```

## Usage

Update your project's `.eslintrc.json` file:

```json
{
    "extends": ["@oleg-ch/eslint-config-react"]
}
```

---

Read the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files)
for more information
npm package: @oleg-ch/eslint-config-typescript
Description: ESLint config for TypeScript
Latest version: 1.3.0

# @oleg-ch/eslint-config-typescript

ESLint config for Typescript

## Installation

```
yarn add -D @oleg-ch/eslint-config-typescript
```

## Usage

Update your project's `.eslintrc.json` file:

```json
{
    "extends": ["@oleg-ch/eslint-config-typescript"]
}
```

---

Read the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files)
for more information
npm package: @oleg-ch/prettier-config
Description: Base Prettier config
Latest version: 1.3.1

# @oleg-ch/prettier-config

Base Prettier config.

## Installation

```shell script
yarn add -D @oleg-ch/prettier-config
```

## Usage

In case you want to overwrite this prettier config with your own rules, create `.prettierrc.js` file in the root of your project:

```js
module.exports = {
    ...require('@oleg-ch/prettier-config'),
    // add your overrides here
}
```

If you only want to apply this config, then create `.prettierrc.yml` with the following contents:

```yaml
'@oleg-ch/prettier-config'
```

---

Read more at [Prettier config docs](https://prettier.io/docs/en/configuration.html)
npm package: @oleg-ch/react-loadable
Description: Code split with react-loadable
Latest version: 1.0.2

# react-loadable

This is still our well-loved [React-loadable](https://www.npmjs.com/package/react-loadable), thus its API and docs remain valid.

Some of the changes include:

-   webpack plugin was updated and is compatible with Webpack 5
-   babel plugin is compatible with Babel 7
-   added basic tests for webpack & babel plugins
-   required React version is now 17
-   all React deprecations have been removed
-   there are two builds now: esm & cjs, + ts types

TODO:

-   probably should add support for Webpack 4 as well

Installation:

```
npm i @oleg-ch/react-loadable
yarn add @oleg-ch/react-loadable
```

Usage:

```
import Loadable from '@oleg-ch/react-loadable'
```

Webpack:

```
import { ReactLoadablePlugin } from '@oleg-ch/react-loadable/cjs/webpack'
import { getBundles } from '@oleg-ch/react-loadable/cjs/webpack'
```

Babel:

```
{
    plugins: [
        '@oleg-ch/react-loadable/cjs/babel'
    ]
}
```
npm package: @oleg-ch/react-ui
Description: Common react ui components
Latest version: 1.5.1

# @oleg-ch/react-ui

Common react components.

## Installation

```shell script
yarn add -D @oleg-ch/react-ui
```

## Usage

```js
import '@oleg-ch/react-ui/bundle.min.css'

import { Button, Menu } from '@oleg-ch/react-ui'
import { Button } from '@oleg-ch/react-ui/cjs/components/Button'
```
npm package: @oleg-ch/tsconfig
Description: Common tsconfig
Latest version: 1.1.0

# @oleg-ch/tsconfig

Common typescript config.

All output options are disabled (`declaration: false`, `noEmit: true`).
Strict type checks are enabled (e.g `noImplicitAny`, etc).
Additional configuration may be required for using it with Webpack or Babel.

## Installation

```shell script
yarn add -D @oleg-ch/tsconfig
```

## Usage

Extend your `tsconfig.json`:

```json
{
    "extends": "@oleg-ch/tsconfig"
}
```

### Babel

Add [@babel/preset-typescript] to your `babel.config.json`.
Add `--extensions ".js,.ts,.tsx"` flag, if you use `Babel CLI`.

### Webpack

Use [@babel/preset-typescript] as described above.
Configure `babel-loader`'s `test` regular expression to include `ts` and `tsx` files.

You can also use [ts-loader](https://github.com/TypeStrong/ts-loader).

```shell script
yarn add -D ts-loader
```

Check the [example](https://github.com/microsoft/TypeScriptSamples/blob/master/react-flux-babel-karma/webpack.config.js) of using `ts-loader` with `babel-loader`.

**WARNING** Turn off `noEmit` when using `ts-loader` with `@oleg-ch/tsconfig`:

```json
{
    "extends": "@oleg-ch/tsconfig",
    "compilerOptions": {
        "noEmit": false
    }
}
```

---

For more info check ts [compiler options](https://www.typescriptlang.org/docs/handbook/compiler-options.html)

[@babel/preset-typescript]: https://babeljs.io/docs/en/babel-preset-typescript
npm package: @oleg_gorsky/gorsee-secure-saas-reference
Description: Public downstream reference app for Gorsee secure SaaS patterns
Author: Oleg Gorsky
Latest version: 0.1.0

# Gorsee Secure SaaS Reference

Public downstream reference app for Gorsee.

This repository is intentionally separate from the main `gorsee-js` monorepo so it can serve as an external proof artifact for:

- authenticated dashboards
- protected route groups
- private document cache
- explicit RPC auth boundaries
- typed route navigation
- validated billing form actions
- small reactive islands inside a mostly server-rendered app shell

## Install

```bash
bun install
```

## Run

```bash
bun run dev
```

## Check

```bash
bun run check
```

## Package

This package is also published to npm as `@oleg_gorsky/gorsee-secure-saas-reference` so the downstream artifact is public both as a GitHub repository and as a registry package.