open-index/open-npm huggingface dataset:
npm package: @pzro/pzro
Description: Plugin nativ OpenClaw de tip `memory` care redirectioneaza operatiile de memorie catre serviciul HTTP din acest repo.
Latest version: 0.1.0

# pzro

Plugin nativ OpenClaw de tip `memory` care redirectioneaza operatiile de memorie catre serviciul HTTP din acest repo.

## Instalare si update din comanda

Pluginul este ambalat cu un CLI cross-platform. Dupa publicare pe npm, instalarea initiala si update-ul merg cu aceeasi comanda pe Windows, macOS si Linux:

```bash
npx @pzro/pzro install --base-url https://memory.example.com --token replace-me --default-user-id andrei
```

Pentru update pe acelasi device, fara sa rescrii parametrii deja salvati in `~/.openclaw/openclaw.json`:

```bash
npx @pzro/pzro update
```

CLI-ul instaleaza pluginul in directorul corect OpenClaw, `~/.openclaw/extensions/pzro`, si actualizeaza automat `~/.openclaw/openclaw.json`.

Inainte de publicare, poti genera si un tarball instalabil cu:

```bash
npm pack --workspace @pzro/pzro
```

Tarball-ul rezultat poate fi distribuit sau hostat, iar pe device-ul tinta poate fi rulat cu `npx --package <tarball-sau-url> pzro install ...`.

## Ce ofera

- `memory_search`
- `memory_get`
- `memory_store`
- `memory_forget`
- `memory_classify`
- `memory_status`

## Activare in OpenClaw

Exemplu de configurare OpenClaw:

```json
{
  "plugins": {
    "entries": {
      "pzro": {
        "enabled": true,
        "config": {
          "baseUrl": "https://memory.example.com",
          "token": "replace-me",
          "defaultUserId": "andrei",
          "timeoutMs": 10000,
          "recallLimit": 5,
          "activeTranscriptTurns": 12
        }
      }
    },
    "slots": {
      "memory": "pzro"
    }
  }
}
```

Daca vrei sa confirmi ca memoria builtin nu mai este folosita, poti seta temporar:

```json
{
  "plugins": {
    "slots": {
      "memory": "none"
    }
  }
}
```

Apoi activezi din nou pluginul custom pe slotul `memory`.

## Observatii

- Pluginul nu genereaza raspunsul final; doar livreaza context si scrie/citeste memoria.
- Pentru sesiuni lungi, seteaza `activeTranscriptTurns` ca sa pastrezi doar ultimele N turnuri brute active si sa lasi restul conversatiei sa fie servit ca session summary din memory-service.
- `memory_status` este util pentru a confirma rapid daca serviciul extern, Ollama, Qdrant, Neo4j si Mem0 sunt vizibile din OpenClaw.
- `memory_classify` expune separat decizia de `storage` sau `retrieval` din backend pentru debugging si integrare.
- Modelul final de inferenta ramane configurat separat in OpenClaw, de exemplu MiniMax-M2.7.
- Serviciul HTTP trebuie expus sigur catre VPS, ideal prin tunnel sau VPN.
npm package: @pzy915/backend-layout
Description: 基于vue3适用于管理系统的布局组件
Author: pan
Latest version: 0.0.1

# @pzy915/backend-layout

## 作用

基于 vue3 的一个管理系统布局组件，已实现上下布局，左右布局，混合布局以及不同布局的动态切换

## 详细使用文档: [vue3 管理系统布局组件](https://free_pan.gitee.io/backend-layout-wk/)

### 获取组件

```
pnpm add @pzy915/backend-layout
```

### 局部引入

```html
<script setup lang="ts">
  import {
    TopCenterLayout,
    LeftRightLayout,
    MixLayoutOne,
    MixLayoutTwo,
    BackendLayout,
  } from '@pzy915/backend-layout'
  import '@pzy915/backend-layout/dist/style.css'
</script>
```

### 全局引入

```ts
// main.ts
import BackendLayoutLib from '@pzy915/backend-layout'
import '@pzy915/backend-layout/dist/style.css'

import { createApp } from 'vue'
const app = createApp(App)
app.use(BackendLayoutLib)
```

### vue 組件调用

```html
<template>
  <!-- 上中布局(只是示例省略了属性和slot,请根据实际使用添加) -->
  <TopCenterLayout></TopCenterLayout>

  <!-- 左右布局(只是示例省略了属性和slot,请根据实际使用添加) -->
  <LeftRightLayout></LeftRightLayout>

  <!-- 混合布局一(只是示例省略了属性和slot,请根据实际使用添加) -->
  <MixLayoutOne></MixLayoutOne>

  <!-- 混合布局二(只是示例省略了属性和slot,请根据实际使用添加) -->
  <MixLayoutTwo></MixLayoutTwo>

  <!-- 可实现不同布局风格的切换(只是示例省略了属性和slot,请根据实际使用添加) -->
  <BackendLayout></BackendLayout>
</template>
```

## 特点

- 实现简洁
- 文档详细
  - 包含组件实现详解，拒绝黑盒组件
  - 包含大量使用场景分析与实践

## 浏览器兼容性

| Chrome | Edge | Safari | Firefox | Opera | IE     | Chrome for Android | Safari on iOS | Opera Mobile | Android Browser | Firefox for Android |
| :----- | :--- | :----- | :------ | :---- | :----- | :----------------- | :------------ | :----------- | :-------------- | :------------------ |
| 49+    | 16+  | 10+    | 31+     | 36+   | 不支持 | 108+               | 10+           | 72+          | 108+            | 107+                |

### 为什么是这些浏览器版本？

因为依赖 `vue3`,同时组件实现用到了`css变量`和`flex布局`，从 [can i use](https://caniuse.com/) 网站可以查看这两个 `css 特性`在不同浏览器以及不同版本的支持情况

关于 `vue3` 对低版本浏览器的兼容性支持，需要使用`@vitejs/plugin-legacy`插件在具体项目中自行实现
npm package: @pzy915/element-plus-json-form
Description: 基于 element-plus 2.x 的 json 配置表单
Latest version: 0.0.4

# @pzy915/element-plus-json-form

## 作用

基于 element-plus 2.x 的 json 配置表单

## 文档地址 [文档地址: @pzy915/element-plus-json-form](https://free_pan.gitee.io/element-plus-json-form-wk/)

## 安装

```
pnpm add @pzy915/element-plus-json-form
```
npm package: @pzy915/pdf-preview
Description: 基于 ts 和 pdfjs-dist 封装一个 pdf 预览组件
Author: pan
Latest version: 0.0.3

# @pzy915/pdf-preview

## 作用

基于 ts 和 pdfjs-dist 封装一个 pdf 预览组件

## 支持特性/解决的问题

- 分页渲染
- 完整渲染
- 按需渲染
- 支持以扩展的方式增加水印
- 解决旧版本浏览的兼容问题

## 详细文档 [pdf 预览组件](https://free_pan.gitee.io/pdf-preview-wk/)

## 安装

```
pnpm add pdfjs-dist@2.12.313
pnpm add @pzy915/pdf-preview
```

因为使用该组件需要配置`workerSrc`和`cMapUrl`, 所以，并未将`pdfjs-dist@2.12.313`本身打包进该组件，因此您需要在自己向项目中安装`pdfjs-dist@2.12.313`, 并按如下方式配置到你的公共静态资源目录

### 获取`workerSrc`, `cMapUrl`对应的资源

如下配置方式是基于`VITE`项目的配置, `VITE`的公共静态资源是`PROJECT_ROOT/public`目录，请根据您项目的实际情况放置在对应目录

1. 拷贝 `node_modules/pdfjs-dist/build`, `node_modules/pdfjs-dist/build/cmaps` 两个文件夹到你项目的`PROJECT_ROOT/public/pdfjs-dist-res`文件夹

`pdfjs-dist-res`这个文件夹名字可随意更改，只要在使用组件的方法时配置成您对应的路径名字即可

## 初始化

```ts
import {
  PdfjsDistConfigType,
  pdfPreviewBuilder,
  PdfPreviewConfig,
} from '@pzy915/pdf-preview'

export const baseUrl = '/pdf-preview-wk/'
const pdfjsDistRes = 'pdfjs-dist-res'
const workerSrc = `${baseUrl}${pdfjsDistRes}/build/pdf.worker.min.js`
const cMapUrl = `${baseUrl}${pdfjsDistRes}/cmaps`

const pdfjsDistConfig: PdfjsDistConfigType = {
  workerSrc,
  cMapUrl,
}

const pdfPreview = pdfPreviewBuilder(pdfjsDistConfig)
```
npm package: @pzy915/print-dom
Description: 一个基于 ts 和 iframe 实现的 dom 打印组件
Author: pan
Latest version: 0.0.1

# @pzy915/print-dom

## 作用

一个基于 ts 和 iframe 实现的 dom 打印组件

## 详细使用文档: [@pzy915/print-dom](https://free_pan.gitee.io/print-dom-wk/)

### 安装和使用

```
pnpm add @pzy915/print-dom
```

> 特别注意事项:
>
> 组件内部的实现方式是先将待打印节点克隆一份出来，再对克隆的节点进行打印。但克隆过程中并不会克隆样式，并且样式也只能通过`printCssArr`属性指定

```ts
import { DomPrintConfig, doPrint } from '@pzy915/print-dom'

const domPrintConfig: DomPrintConfig = {
  htmlDomOrHtmlSelector: `#${id}`,
  printCssArr: [`${baseUrl}demo.css`],
}
doPrint(domPrintConfig)
```
npm package: @pzy915/router-tabs
Description: 与 vue-router 结合的 tab 组件. 基于 vue3 和 element-plus
Author: pan
Latest version: 0.0.6

# @pzy915/router-tabs

## 作用

与 vue-router 结合的 tab 组件. 基于 vue3 和 element-plus

## 详细使用文档: [router-tab 组件](https://free_pan.gitee.io/router-tabs-wk/)

## 安装

```
pnpm add @pzy915/router-tabs mitt
```

```html
<script lang="ts" setup>
  import {
    useOpenTabAndPush,
    refreshRoute,
    removeKeepAliveCache,
    closeCurTab,
    closeOtherTab,
    RouterTabs,
    RouterViewKeepAliveWrapper,
  } from '@pzy915/router-tabs'
  import {
    RouteTabType,
    RouteTransitionName,
  } from '@pzy915/router-tabs/dist/typing.d'
  import '@pzy915/router-tabs/dist/style.css'

  const allTabDataArr: RouteTabType[] = [
    { routeName: 'KeepAliveDemo01', title: '第一个tab' },
    { routeName: 'KeepAliveDemo02', title: '第二个tab' },
  ]
</script>

<template>
  <RouterTabs :tab-datas="allTabDataArr"></RouterTabs>
  <RouterViewKeepAliveWrapper
    :enable-keep-alive="useKeepAlive === 1"
    :routeNameArr="[]"
  ></RouterViewKeepAliveWrapper>
</template>
```
npm package: @pzy915/smart-layout
Description: 实现更智能的响应式布局
Author: pan
Latest version: 0.0.5

# @pzy915/smart-layout

## 作用

实现更智能的响应式布局

## 文档地址 [文档地址: @pzy915/smart-layout](https://free_pan.gitee.io/smart-layout-wk/)

## 安装

```
pnpm add @pzy915/smart-layout
```
npm package: @pzy915/ts-watermark
Description: 在整个html页面加入文字水印
Author: pan
Latest version: 0.0.2

# ts-watermark

在整个html页面加入文字水印

## 特点

* 不会导致打印预览变为空白
* 水印节点无法被删除也无法被修改
* 水印文字, 显示层级, 颜色, 大小, 间距都是可定制的

## 浏览器兼容性

* 除IE浏览器之外的现代浏览器

## 使用

```
npm i @pzy915/ts-watermark
```

```ts
import wm from '@pzy915/ts-watermark'
wm.watermark({ color: 'red', zIndex: '666', text: '水印文字' })
```