extension-qr-code
QR code scanner using the camera.
DeepseekModel
官方收录技能
质量 良好 · 48
v1.0.0
获取
https://deepseekmodel.com/api/download.php?id=caffeinelabs-skills-skills-extension-qr-code-skill-md&format=skill
下载 .skill
标准格式,含 system_prompt 与 model_config,导入任意 Agent 框架即可使用
.skill 文件中 system_prompt 字段的实际内容。
name extension-qr-code description QR code scanner using the camera. version 0.1.4 compatibility {"npm":{"@caffeineai/qr-code":"~0.1.1","@caffeineai/camera":"~0.1.1"}} caffeineai-subscription ["none"] QR Code Scanner QR code scanner extension for Caffeine AI . Overview This skill adds QR code scanning using the device camera. Built on top of the camera component with jsQR for decoding. Frontend For QR code scanner support: There is a prefabricated React hook imported from @caffeinelabs/qr-code that cannot be modified. import { RefObject } from 'react' ; import { CameraConfig , CameraError } from '@caffeineai/camera' ; export interface QRResult { // The decoded QR code data data : string ; // Timestamp when the QR code was scanned timestamp : number ; } export interface QRScannerConfig extends CameraConfig { // How often to scan for QR codes in milliseconds (default: 100) scanInterval ?: number ; // Maximum number of results to keep in history (default: 10) maxResults ?: number ; // URL to load jsQR library from (default: jsdelivr CDN) jsQRUrl ?: string ; } export interface UseQRScannerReturn { // Array of scanned QR codes (newest first) qrResults : QRResult []; // Whether currently scanning for QR codes isScanning : boolean ; // Whether jsQR library has been loaded jsQRLoaded : boolean ; // Camera state (pass-through from useCamera) isActive : boolean ; isSupported : boolean | null ; error : CameraError | null ; isLoading : boolean ; currentFacingMode : 'user' | 'environment' ; // Start camera and begin scanning - returns true on success startScanning : () => Promise < boolean >; // Stop scanning and camera stopScanning : () => Promise < void >; // Switch camera facing mode - returns true on success switchCamera : () => Promise < boolean >; // Clear all scan results clearResults : () => void ; // Reset scanner state (stop scanning and clear results) reset : () => void ; // Retry camera initialization after error - returns true on success retry : () => Promise < boolean >; // Ref to attach to video element for camera preview videoRef : RefObject < HTMLVideoElement >; // Ref to attach to canvas element used for QR processing (can be hidden) canvasRef : RefObject < HTMLCanvasElement >; // Computed state // Whether scanner is ready to use (jsQR loaded and camera supported) isReady : boolean ; // Whether scanning can be started (ready + not loading) canStartScanning : boolean ; } export declare function useQRScanner ( config ?: QRScannerConfig ): UseQRScannerReturn ; Usage example: import { useQRScanner } from '@caffeineai/qr-code' ; function QRScannerComponent ( ) { const { qrResults, isScanning, isActive, isSupported, error, isLoading, canStartScanning, startScanning, stopScanning, switchCamera, clearResults, videoRef, canvasRef } = useQRScanner ({ facingMode : 'environment' , scanInterval : 100 , maxResults : 5 }); if (isSupported === false ) { return < div > Camera not supported </ div > ; } return ( < div > < video ref = {videoRef} style = {{ width: ' 100 %', height: ' auto ' }} playsInline muted /> < canvas ref = {canvasRef} style = {{ display: ' none ' }} /> {error && < div > Error: {error.message} </ div > } < div > < button onClick = {startScanning} disabled = {!canStartScanning} > Start Scanning </ button > < button onClick = {stopScanning} disabled = {isLoading || ! isActive }> Stop Scanning </ button > {/* Only show switch camera on mobile */} {/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && ( < button onClick = {switchCamera} disabled = {isLoading || ! isActive }> Switch Camera </ button > )} </ div > < div > < h3 > Results {qrResults.length > 0 && < button onClick = {clearResults} > Clear </ button > } </ h3 > {qrResults.map(result => ( < div key = {result.timestamp} > < small > {new Date(result.timestamp).toLocaleTimeString()} </ small > < p > {result.data} </ p > </ div > ))} </ div > </ div > ); } Properly display QR scanner error messages in the app.
Agent 识别该技能的关键词,点击任意一个即可复制。
该技能未提供触发词。
下载的 .skill 包内含以下字段。
| 字段 | 说明 |
|---|---|
| format | 格式标识(skill/v1) |
| skill_id | 技能唯一 ID |
| name | 技能名称 |
| version | 版本号 |
| description | 技能描述 |
| category | 所属分类(数组) |
| trigger_words | 触发词列表 |
| tags | 标签列表 |
| source | 来源标识 |
| source_url | 来源链接(本页地址) |
| exported_at | 导出时间(每次下载生成) |
| system_prompt | 系统提示词正文 |
| model_config | 模型参数:provider / model / temperature / max_tokens / top_p |
| examples | 示例 |
| install_guide | 各平台导入说明(Coze / Dify / Claude / 自定义框架) |