{"_id":"9kvr","_rev":"29-ffe206c288c2282be7f777bf5436dd65","name":"9kvr","dist-tags":{"latest":"1.1.4"},"versions":{"1.0.0":{"name":"9kvr","version":"1.0.0","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.0","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"8b8f80580310e1885bfa3ffa641fc5d3a694b8a9","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.0.tgz","fileCount":3,"integrity":"sha512-6AA2Zyw5zLSBO7idF1dCwp0eyJi3vpW962IvyEw/aGd+W7PQx2ydQQdfbIMu0PWaqGL5a5RhhfQy5Gdn2idbFA==","signatures":[{"sig":"MEUCIQDf197mfhrJenjI1dYA/0sAHOTnoq1kLbW2wo00W65luwIgalWfqhSDH6nHJSLJZXNDLythDtpU/mlwwzJ6OkQn4hA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":974},"main":"index.js","type":"module","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.0_1727498361008_0.8244329827975609","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"9kvr","version":"1.0.1","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.1","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"c16ae76f05ead18ae9dc4741763f8989b9b46d99","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.1.tgz","fileCount":15,"integrity":"sha512-QfVKMWsFdcg7ifWn22aqBloOzWWGtj6TqE+je/Ztw12g085V7lJedtkrj0IyxqCP8zkPHtVJjYC5Sbw7pH6fRg==","signatures":[{"sig":"MEYCIQCWZKqo9ws2JZn9GRF9gDT4rMxhbGk2vC3TYm3+Epcs1gIhAONswse3iR3s1uq5kr4nCkj2Rdw8JOckEVzFBMAf+ie3","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12126},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.1_1727504437744_0.16944190214662114","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"9kvr","version":"1.0.2","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.2","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"f10d6a7c1b7fb51e0eb8474d61cf104352ab3ff0","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.2.tgz","fileCount":15,"integrity":"sha512-JDGPem9hXnYOOTILqzvh/UeGYM8zAHk4hFSUHEfE4jAkla2xN61LpLiIbgaP9kTJENuqbDX1+R6L4mnGsdDR+w==","signatures":[{"sig":"MEUCIA2qHUXsELOdK43zvcr0/yN6atb8oi/pJOd+DIbBmhW1AiEAwn1ABpD0i7pBNZMEW2TOaQP84xSNWs4nFFwoS4I54CA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":15934},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.2_1727510440096_0.20116969945581364","host":"s3://npm-registry-packages"}},"1.0.3":{"name":"9kvr","version":"1.0.3","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.3","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"4b1b6213edf46a48f6f67c7ee032f5892ba0a1a6","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.3.tgz","fileCount":15,"integrity":"sha512-HZod0g/KJ1e1Po4XQ/qqfE0aZa3mNyFmXwHRME+gRqurrVHte2wujBZ1nd/o/BRsSrSmNoNGscHin+DTXAuW2A==","signatures":[{"sig":"MEYCIQD3iAGOhbpjTWEkIZ27PEGkHmz8Nn/b64SoLkafxE6+rAIhAK347XV3bTBmuGds+P7e33LHGP3+yHvePn+HmuNpveEy","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16129},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.3_1727511758095_0.08856874149246452","host":"s3://npm-registry-packages"}},"1.0.4":{"name":"9kvr","version":"1.0.4","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.4","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"c5148226febd44ede231ae2b69d3b73db2e6b6e9","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.4.tgz","fileCount":15,"integrity":"sha512-yUvdJDqIEd9XB2Z4E2b6itSVaAgnuA7eBIqU2l73poIgX/gUVC3zp+ywduuKATJY0A8bXcnfZ9HFkBmNR8S9Aw==","signatures":[{"sig":"MEYCIQC2tXQJM4atgKrW+G1LmuFWSCuuHHm7jN+YRzV4mtz4vgIhAOHof0rMfz68TOFxHAIXtKXoH1IwH7nePcCdf06wl4l1","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16324},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.4_1727528205976_0.39414696687783746","host":"s3://npm-registry-packages"}},"1.0.5":{"name":"9kvr","version":"1.0.5","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.5","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"00429f5be432f2fc3d887ab0a900752ab91cbe2f","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.5.tgz","fileCount":15,"integrity":"sha512-xNyr25vxDI2vCNNWTY153XF//ei/JYm11JbsaC6OhivozGnJe6NP6Kv7katKq3J8z+vF6WARkZSTwQN1KLEAeg==","signatures":[{"sig":"MEUCIQDvHOJcyj5UDJbKFlz3hkDt9q9tW3H5uTI1ez1ThmwH1wIgXo33rHk0k11n5RHk6mR/q3pNLyAWlBWEl5VTxuwpUWE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16693},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.5_1727530399517_0.7120376098549741","host":"s3://npm-registry-packages"}},"1.0.7":{"name":"9kvr","version":"1.0.7","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.7","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"817b51e05a0870f8ad50c7a32b7dfa2fad0a0b53","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.7.tgz","fileCount":16,"integrity":"sha512-4k2O8tbAdH1sF0Q7ewwkXLPeIt15PAKTO+621uHow8nZWYUFJN+7iGGzAxrPc0B/032g64SR/rKNzKDNEmSVvA==","signatures":[{"sig":"MEQCICPFsjYcCm55HdUrR7kWXz/ldcFgqKSWVcytIp31yWoAAiBOePR6V1AMZ6OGAOkYCsxO0oRw42d8rRKtFimcX2JdCw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":16815},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.7_1727536127644_0.9150429635160178","host":"s3://npm-registry-packages"}},"1.0.8":{"name":"9kvr","version":"1.0.8","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.8","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"87a08592028b90637ec7f2524d96165f75ab7cbc","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.8.tgz","fileCount":13,"integrity":"sha512-knn4BxUV+mzUo4S20vFeJJN3tf53WItleVh3/be0J+/MkUUs6jF/1pyzGzolyoM1tYyqOOFbYZZuoAq0hND3Dg==","signatures":[{"sig":"MEUCIQDfUyQuS8uLeO/ARrDNFJ2O9dCDQZ9CNJ+SoQrT1hyREAIgUFchnhjAn39YkTQ+VBLlaTwyjxW10E8/JjCd/ay4QIg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":12518},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.8_1727631102310_0.06031666009551051","host":"s3://npm-registry-packages"}},"1.0.9":{"name":"9kvr","version":"1.0.9","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.9","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"6c3a9ce6f1143db777e8988a79349b8527f751df","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.9.tgz","fileCount":14,"integrity":"sha512-Z7CKoO4fj5YvVkXKehqiZhaGnpKvVhdXQ65/pSKTkxioj8l3QX01R3qW455nD03tZsPl5vWGaPeN1tqQfff6sg==","signatures":[{"sig":"MEYCIQCitB6hD/8H6u/5HlMuT9GKLAf4H7pApz6kJwUYZUsjIgIhAOIyfdYd/MZh+TGkPlTJzJ1jR5v5rw7jNCS5Hel1lWs/","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":13772},"main":"index.js","gitHead":"b1f15b8142c7c6dee308f24650225ac0c3616859","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.9_1727633068291_0.4096417122454965","host":"s3://npm-registry-packages"}},"1.0.10":{"name":"9kvr","version":"1.0.10","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.10","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"09df0660e09022e63f8107e2265abea016155bd9","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.10.tgz","fileCount":20,"integrity":"sha512-NsLDyAXmUeUEjBOajuOaZbypD2UoWNiV/P7k+jLU9/GO665T210AFvBgkmVQGNhHm9LrxVqkHk9C85OqeAzmsw==","signatures":[{"sig":"MEQCIClOiY4zDeXbJNvikEpahftO9pq6GBx0+L5pdFcQo4R7AiA86YRzBezG5O9dHwKuufeGnYDGajlT26GttSBI79c1OQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22747},"main":"index.js","gitHead":"9b023ae82b9dfb4e2c25c7a136c830333941de07","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.0","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.10_1727634086558_0.339329880180151","host":"s3://npm-registry-packages"}},"1.0.11":{"name":"9kvr","version":"1.0.11","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.11","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"7b22a0714302752922fe8111afaea3ca8720d60d","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.11.tgz","fileCount":20,"integrity":"sha512-BrkGkfpNpzCtsUBiiUSBo3vSenVuSwkFfkroC7fpQycB+pEVlUXUkAhLBCkC0OnxP2tC/SzYxy57OjhZaR3WVA==","signatures":[{"sig":"MEQCICuecCQTqQepetnvpCxPHqEBmWjdJitgS1EZz9IUEbKsAiBq2qMvUKaOTKwxcpH/2/hl6Ba2NHntm43z/yPIotg94A==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23353},"main":"index.js","gitHead":"9b023ae82b9dfb4e2c25c7a136c830333941de07","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.11_1727635470392_0.2715454313621841","host":"s3://npm-registry-packages"}},"1.0.12":{"name":"9kvr","version":"1.0.12","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.12","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"3fb49cb99b665561b218536b4a88e337263cea66","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.12.tgz","fileCount":20,"integrity":"sha512-ChjzNUc50i9eNgTl0l1jUTi0PcxmxY5m3BEZaNuqNd2U6T2JIk+Vxd/PNnojiO4ZE9CyAkyAE4Xo6+GdFtRvsA==","signatures":[{"sig":"MEYCIQCMBm2vSgpmyMZjXhlYB4z9TVQHtidSxkKqh7Q37JgB1QIhALhvwo2LcPxXiNg2j85Fs7gvacKPehyjHPiafGH3jU/S","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24360},"main":"index.js","gitHead":"3cb7e28dae20033a09adb6e6643b38549a533743","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.12_1727883816947_0.44306704411913467","host":"s3://npm-registry-packages"}},"1.0.13":{"name":"9kvr","version":"1.0.13","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.13","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"62829459f05d72df04e0d59b5f0dccd56cdad500","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.13.tgz","fileCount":20,"integrity":"sha512-6T470pd6dlneDY6LdMA+sS6J2+1pWK7XtqlMcgqCbSFuGNcy5msU/APRs7XpHoac2owOvoybpAd5/EziBnLGCQ==","signatures":[{"sig":"MEQCIAS6BAQb7ox/ugnrzp5zk3I56Ui/KJfRMsLzMtqcOn69AiA7JfhxGvK6P+5rOokgSM1lQDuWR7hpbyG8ckOiNqQnQA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24190},"main":"index.js","gitHead":"3cb7e28dae20033a09adb6e6643b38549a533743","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.13_1727885430025_0.5195079677511982","host":"s3://npm-registry-packages"}},"1.0.14":{"name":"9kvr","version":"1.0.14","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.14","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"9703b4e20742bbb5936ad214b46ffdde3b38e052","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.14.tgz","fileCount":20,"integrity":"sha512-zqBsFD16qmw+UBNTWlMGlKIo7cVG5nXhT+nO+xgFEKf5K0zN3stba8P407XD0QREzszxpr1UrhE/3a7/p5O7YA==","signatures":[{"sig":"MEUCIQDSwTZpNI7aW37WjrvGrQI/FhvJ2d5e2nicV70+XVfWKgIgVoBlGpsIWWArzm0cbAwmw9jcwZF3+Ej+PnsqNQIiwiA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":24181},"main":"index.js","gitHead":"3cb7e28dae20033a09adb6e6643b38549a533743","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.14_1727886226815_0.3741278881944756","host":"s3://npm-registry-packages"}},"1.0.15":{"name":"9kvr","version":"1.0.15","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.15","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"91580cf46d84c1a5d99f9868418727893032bee8","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.15.tgz","fileCount":21,"integrity":"sha512-sHR0PXQiAeel6F3/xM+ZV3flDMyM6PlRrGkqLPAG5h3KZspPr7ttVEJidLVfai97CW9P39V+oDwqS4gw0AMVYA==","signatures":[{"sig":"MEUCIHxupxUb8BlQWsWqUQNY81Rw1MXcQ1FvJCY6P4LsXTl+AiEAxTQ6NrWFAGQ9AAR28TGFXiWNHPhUMbST5CJjT2O3TXo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17270},"main":"index.js","gitHead":"3cb7e28dae20033a09adb6e6643b38549a533743","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.15_1727932190940_0.3675450517573602","host":"s3://npm-registry-packages"}},"1.0.16":{"name":"9kvr","version":"1.0.16","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.16","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"9462f7a3b8adaf66edd25dc6aec4ca7eb83dce77","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.16.tgz","fileCount":21,"integrity":"sha512-uEl+PGg/5C7hBuJKOC/NPl2FIfUOqtCEAJvP5EE7lvNc0xC4uDLxzo5TuGI0+rXN79yFrGKVDr547r4Kw4NPqQ==","signatures":[{"sig":"MEYCIQCfnL7UYRxxWwZRLczjo9I/vSm2iTjc6fk/3/h3zHyqUAIhAITOxXB0ahi9QNlImyhVat64VmS9uKwUmB447E99HCZD","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17626},"main":"index.js","gitHead":"3cb7e28dae20033a09adb6e6643b38549a533743","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.16_1727934257740_0.2654326142244554","host":"s3://npm-registry-packages"}},"1.0.18":{"name":"9kvr","version":"1.0.18","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.18","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"3d7e28df43de26c06c7ef108f57e777bb2d50c65","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.18.tgz","fileCount":22,"integrity":"sha512-ToCVscP1qVGjGleitGrgXdAoEM8+ylCh2i1DR/2H6LdsyTdRV0PV+8P3NuUH7FeGaYftUL0Es5yGjdPlwLxfZw==","signatures":[{"sig":"MEUCIQDmgp601UBrKZqOCK+/XMO2TOB3p1GgXuQxkpjfm7WPeAIgAcEEpaanoEvIUfLrAnmehbqpFnrWx2URB0hmj44qqXM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19390},"main":"index.js","gitHead":"113db665a0c0acbdd0b0c916f2dfec539631e6de","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.18_1727959689899_0.4786437117191995","host":"s3://npm-registry-packages"}},"1.0.20":{"name":"9kvr","version":"1.0.20","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.20","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"3b083be6ae50107cd5deaae33869565771e2573d","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.20.tgz","fileCount":20,"integrity":"sha512-cPdjPBJJGHY3Cnj67QVbPZ4RjuM7nDAAFIvWjs01dMOGytWlp0gnqFAlAGflwsGOwIE5NjK4Ttg0uTY98SxlmQ==","signatures":[{"sig":"MEUCICRTaT4CTS7eij6e4PBSGXHFxG6rzmm3PgXuGZDzHwSYAiEA7+le8BLzF+ARflN1WoRPERtiTKy/20DXfaRnxR/OPwM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17702},"main":"index.js","gitHead":"28dcc5cad8dc6c4edbdf940ed529ab57985b9a12","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.20_1727975260848_0.8412219447102216","host":"s3://npm-registry-packages"}},"1.0.21":{"name":"9kvr","version":"1.0.21","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.21","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"c58c49aec5cff21d157d4e221701791281141c03","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.21.tgz","fileCount":20,"integrity":"sha512-FcKlCv3GqCCbevgYWFDCzF2CZCve6lBcTBW93Ll79Twxhmppoj9VigxyyPgJg/abhpAt7l5p9BAEsAnXYujhqg==","signatures":[{"sig":"MEUCIQDmUlKvuct61rJbZtmOSg14GIt8nLz5M6GSwZzHrT7bngIgcfUjZOkcdIz5197Fdtf3uLF8IkW/TQ1cwWuTQhsmiPY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17974},"main":"index.js","gitHead":"ba33490172d70b1bca5d26b35e346bbd6b0a5eb3","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.21_1728050659796_0.7837966753020382","host":"s3://npm-registry-packages"}},"1.0.22":{"name":"9kvr","version":"1.0.22","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.22","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"82171156ffe10de9d541975b6297589f3584daf5","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.22.tgz","fileCount":21,"integrity":"sha512-QBohzq0CF2n5q79cxJezJWxmKmbUbUwCjwZKAAbvsQvxq3agxvQ9f4pOaBXgvHpLumPwzXg/SUHjG23xhzez5Q==","signatures":[{"sig":"MEUCIHua6aCprI91Aq5KuqRfkc2yvDk4B95k+DueC2PknKCoAiEA9xEL+d9SWhQqF1nzm89ce3n1t16T4ts7SR43Cclo6RE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19678},"main":"index.js","gitHead":"ba9cc89b5ec81c4789e073d9aae8a239fb260f18","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.22_1730041089932_0.9943180930628184","host":"s3://npm-registry-packages"}},"1.0.23":{"name":"9kvr","version":"1.0.23","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.23","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"c84c4a139381fbb9e383745431d436b56b718b2e","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.23.tgz","fileCount":21,"integrity":"sha512-vtYewOeV3ryz1oSdVLpsNR4gyA2ar4XYKcOHcP/y6AFj457IgG9GV871AlTiPjxs7AlUXC+mKqRNRznTyqbJUw==","signatures":[{"sig":"MEUCIDUqeutDmhgsJDNq+GuW0zHJ623RU3uPhNUb7uxKqC6CAiEA9Ud/if4HuAGerOHiWIlduwCZRdp3MFL1yIifStcDcS0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19677},"main":"index.js","gitHead":"ba9cc89b5ec81c4789e073d9aae8a239fb260f18","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.23_1730041518352_0.5306714188375095","host":"s3://npm-registry-packages"}},"1.0.24":{"name":"9kvr","version":"1.0.24","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.24","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"a84cef8dad037848938d48a4791d56cb68501d47","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.24.tgz","fileCount":21,"integrity":"sha512-2sXQIiTgI2uXEtUdMXj5G3nIhj8RJoZ0MladplGwzF0WcLKZ6Q2XLS69myFk2KGL/RrnBP/1PdjwldHIVLPTeQ==","signatures":[{"sig":"MEUCIQCuy+I2/Uj6cGDSMbicecSnMTW+u4xYUd4e5EpYTPGaagIgUKQ/Tc7b24QdMguJJd0B/G+FUkOUWmvcxQ276v5oml8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":19691},"main":"index.js","gitHead":"ba9cc89b5ec81c4789e073d9aae8a239fb260f18","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"8.19.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"16.20.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.24_1730042108556_0.49065358123773084","host":"s3://npm-registry-packages"}},"1.0.25":{"name":"9kvr","version":"1.0.25","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.25","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js"},"dist":{"shasum":"c03c1296b5bcfaf1f0ae591e4525f8fce41f788d","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.25.tgz","fileCount":80,"integrity":"sha512-ZOdmmP3dTePemfqbcRgQRSOuuMn8hz1HQEriKw+AfIdKT5f9kmQfbwv5GES2zFB3Os9TYbboopyWT3skENO0Bg==","signatures":[{"sig":"MEYCIQCdENcLhYLs3tCUXWEfGst53juSw4e09J+yEWM3JVRo2wIhANuFzRH74zQG5gPQcHhb36358M5EfvPvddwTpbZeiddE","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93606},"main":"index.js","gitHead":"e6c666c16486994c4f954df90a5765c7057676a6","scripts":{"build":"npm run check && node scripts/build-package.js","check":"node -c index.js && node -c modules/index.js && node -c lib/init.js && node -c lib/login.js && node -c lib/build.js && node -c lib/dev.js && node -c lib/pub.js && node -c lib/document.js && node -c lib/current.js && node -c lib/web.js","pack:dry":"npm run build && cd dist && npm pack --dry-run","release:check":"npm run build && npm run pack:dry"},"_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"22.22.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.25_1775407962010_0.8451625800308336","host":"s3://npm-registry-packages-npm-production"}},"1.0.26":{"name":"9kvr","version":"1.0.26","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.0.26","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js","9kvr":"index.js"},"dist":{"shasum":"262f8ac7dfb91cb39a8653b7fa2b94efa1bed000","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.0.26.tgz","fileCount":80,"integrity":"sha512-1vvXlHt3POju6Crlzn4J6UCdcGHs2AfYvxgEKKcF3STRgBWJ8YRgrg/JB8S8kJAASBdXZtr3RJ0/BwQdeUThfw==","signatures":[{"sig":"MEYCIQDR5RdEMplwN/tzrkji6fChlO4VHTfUTKGzyUVmJPOaXQIhAIoPx5GQWXeVaYB4S0+9OguSGZ+4xM6HcBjww19pnZOX","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":93809},"main":"index.js","gitHead":"e6c666c16486994c4f954df90a5765c7057676a6","scripts":{"build":"npm run check && node scripts/build-package.js","check":"node -c index.js && node -c modules/index.js && node -c lib/init.js && node -c lib/login.js && node -c lib/build.js && node -c lib/dev.js && node -c lib/pub.js && node -c lib/document.js && node -c lib/current.js && node -c lib/web.js","pack:dry":"npm run build && cd dist && npm pack --dry-run","release:check":"npm run build && npm run pack:dry"},"_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"22.22.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.0.26_1775410718747_0.4059855178467735","host":"s3://npm-registry-packages-npm-production"}},"1.1.0":{"name":"9kvr","version":"1.1.0","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.1.0","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js","9kvr":"index.js"},"dist":{"shasum":"459fd950115ccf93f8b2a1a076b2faf1d8c0f49b","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.1.0.tgz","fileCount":78,"integrity":"sha512-QaMe+0kCByJzvgqGJaZvkXgOU8xbC4EDXGCUccueCZtoNJ4fwd3sI1ixSzwSWOodbeoTs3baT8nxKIco7rFjdw==","signatures":[{"sig":"MEQCIAauRsDmoGEd3/qCOiZMu7LvdtdPz5qZ2qycg7dNPzm3AiBSkZXEnNSD06vtCxG9sC2EveMGL25lRnB7YigErh/eew==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":173824},"main":"dist/sdk/index.js","types":"dist/sdk/index.d.ts","module":"dist/sdk/index.mjs","exports":{".":{"types":"./dist/sdk/index.d.ts","import":"./dist/sdk/index.mjs","require":"./dist/sdk/index.js"}},"gitHead":"e6c666c16486994c4f954df90a5765c7057676a6","scripts":{"build":"npm run check && node scripts/build-package.js","check":"node -c index.js && node -c src/modules/index.js && node -c src/lib/init.js && node -c src/lib/login.js && node -c src/lib/build.js && node -c src/lib/dev.js && node -c src/lib/pub.js && node -c src/lib/document.js && node -c src/lib/current.js","pack:dry":"npm run build && cd dist && npm pack --dry-run","build:sdk":"tsup src/sdk/index.ts --format esm,cjs --dts --out-dir dist/sdk --clean","release:check":"npm run build && npm run pack:dry"},"_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.4","description":"芊云全景开发者工具","directories":{},"_nodeVersion":"22.22.0","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.4","typescript":"^5.7.3","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.1.0_1775475547943_0.045472705111139655","host":"s3://npm-registry-packages-npm-production"}},"1.1.1":{"name":"9kvr","version":"1.1.1","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.1.1","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js","9kvr":"index.js"},"dist":{"shasum":"bb5ce4d259a1cf90540309b38cc1580ed8d8fecc","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.1.1.tgz","fileCount":42,"integrity":"sha512-pRJk+AnNHvnw7ZqW5PZ2z374LrEy6onstKPgnfoH/X9kgaRQRMEedLvgZ13Wwf6QuxjoRTNiwQWGW4RMSrOiFw==","signatures":[{"sig":"MEUCIEpZrGIjSD8adEN3N6y6/aKVsId5WcntTSXkvIwJFSs6AiEAqhOVQb2NybwD98AD38r8FNf+uXkRKFtaIeCfu0FEEmM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":125608},"main":"sdk/index.js","types":"sdk/index.d.ts","module":"sdk/index.mjs","exports":{".":{"types":"./sdk/index.d.ts","import":"./sdk/index.mjs","require":"./sdk/index.js"}},"gitHead":"11315e9aae099b82cb8149ff0d08ed3f38afcf7f","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.8","description":"芊云全景cli工具","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.1.1_1787039747798_0.12813338571487387","host":"s3://npm-registry-packages-npm-production"}},"1.1.2":{"name":"9kvr","version":"1.1.2","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.1.2","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js","9kvr":"index.js"},"dist":{"shasum":"7729a41e6ed884fd8b4b28e96ace2ec2663e11a0","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.1.2.tgz","fileCount":119,"integrity":"sha512-3GDqsEoCmDi2njuaFeDQ4NikI1lJ2TS+/r6ZD8sMNMnMc+zSTCGGsFdQdpkLgG5yt/NSpmlY2CfNoApqLReObQ==","signatures":[{"sig":"MEYCIQDUcY20L1Edp0zQEQ9yoHuOmLb0WJyESyTRgxtYEcQKOAIhAKV1t9Qo/zs8sqRqpW3I3xFFsJ1johjlWM0bPSV74309","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":358561},"main":"dist/sdk/index.js","types":"dist/sdk/index.d.ts","module":"dist/sdk/index.mjs","exports":{".":{"types":"./dist/sdk/index.d.ts","import":"./dist/sdk/index.mjs","require":"./dist/sdk/index.js"}},"gitHead":"4442ca5645225ce609389d5df2dfc7670425bc29","scripts":{"build":"npm run check && node scripts/build-package.js","check":"node scripts/check-js.js","pack:dry":"npm run build && cd dist && npm pack --dry-run","build:sdk":"tsup src/sdk/index.ts --format esm,cjs --dts --out-dir dist/sdk --clean","release:check":"npm run build && npm run pack:dry"},"_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.8","description":"芊云全景cli工具","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"devDependencies":{"tsup":"^8.2.4","typescript":"^5.7.3","javascript-obfuscator":"^4.1.1"},"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.1.2_1787060848580_0.7129515696069251","host":"s3://npm-registry-packages-npm-production"}},"1.1.3":{"name":"9kvr","version":"1.1.3","author":{"name":"天明"},"license":"ISC","_id":"9kvr@1.1.3","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"bin":{"9k":"index.js","9kvr":"index.js"},"dist":{"shasum":"ba47f1f3aaca3204f6537bd44a58e4061b8051cd","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.1.3.tgz","fileCount":45,"integrity":"sha512-oHUqxEBbDYV2NEfAdK5XtIsSU80dFd1KgNKXxjpiwA8+AEyR6nYT20hiDn0N5+WdeHMbSbGg/sAWuR0xyRKvMw==","signatures":[{"sig":"MEUCICLv8UdHOyOnYm/+++Gl9x/Fw27omLbKrk5uUp8QAuZJAiEAlTbzPt+LRWmc0H8o4bNOAGy3YDQPgZ3zU3WjwVx91hs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":157143},"main":"sdk/index.js","types":"sdk/index.d.ts","module":"sdk/index.mjs","exports":{".":{"types":"./sdk/index.d.ts","import":"./sdk/index.mjs","require":"./sdk/index.js"}},"gitHead":"63965cd2362264811b690b4e5aeda9816b9d204a","_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"_npmVersion":"10.9.8","description":"芊云全景cli工具","directories":{},"_nodeVersion":"22.23.1","dependencies":{"open":"^10.1.0","axios":"^1.7.7","shelljs":"0.8.5","inquirer":"8.0.0","commander":"12.1.0","chalk-style":"^1.0.1","global-modules":"^2.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/9kvr_1.1.3_1787146991150_0.33739142531374955","host":"s3://npm-registry-packages-npm-production"}},"1.1.4":{"name":"9kvr","version":"1.1.4","description":"芊云全景cli工具","main":"sdk/index.js","module":"sdk/index.mjs","types":"sdk/index.d.ts","exports":{".":{"types":"./sdk/index.d.ts","import":"./sdk/index.mjs","require":"./sdk/index.js"}},"bin":{"9k":"index.js","9kvr":"index.js"},"author":{"name":"天明"},"license":"ISC","dependencies":{"axios":"^1.7.7","chalk-style":"^1.0.1","commander":"12.1.0","global-modules":"^2.0.0","inquirer":"8.0.0","open":"^10.1.0","shelljs":"0.8.5"},"_id":"9kvr@1.1.4","gitHead":"8e9a899565ac3d75bf3453539a230661af43ea80","_nodeVersion":"22.23.1","_npmVersion":"10.9.8","dist":{"integrity":"sha512-JqDujWUEz9afMNN/gl0cm40dtYxyCb4tXPioreaMw0FWL09/4HJ/yRukLrKntkdJoCXiXxiud/4gQCv5EQ0hvg==","shasum":"2b84d5f3a921e92447ae5166dfb4bad8dadc3f47","tarball":"https://registry.npmjs.org/9kvr/-/9kvr-1.1.4.tgz","fileCount":46,"unpackedSize":163726,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIAzCWWFr/2SAZkd782qwvenF1CLKTR40n3LmumIFRBG9AiBprD4ckp5BhMO4e6Se6hE6Y78l1CR8wXAQoOf5QFFXoA=="}]},"_npmUser":{"name":"tianmin","email":"iyahe@qq.com"},"directories":{},"maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/9kvr_1.1.4_1787149505235_0.8935531198554489"},"_hasShrinkwrap":false}},"time":{"created":"2024-09-28T04:39:21.007Z","modified":"2026-08-19T14:25:05.551Z","1.0.0":"2024-09-28T04:39:21.236Z","1.0.1":"2024-09-28T06:20:37.931Z","1.0.2":"2024-09-28T08:00:40.315Z","1.0.3":"2024-09-28T08:22:38.276Z","1.0.4":"2024-09-28T12:56:46.226Z","1.0.5":"2024-09-28T13:33:19.698Z","1.0.7":"2024-09-28T15:08:47.905Z","1.0.8":"2024-09-29T17:31:42.521Z","1.0.9":"2024-09-29T18:04:28.482Z","1.0.10":"2024-09-29T18:21:26.747Z","1.0.11":"2024-09-29T18:44:30.605Z","1.0.12":"2024-10-02T15:43:37.114Z","1.0.13":"2024-10-02T16:10:30.344Z","1.0.14":"2024-10-02T16:23:47.027Z","1.0.15":"2024-10-03T05:09:51.164Z","1.0.16":"2024-10-03T05:44:17.937Z","1.0.18":"2024-10-03T12:48:10.102Z","1.0.20":"2024-10-03T17:07:41.176Z","1.0.21":"2024-10-04T14:04:20.018Z","1.0.22":"2024-10-27T14:58:10.144Z","1.0.23":"2024-10-27T15:05:18.529Z","1.0.24":"2024-10-27T15:15:08.756Z","1.0.25":"2026-04-05T16:52:42.164Z","1.0.26":"2026-04-05T17:38:38.900Z","1.1.0":"2026-04-06T11:39:08.085Z","1.1.1":"2026-08-18T07:55:47.948Z","1.1.2":"2026-08-18T13:47:28.739Z","1.1.3":"2026-08-19T13:43:11.300Z","1.1.4":"2026-08-19T14:25:05.394Z"},"author":{"name":"天明"},"license":"ISC","description":"芊云全景cli工具","maintainers":[{"name":"tianmin","email":"iyahe@qq.com"}],"readme":"# 9kvr · 芊云全景开发者工具\n\n> 面向芊云全景插件生态的官方 CLI + SDK。  \n> 从插件创建、工程初始化、本地开发、宿主能力调用，到构建、发布、版本上线，一条链路完成。\n\n**芊云全景** 是面向全景创作者、商家与开发者的一站式 VR 全景创作与分发平台。平台不仅提供 360° 全景制作、可视化编辑、云端托管和多端传播能力，也持续开放插件、API 与宿主 SDK，让开发者可以在现有全景作品之上继续构建自己的交互、业务和品牌体验。\n\n如果你只是想制作和发布全景作品，可以直接使用芊云全景；如果你希望进一步扩展作品能力、开发定制交互或接入自己的业务，`9kvr` 就是进入芊云全景开发者生态的工具链。\n\n- 芊云全景官网：<https://9kvr.cn/>\n- 芊云全景 Web：<https://web.9kvr.cn/>\n- 插件开发文档：<https://9kvr.cn/t/kLiUn>\n- 开发者凭证：<https://9kvr.cn/tour/workbench/credentials>\n\n---\n\n## 芊云全景能做什么？\n\n芊云全景不是一个单纯的“全景图片播放器”，而是一套覆盖 **采集、制作、编辑、托管、传播和二次开发** 的 VR 全景平台。\n\n### 1. 360° VR 全景制作与漫游\n\n将标准 2:1 全景图制作成可拖动、可缩放、可沉浸浏览的 VR 全景作品，并支持多个场景组成完整漫游空间。\n\n适合：\n\n- 景区 / 文旅线上导览\n- 房产 / 家居 VR 看房\n- 校园 / 园区 / 企业展厅\n- 酒店 / 民宿 / 商铺展示\n- 城市、乡村、人文与自然景观记录\n- 品牌空间与商业项目展示\n\n平台提供全景发布、场景管理、场景切换和在线浏览能力，用户不需要自己搭建播放器、切片服务器和作品管理后台。\n\n### 2. 所见即所得的可视化编辑器\n\n全景作品发布之后，可以继续在芊云编辑器中进行可视化配置，而不是反复修改代码。\n\n目前平台公开能力包括：\n\n- 多场景漫游与场景切换\n- 热点编辑与互动入口\n- 背景音乐\n- 引导图标\n- 语音讲解与场景导览类交互\n- 实时预览\n- 面向作品的持续编辑与管理\n\n对于普通创作者，它是一套低门槛的 VR 内容生产工具；对于开发者，它又提供了可以继续扩展的宿主运行环境。\n\n### 3. 高清全景处理与云端托管\n\n芊云全景提供全景图片处理和云端作品托管能力，可将高清全景素材处理成适合网络浏览的内容，并由平台负责作品访问与展示链路。\n\n这意味着开发者或创作者可以把精力放在内容和业务上，而不是自己维护全景切片、静态资源分发、播放器部署和作品访问页面。\n\n### 4. AI 辅助创作与管理\n\n芊云全景正在把 AI 能力逐步融入工作台和全景生产流程。\n\n面向实际业务，AI 可以参与：\n\n- 作品管理\n- 素材整理\n- 热点配置\n- 内容与质量优化\n- 开发需求梳理\n- 插件开发辅助\n\n目标不是单独增加一个“AI 聊天入口”，而是让 AI 参与全景内容从制作到开发的真实工作流，降低学习成本和重复操作。\n\n### 5. 全景视频与多渠道传播\n\n完成的全景内容不只停留在一个网页里，还可以继续向更多渠道传播。\n\n平台公开提供或对接的能力包括：\n\n- 全景视频导出\n- 微信生态传播\n- 抖音小程序挂载\n- 百度地图相关上传 / 分发能力\n- Web 链接分享\n- 小程序与品牌化展示场景\n\n同一份全景内容可以同时承担作品展示、营销传播、线上导览和短视频素材等用途。\n\n### 6. 3D 内容展示\n\n除传统 360° 全景外，芊云全景也提供 3D 模型展示能力，公开支持 OBJ、GLTF、GLB 等常见模型格式，可用于独立 3D 展示或与全景内容组合呈现。\n\n适合产品展示、数字展厅、空间说明以及需要 3D 资产辅助表达的业务场景。\n\n### 7. 移动端全景采集\n\n芊云全景提供面向移动端的全景采集能力，可通过手机完成全景拍摄流程，包括陀螺仪引导、自动拍摄、实时预览、补拍对齐和素材导出等能力。\n\n对于没有专业全景相机的用户，这可以显著降低采集门槛，让“拍摄 → 制作 → 发布”形成更完整的闭环。\n\n### 8. 开发者服务与插件生态\n\n芊云全景不仅提供成品功能，也允许开发者在平台能力之上继续开发。\n\n你可以通过插件和开放能力构建：\n\n- 自定义开场页 / 封面插件\n- 品牌介绍和营销交互\n- 自定义热点交互\n- 页面型插件与专题内容\n- 场景联动逻辑\n- 导览、讲解和业务入口\n- 面向特定行业的定制功能\n- 与自身系统结合的二次开发能力\n\n`9kvr` 就是这套开发者能力的本地入口。\n\n> 平台功能、套餐权益及开放范围会持续更新，具体以芊云全景官网和开发者平台当前页面为准。\n\n---\n\n## 为什么要有 9kvr？\n\n全景插件开发最容易卡住的并不是“写一个按钮”，而是下面这些问题：\n\n- 插件到底怎样和芊云全景里的插件记录关联？\n- 宿主当前场景、视角和热点怎样读取？\n- 怎样监听场景变化和热点事件？\n- Vue / React 项目应该怎样组织？\n- 本地写完以后怎样构建成平台可以加载的产物？\n- 发布和正式上线为什么要分成两个步骤？\n\n`9kvr` 把这些流程统一起来。\n\n```text\n插件中心创建插件\n        ↓\n获取插件 ID\n        ↓\n9kvr 初始化本地工程\n        ↓\n本地开发 / 调试\n        ↓\n构建 UMD 产物\n        ↓\n发布历史版本\n        ↓\n确认后正式上线\n```\n\n平台负责插件身份、配置和运行环境，`9kvr` 负责本地工程、SDK 和发布链路，开发者只需要专注自己的插件业务。\n\n---\n\n## 9kvr 提供的开发能力\n\n### CLI：完整插件开发生命周期\n\n`9kvr` CLI 已覆盖插件开发常用流程：\n\n| 能力 | 命令 | 说明 |\n| --- | --- | --- |\n| 登录 | `npx 9kvr login --key=<开发者key>` | 使用芊云开发者 Key 建立 MCP 身份 |\n| 初始化插件 | `npx 9kvr plugin <插件ID>` | 从插件中心读取插件信息并生成工程 |\n| 本地开发 | `npm run dev` / `npx 9kvr dev` | 启动模板项目开发环境 |\n| 构建 | `npm run build` / `npx 9kvr build` | 构建平台可加载的插件产物 |\n| 发布 | `npx 9kvr pub` | 上传当前构建并生成历史版本 |\n| 更新 | `npx 9kvr update` | 更新已有插件版本 |\n| 上线 | `npx 9kvr online --history-id=<ID>` | 将指定历史版本切换为线上版本 |\n| 查看路径 | `npx 9kvr current` | 查看当前目录和 9kvr 安装目录 |\n| 上传素材 | `npx 9kvr upload file <文件路径>` | 将本地媒体上传到芊云素材库并返回素材 ID/链接 |\n\n远程插件操作统一通过芊云 MCP 完成，不再依赖旧的快捷码、uid/token 或历史 Develop API 调用方式。\n\n### 上传媒体素材\n\n先使用开发者 Key 登录，然后可以上传本地文件：\n\n```bash\nnpx 9kvr login --key=<开发者key>\nnpx 9kvr upload file ./cover.jpg\n```\n\nMCP 与 CLI 的选择建议：小于 30KB 的图片或短内容可以使用 MCP `upload_media` 的 Base64；大文件不要转成 Base64 发送给 MCP，应优先使用本 CLI 的 `npx 9kvr upload file <文件路径>`，避免 Base64 膨胀、上下文过大或传输失败。MCP 上传失败或客户端无法传递本地文件时，也使用 CLI 兜底。执行 CLI 上传前必须先完成 `npx 9kvr login --key=<开发者key>`。\n\n也可以直接传入 Base64 或 Data URL。Base64 上传必须指定带扩展名的文件名：\n\n```bash\nnpx 9kvr upload file \\\n  --base64='<base64内容或data:image/png;base64,...>' \\\n  --filename=cover.png \\\n  --name='作品封面'\n```\n\n命令成功后返回 JSON，包含素材表数字 `media_id`、素材链接 `url` 和文件名。不同媒体类型使用独立大小限制，用户/企业素材空间不足时会拒绝上传。\n\n作品封面和素材封面通常使用正方形图片；如果是后续 MCP 生图或图片处理，建议提示生成约 `400×400`，这里只是推荐尺寸，不是 CLI 或服务端的硬性尺寸限制。\n\nCLI 会在请求服务端前校验文件后缀、真实格式和大小，限制与服务端一致：\n\n- 图片：`jpg`、`jpeg`、`png`、`webp`、`gif`，最大 500KB\n- 音频：`mp3`、`mpeg`、`wav`，最大 5MB\n- 视频：`mp4`，最大 10MB\n\n文件真实格式必须与扩展名一致。服务端还会再次执行同口径校验和空间校验。素材名称、说明会进行内容安全检测；媒体上传后还会进行异步安全审核，审核异常会删除对应素材并通知用户。\n\n### SDK：直接调用芊云宿主能力\n\n插件不需要直接操作芊云播放器内部实现。宿主通过 `pluginContext` / `pluginBridge` 向插件暴露稳定能力，SDK 再提供更易使用的封装。\n\n当前 SDK 已覆盖：\n\n| 能力 | SDK / Bridge | 可以做什么 |\n| --- | --- | --- |\n| 插件生命周期 | `definePlugin` | 统一 `setup / mount / update / unmount` |\n| 插件上下文 | `usePluginContext` | 获取当前插件运行上下文 |\n| 插件清单 | `usePluginManifest` | 获取插件 ID、名称、版本、入口等信息 |\n| 插件配置 | `usePluginConfig` | 获取用户在编辑器内填写的插件配置 |\n| 环境信息 | `usePluginEnv` | 获取当前来源、场景、布局等环境数据 |\n| 场景控制 | `useScene` | 获取当前场景、切换场景、监听场景变化 |\n| 视角控制 | `getViewState / setView` | 读取或调整 hlookat / vlookat / fov |\n| 热点能力 | `useHotspot` | 新增、更新、删除、读取文本 / 图片热点 |\n| 热点事件 | `onHotspotClick / onHotspotDrag` | 响应热点点击和拖拽 |\n| 宿主事件 | `usePluginEvents` | `emit / on / off` 双向事件通信 |\n| UI / 封面 | `useCover` | 进入全景、关闭封面、读取布局状态 |\n| 渲染状态 | `useRender` | 判断播放器渲染是否就绪、读取渲染状态 |\n| 调试能力 | `useDebug` | 日志、警告、错误和运行时快照 |\n| 数据桥 | `pluginContext.bridge.data` | 获取 manifest、config、pluginConfig、env 等宿主数据 |\n\n### 自动清理事件监听\n\n通过 `usePluginEvents()`、`useScene()` 和 `useHotspot()` 注册的部分监听会绑定当前插件作用域，并在插件卸载时自动执行清理，避免插件反复挂载后留下无效监听。\n\n### 标准插件生命周期\n\n插件统一采用：\n\n```text\nsetup\n  ↓\nmount\n  ↓\nupdate（0 ~ N 次）\n  ↓\nunmount\n```\n\n这使 Vue、React 和原生 JavaScript 插件都可以使用同一套宿主协议，而不需要分别适配芊云播放器内部实现。\n\n---\n\n## 支持的项目模板\n\n初始化插件时可以直接选择：\n\n- `react` — 适合 React 技术栈和组件化交互插件\n- `vue2` — 适合现有 Vue 2 项目和芊云生态中的存量前端方案\n- `vanilla` — 原生 JavaScript，依赖更少，适合轻量插件\n\n```bash\nnpx 9kvr plugin <插件ID>\n```\n\nCLI 会自动：\n\n1. 校验开发者登录状态；\n2. 从插件中心读取插件记录；\n3. 读取插件 Manifest 和 Schema；\n4. 让你选择模板；\n5. 创建本地工程；\n6. 写入 `.9kvr-plugin.json`；\n7. 写入 `plugin.manifest.json`；\n8. 写入 `plugin.schema.json`；\n9. 同步插件名称、描述、版本等基础信息。\n\n这可以保证“平台里的插件”和“本地工程”从一开始就是同一个插件，而不是两个需要人工对齐的孤立项目。\n\n---\n\n## 快速开始\n\n### 1. 在芊云全景插件中心创建插件\n\n先在平台创建插件记录，配置插件基础信息，并取得插件 ID。\n\n**不要先随意创建一个本地工程再想办法绑定。**  \n当前推荐流程是平台先创建、本地后初始化。\n\n### 2. 获取开发者 Key 并登录\n\n开发者 Key：\n\n<https://9kvr.cn/tour/workbench/credentials>\n\n```bash\nnpx 9kvr login --key=<开发者key>\n```\n\n登录成功后凭证保存在：\n\n```text\n~/.9kvr/auth.json\n```\n\n### 3. 初始化插件工程\n\n```bash\nnpx 9kvr plugin <插件ID>\n```\n\n然后选择：\n\n```text\nVue 2\nReact\n原生 JavaScript\n```\n\n> `npx 9kvr init <插件ID>` 目前仍兼容，但已经进入迁移状态，新项目请使用 `plugin` 命令。\n\n### 4. 安装依赖并启动开发环境\n\n```bash\ncd <插件目录>\nnpm install\nnpm run dev\n```\n\n### 5. 构建插件\n\n```bash\nnpm run build\n```\n\n模板最终会输出芊云插件运行时需要的 UMD 构建产物。\n\n### 6. 发布历史版本\n\n```bash\nnpx 9kvr pub\n```\n\n发布成功代表：**新的历史版本已经上传。**\n\n它并不等于当前线上插件已经被替换，这样可以避免一次构建错误直接影响正在使用的作品。\n\n### 7. 正式上线指定版本\n\n发布成功后会得到历史版本 ID：\n\n```bash\nnpx 9kvr online --history-id=<历史版本ID>\n```\n\n上线后，该历史版本才会成为当前正式版本。\n\n---\n\n## 一个最小的 SDK 示例\n\n下面的插件在挂载时读取当前场景，并监听场景切换：\n\n```ts\nimport { definePlugin, useScene, useDebug } from '9kvr'\n\nexport default definePlugin({\n  setup() {\n    const scene = useScene()\n    const debug = useDebug()\n\n    const handleSceneChange = (packet) => {\n      debug.log('scene changed', packet)\n    }\n\n    scene.onSceneChange(handleSceneChange)\n\n    return {\n      mount(el) {\n        el.innerHTML = `当前场景：${scene.getCurrentSceneId()}`\n      },\n      update() {\n        debug.log('plugin updated')\n      },\n      unmount() {\n        // 通过 SDK 注册的监听会跟随插件作用域执行清理。\n      },\n    }\n  },\n})\n```\n\n你也可以进一步：\n\n```ts\nconst scene = useScene()\nconst hotspot = useHotspot()\n\nawait scene.switchScene('scene-id')\nawait scene.setView({ hlookat: 90, vlookat: 0, fov: 80, duration: 800 })\n\nhotspot.addTextHotspot({\n  id: 'demo-hotspot',\n  title: '了解更多',\n  ath: 30,\n  atv: 0,\n  drag: true,\n})\n```\n\n插件不是一块与全景内容无关的 iframe，而是可以在受控协议下感知并操作当前全景宿主状态。\n\n---\n\n## 可以开发哪些插件？\n\n### 封面 / 开场插件\n\n适合：\n\n- 品牌开场页\n- 项目介绍\n- 活动海报\n- 进入全景按钮\n- 动画引导\n- 用户须知\n\n### 热点互动插件\n\n适合：\n\n- 商品信息\n- 空间说明\n- 景点讲解\n- 房源信息\n- 图文弹层\n- 自定义行为入口\n- 点击 / 拖拽交互\n\n### 页面型插件\n\n适合承载更完整的业务页面，例如：\n\n- 项目介绍页\n- 导览页\n- 品牌专题页\n- 商业活动页面\n- 定制业务组件\n\n### 场景联动插件\n\n结合场景、视角、热点和宿主事件，可以开发：\n\n- 自动导览\n- 场景联动菜单\n- 路线讲解\n- 指定视角定位\n- 互动任务\n- 自定义空间导航\n\n---\n\n## 适合哪些开发者？\n\n### 全景创作者\n\n当编辑器现有功能不能满足特殊需求时，可以通过插件补充自己的交互，而不必自己重做一套全景播放器。\n\n### 商业项目开发者\n\n可以在芊云全景现有制作和托管能力上加入品牌、营销、导览、业务入口和行业逻辑，缩短项目交付周期。\n\n### 前端开发者\n\n可以直接使用熟悉的 React、Vue 2 或原生 JavaScript 开发，不需要从 krpano 或底层全景渲染开始重新学习整个技术栈。\n\n### SaaS / 行业解决方案团队\n\n可以把芊云全景作为 VR 内容基础设施，在此之上扩展自己的行业产品和业务系统。\n\n---\n\n## 芊云全景典型行业场景\n\n平台适合但不限于：\n\n- **房产家居**：VR 看房、样板间、家装空间展示\n- **文旅景区**：景区导览、虚拟旅游、文化遗产数字展示\n- **教育校园**：校园导览、线上开放日、沉浸式教学场景\n- **汽车展示**：车辆内外空间展示、线上展厅\n- **商业零售**：门店、商场、展会、产品空间化展示\n- **企业展示**：企业园区、工厂、展厅、品牌空间\n- **城市与乡村记录**：家乡、街道、景点和人文影像记录\n\n全景的价值不只是“能转一圈”，而是把真实空间变成一个 **可访问、可交互、可传播、可持续编辑** 的数字内容载体。\n\n---\n\n## 构建与发布约定\n\n所有官方模板最终都需要产出平台可加载的 UMD 文件。\n\n当前发布逻辑会从 `dist` 中查找：\n\n```text\n*.umd.min.js\n```\n\n推荐命名语义为：\n\n```text\n<插件ID>.<版本号>.umd.min.js\n```\n\n插件运行时统一使用：\n\n```text\npluginContext\npluginBridge\nsetup / mount / update / unmount\n```\n\n更新已有插件时，应先修改 `package.json.version`，重新构建，再执行发布 / 更新流程。\n\n---\n\n## 开发原则\n\n为了让插件在芊云宿主环境中稳定运行，建议遵循以下原则：\n\n1. **通过 SDK / pluginBridge 调用宿主能力**，不要依赖播放器内部未公开对象；\n2. **把平台配置交给 Schema / pluginConfig**，不要把用户配置写死在代码中；\n3. **正确处理 mount / update / unmount**，避免重复挂载和监听泄漏；\n4. **发布与上线分离**，先生成历史版本，确认无误后再上线；\n5. **版本号明确递增**，让每次发布都可以被识别和追踪；\n6. **优先从官方模板开始**，减少构建格式和宿主协议不一致的问题。\n\n---\n\n## 关于项目\n\n`9kvr` 当前同时承担两类职责：\n\n### CLI\n\n负责：\n\n```text\n登录\n插件初始化\n本地开发\n构建\n发布\n更新\n上线\n```\n\n### SDK\n\n负责：\n\n```text\n插件生命周期\n宿主上下文\n场景 / 视角\n热点\n事件\nUI\n渲染状态\n调试\n数据桥\n```\n\n项目当前版本以 `package.json` 为准。\n\n---\n\n## 相关入口\n\n| 入口 | 地址 |\n| --- | --- |\n| 芊云全景官网 | <https://9kvr.cn/> |\n| 芊云全景 Web | <https://web.9kvr.cn/> |\n| 插件开发文档 | <https://9kvr.cn/t/kLiUn> |\n| 开发者凭证 | <https://9kvr.cn/tour/workbench/credentials> |\n\n---\n\n## 最后\n\n芊云全景希望解决的不只是“怎样把一张 360° 图片放到网页上”，而是让 **全景内容真正具备生产、编辑、托管、传播和扩展能力**。\n\n对于创作者，你可以更低成本地完成一套专业的 VR 全景作品；对于商家，你可以把真实空间变成持续传播的数字资产；对于开发者，`9kvr` 和芊云插件体系则提供了继续向上开发的入口。\n\n**先把全景做出来，再把你的业务能力装进去。**\n\n开始使用：<https://9kvr.cn/>\n","readmeFilename":"README.md"}