open-index/open-npm huggingface dataset:
npm package: @pingshian/agents-terminal-dashboard
Description: Dashboard for OpenClaw agents — memory, agents, cron jobs, skills
Latest version: 0.1.4

**繁體中文** | [English](./README.md)

# Agents Dashboard

[OpenClaw](https://github.com/open-claw/openclaw) agent 管理儀表板 — 記憶、agents、排程任務、skills。

**[線上 Demo](https://demo-agents-dashboard.simple-web.cc/)**

## 安裝

```
npx @pingshian/agents-terminal-dashboard
```

需要 Node.js 20+。自動偵測 `~/.openclaw-personal`。

## 選項

| 參數 | 預設值 | 說明 |
|------|--------|------|
| `--port` | `3001` | 伺服器 port |
| `--openclaw-dir` | `~/.openclaw-personal` | OpenClaw 資料目錄 |
| `--demo` | | 使用內建範例資料（不需要 OpenClaw） |

## Docker

```
docker run -p 3001:3001 -v ~/.openclaw-personal:/data/openclaw ghcr.io/pingshian0131/agents-dashboard-public
```

## 環境變數

| 變數 | 預設值 | 說明 |
|------|--------|------|
| `PORT` | `3001` | 伺服器 port |
| `OPENCLAW_DIR` | `/data/openclaw` | OpenClaw 資料目錄 |
| `WORKSPACE_DIR` | `= OPENCLAW_DIR` | Workspace 根目錄 |
| `MEMORY_DB_PATH` | `= OPENCLAW_DIR/memory/lancedb-pro` | LanceDB 路徑 |
| `OPENAI_API_KEY` | — | 記憶搜尋/寫入需要 |
| `DEMO_MODE` | `false` | 使用內建範例資料 |

## License

MIT
npm package: @pingsrl/nanotools
Description: Connect to Nanobox.io Database
Author: Ping srl @pingsrl
Latest version: 0.1.1

# nanotools

Connect to Nanobox.io Database

Currently tested on Mac OS only

[![oclif](https://img.shields.io/badge/cli-oclif-brightgreen.svg)](https://oclif.io)
[![Version](https://img.shields.io/npm/v/@pingsrl/nanotools.svg)](https://npmjs.org/package/@pingsrl/nanotools)
[![Downloads/week](https://img.shields.io/npm/dw/@pingsrl/nanotools.svg)](https://npmjs.org/package/@pingsrl/nanotools)
[![License](https://img.shields.io/npm/l/@pingsrl/nanotools.svg)](https://github.com/pingsrl/nanotools/blob/master/package.json)

# What is this?

This is a simple tool to interact with data (storage & db) componens of [nanobox.io](http://nanobox.io)

# Installation

    npm i -g @pingsrl/nanotools

# Usage examples

### Connect to local DB

    $ cd my-nanobox-project
    $ nanotools db [local|default]
    running open mysql://nanobox:78sdhdJAax@172.23.0.34/gonano

### COMING SOON: Connect to remote storage

    $ cd my-nanobox-project
    $ nanotools storage [local|default]
    running open sftp://nanobox:78sdhdJAax@127.0.0.1:1234/app
npm package: @pingtou/axios-jsonp
Description: A jsonp adapter for axios
Author: bijinfeng
Latest version: 0.0.1

# @pingtou/axios-jsonp

[![npm version][npm-version-src]][npm-version-href]
[![npm downloads][npm-downloads-src]][npm-downloads-href]
[![bundle][bundle-src]][bundle-href]
[![JSDocs][jsdocs-src]][jsdocs-href]
[![License][license-src]][license-href]

A jsonp adapter for axios

support promise，support cancel，same as xhr

## Install

```bash
npm i @pingtou/axios-jsonp
```

## Usage

```javascript
import axios from 'axios'
import { jsonpAdapter } from '@pingtou/axios-jsonp'

axios({
  url: '/jsonp',
  adapter: jsonpAdapter,
  callbackParamName: 'c' // optional, 'callback' by default
}).then((res) => {

})
```

## License

[MIT](./LICENSE)

<!-- Badges -->

[npm-version-src]: https://img.shields.io/npm/v/@pingtou/axios-jsonp?style=flat&colorA=080f12&colorB=1fa669
[npm-version-href]: https://npmjs.com/package/@pingtou/axios-jsonp
[npm-downloads-src]: https://img.shields.io/npm/dm/@pingtou/axios-jsonp?style=flat&colorA=080f12&colorB=1fa669
[npm-downloads-href]: https://npmjs.com/package/@pingtou/axios-jsonp
[bundle-src]: https://img.shields.io/bundlephobia/minzip/@pingtou/axios-jsonp?style=flat&colorA=080f12&colorB=1fa669&label=minzip
[bundle-href]: https://bundlephobia.com/result?p=@pingtou/axios-jsonp
[license-src]: https://img.shields.io/github/license/bijinfeng/axios-jsonp.svg?style=flat&colorA=080f12&colorB=1fa669
[license-href]: https://github.com/bijinfeng/axios-jsonp/blob/main/LICENSE
[jsdocs-src]: https://img.shields.io/badge/jsdocs-reference-080f12?style=flat&colorA=080f12&colorB=1fa669
[jsdocs-href]: https://www.jsdocs.io/package/@pingtou/axios-jsonp
npm package: @pingtou/electron-ipc
Description: Typesafe Electron IPC modules
Author: kebai
Latest version: 0.0.7

# @pingtou/electron-ipc

<p>
  <a href="https://npmjs.com/package/@pingtou/electron-ipc" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/v/@pingtou/electron-ipc.svg?style=flat-square" alt="npm version" />
  </a>
  <a href="https://npmjs.com/package/@pingtou/electron-ipc" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/dm/@pingtou/electron-ipc.svg?style=flat-square" alt="npm download" />
  </a>
  <a href="https://github.com/3lang3/@pingtou/electron-ipc/discussions" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/l/@pingtou/electron-ipc?style=flat-square" alt="license" />
  </a>
</p>

当使用 Electron 框架进行开发时，我们通常需要在主进程和渲染进程之间进行通信。Electron 提供了一种称为 Inter-Process Communication (IPC) 的机制来实现这种通信。

然而，由于 JavaScript 的动态类型特性，IPC 通信可能会出现类型不匹配的问题。为了解决这个问题，可以使用 `@pingtou/electron-ipc`。

`@pingtou/electron-ipc` 可以让你定义消息的类型，并在发送和接收消息时进行类型检查，从而避免类型错误。具体来说，你可以使用 TypeScript 静态类型检查工具来定义消息的类型，然后使用 `@pingtou/electron-ipc` 提供的 API 进行发送和接收消息。

## 安装

```bash
// NPM
$ npm install @pingtou/electron-ipc

// YARN
$ yarn add @pingtou/electron-ipc

// PNPM
$ pnpm add @pingtou/electron-ipc
```

## 用法

1. 定义主进程和渲染进程通信的消息类型

```typescript
//  从渲染进程传过来的消息类型
export type RenderMessage = {
  ping: (text: string) => Promise<string>;
};

//  从主进程发送到渲染进程的消息类型
export type MainMessage = {
  pong: (text: string) => void;
};
```

2. 在主进程中创建一个 `IpcMain` 实例

```typescript
import { IPCMain } from '@pingtou/electron-ipc';

import type { MainMessage, RenderMessage } from './types';

export const ipcMain = new IPCMain<RenderMessage, MainMessage>();
```

3. 在渲染进程中创建一个 `IpcRenderer` 实例

```typescript
import { IPCRenderer } from '@pingtou/electron-ipc';

import type { MainMessage, RenderMessage } from './types';

export const ipcRenderer = new IPCRenderer<RenderMessage, MainMessage>();
```

4. 在 `preload` 中设置通信的桥接

```typescript
import { contextBridge, ipcRenderer as baseIpcRenderer } from 'electron';

import { ipcRenderer } from './ipc-renderer';

ipcRenderer.bindBridge(contextBridge, baseIpcRenderer);
```

5. 在主进程中监听该消息类型的事件，并发送该类型的消息

```typescript
ipcMain.on('ping', async (text) => {
  console.log('main process listener message: ', text);
  return 'ping';
});

ipcMain.send('pong', 'pong');
```

6. 在渲染进程中发送该类型的消息，并接收回复消息

```typescript
ipcRenderer.send('ping', 'ping').then((text) => {
  console.log(text);
});

ipcRenderer.on('pong', (text) => {
  console.log(text);
});
```
npm package: @pingtou/rn-vant
Description: React Native UI Components
Author: bijinfeng
Latest version: 1.0.0

# React Native Vant

<p>
  <a href="https://npmjs.org/package/rn-vant" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/v/rn-vant.svg?style=flat-square" alt="npm version" />
  </a>
  <a href="https://npmjs.org/package/rn-vant" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/dm/rn-vant.svg?style=flat-square" alt="npm download" />
  </a>
  <a href="https://codecov.io/gh/bijinfeng/react-vant/branch/master" target="_blank" referrerpolicy="no-referrer">
    <img src="https://codecov.io/gh/bijinfeng/react-vant/branch/master/graph/badge.svg?token=QC9OV9ZMTV" alt="codecov" />
  </a>
  <a href="https://github.com/3lang3/rn-vant/discussions" target="_blank" referrerpolicy="no-referrer">
    <img src="https://img.shields.io/npm/l/rn-vant?style=flat-square" alt="license" />
  </a>
  
</p>

## Install

```sh
yarn add @pingtou/rn-vant
```

Or

```sh
npm install @pingtou/rn-vant
```

## Preview

Open the camera app on your device and scan the code below:

<img src="https://qr.expo.dev/expo-go?owner=kebai&slug=rn-vant-example&releaseChannel=default&host=exp.host" width="200" />

## Quick start

The following are some code examples of rn-vant:

```jsx
import React from 'react';
import { Button } from '@pingtou/rn-vant';

function App() {
  return <Button type="primary">Default Button</Button>;
};

export default App;
```

## LICENSE

[MIT](https://en.wikipedia.org/wiki/MIT_License)
npm package: @pingtou/rn-vant-icons
Description: rn-vant icons for react-native
Author: bijinfeng
Latest version: 1.0.0

# Dice UI Icons

## Install

#### NPM

```shell
npm i @pingtou/rn-vant-icons
```

#### YARN

```shell
yarn add @pingtou/rn-vant-icons
```

## Document

- [Usage in React Native](https://bijinfeng.github.io/dice/docs/components/icon)
npm package: @pingtou/shadcn-ui
Description: Repackaging of shadcn-ui components
Author: bijinfeng
Latest version: 1.0.2

# @pingtou/shadcn-ui

Repackaging of shadcn-ui components

## Documentation

Visit http://ui.shadcn.com/docs to view the documentation.

## License

Licensed under the [MIT license](https://github.com/bijinfeng/shadcn-ui/blob/main/LICENSE).
npm package: @pingtou/tabler-react
Description: A tailwind react component library
Latest version: 1.0.2

# tabler-react

[![NPM version](https://img.shields.io/npm/v/tabler-react.svg?style=flat)](https://npmjs.org/package/tabler-react)
[![NPM downloads](http://img.shields.io/npm/dm/tabler-react.svg?style=flat)](https://npmjs.org/package/tabler-react)

A react library developed with dumi

## Usage

TODO

## Options

TODO

## Development

```bash
# install dependencies
$ pnpm install

# develop library by docs demo
$ pnpm start

# build library source code
$ pnpm run build

# build library source code in watch mode
$ pnpm run build:watch

# build docs
$ pnpm run docs:build

# check your project for potential problems
$ pnpm run doctor
```

## LICENSE

MIT
npm package: @pingtoug/build-info-webpack-plugin
Description: 打包信息webpack插件
Author: PingTouG
Latest version: 0.1.2

# @pingtoug/build-info-webpack-plugin

将打包信息注入客户端环境变量中的webpack插件

## Install

```sh
npm i @pingtoug/build-info-webpack-plugin -D 
```

## Usage

`webpack.config.js`

```js
import BuildInfoWebpackPlugin from '@pingtoug/build-info-webpack-plugin'
module.exports = {
    plugins: [BuildInfoWebpackPlugin]
}
```

`webpack-build-info.ts`
```ts
export interface ShowWebpackBuildInfoOptions {
  nameBlockColor?: string
  timeBlockColor?: string
  gitBlockColor?: string
}

export interface WebpackBuildInfo {
  name: string
  version: string
  branchName: string
  lastCommitHash8: string
  time: string
}

declare const WEBPACK_BUILD_INFO: WebpackBuildInfo

export const showWebpackBuildInfo = (options?: ShowWebpackBuildInfoOptions) => {
  const {
    nameBlockColor = '#4170FF',
    timeBlockColor = '#09b987',
    gitBlockColor = '#e19c0e',
  } = options ?? {}
  if (WEBPACK_BUILD_INFO) {
    console.log(
      `%c${WEBPACK_BUILD_INFO.name} v${WEBPACK_BUILD_INFO.version}%c${WEBPACK_BUILD_INFO.time}%c${WEBPACK_BUILD_INFO.branchName} ${WEBPACK_BUILD_INFO.lastCommitHash8}`,
      `background: ${nameBlockColor}; color: #fff; padding: 2px 4px; border-radius: 3px 0 0 3px;`,
      `background: ${timeBlockColor}; color: #fff; padding: 2px 4px;`,
      `background: ${gitBlockColor}; color: #fff; padding: 2px 4px; border-radius: 0 3px 3px 0;`
    )
  }
}
```

`main.ts`
```ts
showWebpackBuildInfo()
```
npm package: @pingtoug/vxui
Description: 基于Vue开发的UI组件库
Author: PingTouG
Latest version: 0.1.0

<p align="center">
  <img src="./logo.png" />
</p>
<p align="center">
  基于Vue开发的UI组件库
</p>

English | [中文](https://github.com/PingTouG/vxui/blob/master/README.zn-CN.md) | [UI 库开发环境搭建文档](https://github.com/PingTouG/vxui/blob/master/development-environment.md)

## Install

```shell
npm i @pingtoug/vxui
// or
yarn add @pingtoug/vxui
```

## Quick Start

```javascript
// import styles
import '@pingtoug/vxui/lib/css/vxui.css'

import VXUI from '@pingtoug/vxui'
Vue.use(VXUI)
// or
import { XButton } from '@pingtoug/vxui'
Vue.use(XButton)
```

## DOCS

[中文](https://pingtoug.github.io/vxui)

## LICENSE

[MIT](https://github.com/PingTouG/vxui/blob/master/LICENSE.md)