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.
このスキルを起動するキーワード。クリックでコピーできます。
このスキルにはトリガーワードがありません。
ダウンロードした .skill に含まれるフィールド。
| フィールド | 説明 |
|---|---|
| format | フォーマット識別子(skill/v1) |
| skill_id | スキル固有 ID |
| name | スキル名 |
| version | バージョン |
| description | 説明 |
| category | カテゴリ(配列) |
| trigger_words | トリガーワード |
| tags | タグ |
| source | ソース |
| source_url | ソース URL(本ページ) |
| exported_at | エクスポート日時(ダウンロード毎) |
| system_prompt | システムプロンプト本文 |
| model_config | モデル設定:provider / model / temperature / max_tokens / top_p |
| examples | サンプル |
| install_guide | 各プラットフォームの導入説明(Coze / Dify / Claude / カスタム) |