{"_id":"@crispychicken/zh-keyboard-recognizer","_rev":"5-587a6428ae066f7ca3a82f8119c64beb","name":"@crispychicken/zh-keyboard-recognizer","dist-tags":{"latest":"0.4.8"},"versions":{"0.4.2":{"name":"@crispychicken/zh-keyboard-recognizer","version":"0.4.2","keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"author":{"name":"crispyChicken999"},"license":"Apache 2.0","_id":"@crispychicken/zh-keyboard-recognizer@0.4.2","maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"dist":{"shasum":"b628777b6b466f5a6db901ba18c29edaaf9a36bb","tarball":"https://registry.npmjs.org/@crispychicken/zh-keyboard-recognizer/-/zh-keyboard-recognizer-0.4.2.tgz","fileCount":10,"integrity":"sha512-gtsIPB3k6CBFqNBEoAHvwjb158HVyK71EyF5YAGqtL+bgbksHORD8MT4+uBdHBjQdlI/BIFgo9n6/E/45wXt7A==","signatures":[{"sig":"MEUCIBTCWyHnfHb0R6UNsGRqetSFD8WVJ56DgKRFT3RKcieXAiEA9rKxet0/fUw+01oQrHELBHIM/Xm/dXTwMvsa/Is8qbs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147027},"main":"dist/index.js","_from":"file:crispychicken-zh-keyboard-recognizer-0.4.2.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"crispychicken999","email":"1483091515@qq.com"},"_resolved":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\d3d83651e509710ea9d73fee9ce9ad7c\\crispychicken-zh-keyboard-recognizer-0.4.2.tgz","_integrity":"sha512-gtsIPB3k6CBFqNBEoAHvwjb158HVyK71EyF5YAGqtL+bgbksHORD8MT4+uBdHBjQdlI/BIFgo9n6/E/45wXt7A==","repository":{"url":"git+https://github.com/crispyChicken999/zh-keyboard.git","type":"git","directory":"packages/recognizer"},"_npmVersion":"11.6.2","description":"中文手写汉字识别器组件","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@tensorflow/tfjs-core":"^4.22.0","@tensorflow/tfjs-converter":"^4.22.0","@tensorflow/tfjs-backend-cpu":"^4.22.0","@crispychicken/zh-keyboard-core":"0.4.2"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.11.1","vitest":"^1.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zh-keyboard-recognizer_0.4.2_1769050704852_0.3825029814353478","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"@crispychicken/zh-keyboard-recognizer","version":"0.4.4","keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"author":{"name":"crispyChicken999"},"license":"Apache 2.0","_id":"@crispychicken/zh-keyboard-recognizer@0.4.4","maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"dist":{"shasum":"9f9ea54f086e91119acee1eec81ef50f2c9e682a","tarball":"https://registry.npmjs.org/@crispychicken/zh-keyboard-recognizer/-/zh-keyboard-recognizer-0.4.4.tgz","fileCount":10,"integrity":"sha512-tiA/k+5xXt8KUIo4mejrCL2YPulKekQWiFOg49utIVfXpvEvhVG68zEWYWdbntjp5FDsN7D/m84gbQUvJTT7mg==","signatures":[{"sig":"MEYCIQDBgJTsVlFZh+fYSDmxlAni7XZ1iSFUekFQzctJo6tVDAIhAIwhJpeEE9Z5O8n9I9agB5ANNHhHjMTAY9WDzerpq1pp","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147139},"main":"dist/index.js","_from":"file:crispychicken-zh-keyboard-recognizer-0.4.4.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"crispychicken999","email":"1483091515@qq.com"},"_resolved":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\6c2c8d05433526bd3e05722424527105\\crispychicken-zh-keyboard-recognizer-0.4.4.tgz","_integrity":"sha512-tiA/k+5xXt8KUIo4mejrCL2YPulKekQWiFOg49utIVfXpvEvhVG68zEWYWdbntjp5FDsN7D/m84gbQUvJTT7mg==","repository":{"url":"git+https://github.com/crispyChicken999/zh-keyboard.git","type":"git","directory":"packages/recognizer"},"_npmVersion":"11.6.2","description":"中文手写汉字识别器组件","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@tensorflow/tfjs-core":"^4.22.0","@tensorflow/tfjs-converter":"^4.22.0","@tensorflow/tfjs-backend-cpu":"^4.22.0","@crispychicken/zh-keyboard-core":"0.4.4"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.11.1","vitest":"^1.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zh-keyboard-recognizer_0.4.4_1769052624447_0.6794230974999875","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"@crispychicken/zh-keyboard-recognizer","version":"0.4.5","keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"author":{"name":"crispyChicken999"},"license":"Apache 2.0","_id":"@crispychicken/zh-keyboard-recognizer@0.4.5","maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"dist":{"shasum":"d3171ad3c49ccbeca73eead1eb0767f71befae73","tarball":"https://registry.npmjs.org/@crispychicken/zh-keyboard-recognizer/-/zh-keyboard-recognizer-0.4.5.tgz","fileCount":10,"integrity":"sha512-RxNV8fN1y3mz6jfNZb7KxFYYJ/0nCl6a+NUxFbGdwE81Xox3qJRAg3Tc9gcBd5fdHs8aP3EzMZmpYi6mnI1yZQ==","signatures":[{"sig":"MEQCIFd51+kTImYPVOPC3S60FqNMlU4i4vEAWQGeRoEW7NuMAiBGb+ImfOjjfCtjnlgQsTwGPDOF0g1qgEGqKPyZq2/9dQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147139},"main":"dist/index.js","_from":"file:crispychicken-zh-keyboard-recognizer-0.4.5.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"crispychicken999","email":"1483091515@qq.com"},"_resolved":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\93909be225c38dc4d2be821cc41e8deb\\crispychicken-zh-keyboard-recognizer-0.4.5.tgz","_integrity":"sha512-RxNV8fN1y3mz6jfNZb7KxFYYJ/0nCl6a+NUxFbGdwE81Xox3qJRAg3Tc9gcBd5fdHs8aP3EzMZmpYi6mnI1yZQ==","repository":{"url":"git+https://github.com/crispyChicken999/zh-keyboard.git","type":"git","directory":"packages/recognizer"},"_npmVersion":"11.6.2","description":"中文手写汉字识别器组件","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@tensorflow/tfjs-core":"^4.22.0","@tensorflow/tfjs-converter":"^4.22.0","@tensorflow/tfjs-backend-cpu":"^4.22.0","@crispychicken/zh-keyboard-core":"0.4.5"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.11.1","vitest":"^1.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zh-keyboard-recognizer_0.4.5_1769062303815_0.26053682946414836","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"@crispychicken/zh-keyboard-recognizer","version":"0.4.6","keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"author":{"name":"crispyChicken999"},"license":"Apache 2.0","_id":"@crispychicken/zh-keyboard-recognizer@0.4.6","maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"dist":{"shasum":"cc4f8f0ef5aaaf53c0e1fd1795eae9246b279396","tarball":"https://registry.npmjs.org/@crispychicken/zh-keyboard-recognizer/-/zh-keyboard-recognizer-0.4.6.tgz","fileCount":10,"integrity":"sha512-vkJi737O6yXusRchkLpIQEsYxLrKQS1GG8FbfMFQvecaQvwf5J2qi3wkqHDlZYkBCwagLbiLgaL/a/knW8KOZw==","signatures":[{"sig":"MEUCIQDwKBZ3Z70UCMEqarIEXglwgObGU2o4UxFJM8SdrRoVlgIgTTWjziiZRw666DBbRQ1v79pB4YdPdFfhetAn6LFPNck=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":147139},"main":"dist/index.js","_from":"file:crispychicken-zh-keyboard-recognizer-0.4.6.tgz","types":"dist/index.d.ts","module":"dist/index.mjs","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"scripts":{"dev":"tsdown --watch","test":"vitest run","build":"tsdown"},"_npmUser":{"name":"crispychicken999","email":"1483091515@qq.com"},"_resolved":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\2c742b2effd7eef28b8e2655a4b835eb\\crispychicken-zh-keyboard-recognizer-0.4.6.tgz","_integrity":"sha512-vkJi737O6yXusRchkLpIQEsYxLrKQS1GG8FbfMFQvecaQvwf5J2qi3wkqHDlZYkBCwagLbiLgaL/a/knW8KOZw==","repository":{"url":"git+https://github.com/crispyChicken999/zh-keyboard.git","type":"git","directory":"packages/recognizer"},"_npmVersion":"11.6.2","description":"中文手写汉字识别器组件","directories":{},"_nodeVersion":"24.10.0","dependencies":{"@tensorflow/tfjs-core":"^4.22.0","@tensorflow/tfjs-converter":"^4.22.0","@tensorflow/tfjs-backend-cpu":"^4.22.0","@crispychicken/zh-keyboard-core":"0.4.6"},"_hasShrinkwrap":false,"devDependencies":{"tsdown":"^0.11.1","vitest":"^1.0.0","typescript":"^5.0.0"},"_npmOperationalInternal":{"tmp":"tmp/zh-keyboard-recognizer_0.4.6_1769062916466_0.1711150994843973","host":"s3://npm-registry-packages-npm-production"}},"0.4.8":{"name":"@crispychicken/zh-keyboard-recognizer","version":"0.4.8","description":"中文手写汉字识别器组件","author":{"name":"crispyChicken999"},"license":"Apache 2.0","repository":{"type":"git","url":"git+https://github.com/crispyChicken999/zh-keyboard.git","directory":"packages/recognizer"},"bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.mjs","require":"./dist/index.js"}},"main":"dist/index.js","module":"dist/index.mjs","types":"dist/index.d.ts","dependencies":{"@tensorflow/tfjs-backend-cpu":"^4.22.0","@tensorflow/tfjs-converter":"^4.22.0","@tensorflow/tfjs-core":"^4.22.0","@crispychicken/zh-keyboard-core":"0.4.8"},"devDependencies":{"tsdown":"^0.11.1","typescript":"^5.0.0","vitest":"^1.0.0"},"scripts":{"dev":"tsdown --watch","build":"tsdown","test":"vitest run"},"_id":"@crispychicken/zh-keyboard-recognizer@0.4.8","homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","_integrity":"sha512-y2goIgVa2fhRd0hoiCTvj4qGtOKEH8cFqEly0/QkxbYHEC2YCNq3tsYzbjjqV40QElcwlYf96d41jI1duwQ9Jw==","_resolved":"C:\\Users\\Administrator\\AppData\\Local\\Temp\\3918e024c7ad11ed108d0b4b6e677eb0\\crispychicken-zh-keyboard-recognizer-0.4.8.tgz","_from":"file:crispychicken-zh-keyboard-recognizer-0.4.8.tgz","_nodeVersion":"24.10.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-y2goIgVa2fhRd0hoiCTvj4qGtOKEH8cFqEly0/QkxbYHEC2YCNq3tsYzbjjqV40QElcwlYf96d41jI1duwQ9Jw==","shasum":"46982108a3d294fcfff0bcce7da45e50e0cb55f3","tarball":"https://registry.npmjs.org/@crispychicken/zh-keyboard-recognizer/-/zh-keyboard-recognizer-0.4.8.tgz","fileCount":9,"unpackedSize":146352,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCsqqUWQ9ofQ42/3DUYECC5j3UEdyhWniCdUi8PquS0bQIgeeWnetdEhAjsQ6xcPDS3FKavBJ96wv1Bg6/A5NbZLRg="}]},"_npmUser":{"name":"crispychicken999","email":"1483091515@qq.com"},"directories":{},"maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/zh-keyboard-recognizer_0.4.8_1769409668595_0.873269370019949"},"_hasShrinkwrap":false}},"time":{"created":"2026-01-22T02:58:24.760Z","modified":"2026-01-26T06:41:08.918Z","0.4.2":"2026-01-22T02:58:25.035Z","0.4.4":"2026-01-22T03:30:24.644Z","0.4.5":"2026-01-22T06:11:43.984Z","0.4.6":"2026-01-22T06:21:56.614Z","0.4.8":"2026-01-26T06:41:08.772Z"},"bugs":{"url":"https://github.com/crispyChicken999/zh-keyboard/issues"},"author":{"name":"crispyChicken999"},"license":"Apache 2.0","homepage":"https://github.com/crispyChicken999/zh-keyboard#readme","keywords":["键盘","中文","虚拟键盘","手写识别","汉字识别","中文输入法","组件"],"repository":{"type":"git","url":"git+https://github.com/crispyChicken999/zh-keyboard.git","directory":"packages/recognizer"},"description":"中文手写汉字识别器组件","maintainers":[{"name":"crispychicken999","email":"1483091515@qq.com"}],"readme":"# @crispychicken/zh-keyboard-recognizer | 中文手写识别模块\r\n\r\n[![License](https://img.shields.io/badge/license-Apache%202.0-blue.svg)](LICENSE)\r\n\r\n中文虚拟键盘组件库的手写识别模块\r\n\r\n## 功能特点\r\n\r\n- ✏️ 实时手写汉字识别\r\n- 🔧 可自定义识别模型和字典\r\n- 🚀 识别速度快，纯cpu模式200ms内，可选webgl加速\r\n- 📚 内置支持GB2312标准中的3755个一级汉字的识别支持\r\n- 🔄 更多文字识别支持（包括二级汉字、生僻字等）暂不开放\r\n\r\n## 🤝 手写识别模型说明\r\n\r\n**手写识别模型由我的一个朋友提供**\r\n\r\n如果您需要包括二级汉字、生僻字等的更完整的手写识别模型，以及更多的定制服务，请扫描下方二维码添加我朋友的QQ进行咨询：\r\n\r\n<img src=\"qrcode.jpg\" alt=\"联系二维码\" width=\"50%\">\r\n\r\n## 安装\r\n\r\n```bash\r\n# 使用npm\r\nnpm install @crispychicken/zh-keyboard-recognizer\r\n\r\n# 或使用pnpm\r\npnpm add @crispychicken/zh-keyboard-recognizer\r\n```\r\n\r\n## 基本用法\r\n\r\n```typescript\r\nimport { ZhkRecognizer } from '@crispychicken/zh-keyboard-recognizer'\r\n// 如果需要使用WebGL后端，需要手动引入\r\nimport '@tensorflow/tfjs-backend-webgl'\r\n\r\n// 创建识别器实例\r\nconst recognizer = new ZhkRecognizer({\r\n  modelPath: '/models/handwrite/model.json', // TensorFlow.js模型路径\r\n  dictPath: '/models/dict.txt', // 汉字字典路径\r\n  backend: 'webgl' // 可选：'webgl'或'cpu'，默认为'cpu'\r\n})\r\n\r\n// 初始化识别器（加载模型和字典）\r\nawait recognizer.initialize()\r\n\r\n// 使用识别器识别手写汉字\r\n// strokeData格式：[x1, y1, isEnd1, x2, y2, isEnd2, ...]\r\n// isEnd为0表示笔画继续，为1表示笔画结束\r\nconst strokeData = [10, 10, 0, 20, 20, 1,]\r\nconst results = await recognizer.recognize(strokeData)\r\n\r\n// 识别结果是按置信度排序的汉字数组\r\nconsole.log('识别结果:', results) // 例如 ['中', '申', '由', ...]\r\n\r\n// 使用完毕后释放资源\r\nawait recognizer.close()\r\n```\r\n\r\n## 参数\r\n\r\n- `options`: 配置对象\r\n  - `modelPath`: 模型文件路径，指向TensorFlow.js模型的json文件\r\n  - `dictPath`: 字典文件路径，文本文件，每行一个汉字\r\n  - `backend`: 可选，TensorFlow.js后端类型，可选值为'webgl'或'cpu'，默认为'cpu'\r\n\r\n## 性能优化\r\n\r\n- 在支持WebGL的设备上使用'webgl'后端可以显著提高识别速度\r\n- **注意：使用WebGL后端时，需要手动引入 `import '@tensorflow/tfjs-backend-webgl'`**\r\n- 初始化时会自动进行模型预热，减少首次识别的延迟\r\n- 如果在移动设备上使用，建议使用较小的模型以提高响应速度\r\n","readmeFilename":"README.md"}