{"_id":"claude-remote","_rev":"31-bd51e4ca7a8bfdbf0c8445045cc320f7","name":"claude-remote","dist-tags":{"latest":"0.6.1"},"versions":{"0.1.0":{"name":"claude-remote","version":"0.1.0","_id":"claude-remote@0.1.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"d2ecd3403d2eabfa8d8cf146d09d72aa92135da3","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.0.tgz","fileCount":6,"integrity":"sha512-Senp3b3aqmVcaHvBYWQjIX42aS/HTzJU0X0YeQUfosFk5qLZROWC14JIe9WfWf2uOIz8zRn7pgyLbqx115xCuA==","signatures":[{"sig":"MEYCIQDW5QSXhPrNBBa/sFpETmSXI6HukoYpXaH0EAMkIqRXfQIhALTNwY5g5f36xaXo/z3NbOnrSCCj1fKoyvkDPsbWexzM","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45450},"main":"server.js","gitHead":"3f5d1056d488b4da22f02af1a4df150893a728a2","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.0_1772284902850_0.6371475487363021","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"claude-remote","version":"0.1.1","_id":"claude-remote@0.1.1","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"175f78951e074e7be64525f1c8ce1772cd949078","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.1.tgz","fileCount":6,"integrity":"sha512-eAD3jNJDb5bHJR5xtaXrcSPLP0vXTBqZKWg6ZSkaNatSsaNMnKgVgTfqhx+y2EYg/Khfzg7Zw/x667rL+aXrEg==","signatures":[{"sig":"MEQCIHtR8qhOfPDQ5hxTmDcv+i+uu0TbgQADVz0AkeT4Bm2kAiB7OYZKaz2S9M7ayLTECr8QQRPpdm/R04QfXn/ksv0MOg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":45117},"main":"server.js","gitHead":"b6bf949d9af8c57b9780be0e125f77e6a5055706","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.1_1772362999552_0.8783202060427906","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"claude-remote","version":"0.1.2","_id":"claude-remote@0.1.2","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"ca3d50a80943944f01a7db40b801f8523b29116a","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.2.tgz","fileCount":7,"integrity":"sha512-ZqemmbMTG+g3iNpHzvB9BYl4f3Rs8ss2pb1ciodDr9pDKOiKLMXZDD2bXgBo56gOvhe8Qo2Zey2RCT7QS5xWzw==","signatures":[{"sig":"MEUCIQC32rGwjEzKZd56tE8vN0wBo96LcBPeRJQyprwXn8sX2wIgKIX4tbW4R9KgaLsRsxZSvqSlxGCS5TojuiM0TrRKsIU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":46292},"main":"server.js","gitHead":"b6bf949d9af8c57b9780be0e125f77e6a5055706","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.2_1772364344244_0.9898359791111753","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"claude-remote","version":"0.1.3","_id":"claude-remote@0.1.3","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"8bc05c8b149984de0ca340a2ab52994f5a03b199","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.3.tgz","fileCount":7,"integrity":"sha512-BYaCWsMZjzZCZFy4249XsvoUyUVrLYhfQGR9WfhX9DWrP+sM1zug8D4mCP5xfO/2IvunCbaimRIA5bduu6bP9Q==","signatures":[{"sig":"MEQCICFg0+GwA2NlZTpD1rkZADYJLU0IJcjXBhksK/crCM5LAiAL3j8ZUf+jA9i8nvRm5kDxd0saO3vHp2YNQILAu8mn2A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50078},"main":"server.js","gitHead":"7aa7867cf833c78cf9a9a28b81bd7bc4cfb4803c","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.3_1772366067532_0.5273042970892878","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"claude-remote","version":"0.1.4","_id":"claude-remote@0.1.4","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"835a64107100ed0d3fa72fbfbd379026dd67c292","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.4.tgz","fileCount":7,"integrity":"sha512-GSlAfYSw8Gl4bYhtuHdwg0p7IsqsUNOgLMeHCTLojpMNEYJNrxNpgKbo083AQ1GvKMBnKu/GfFzzifHXtSwOrQ==","signatures":[{"sig":"MEYCIQC5qFoCgfr9qcR/43unJ2psNdSTAtQnDC2YbNKp1QoMYwIhAJoHM4N15Da5V+h2XhOv/cmYFLbJwOsj73FYXTGpFvD9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":50258},"main":"server.js","gitHead":"564dc64265489e9fb5f6bd58885fa88de99cf8c3","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.4_1772366721892_0.5439082199931173","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"claude-remote","version":"0.1.5","_id":"claude-remote@0.1.5","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"4d855e08cbcdabac36afc1f8e710a78e2876fdb2","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.5.tgz","fileCount":7,"integrity":"sha512-uqIEIKyk3j0BC//mtfY7T+NXYGtpK/RZOFq+SyGpPsGLynxRys+ZD95JnKZj2PFOKSLSCwoH3y6BlbJk0TthPw==","signatures":[{"sig":"MEUCIAcIuy0JygUcL3CWBuuI/DZx2jp0Pi4uPZ3qCv0YX8uoAiEAmrDiwLAvIewP7jG44gDM4pehiO/NEWWnRX9gxOGxoas=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":51049},"main":"server.js","gitHead":"313ccc4c4b011136aa312d490d7541e06f7e1ab4","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.5_1772367098584_0.6018500977558019","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"claude-remote","version":"0.1.6","_id":"claude-remote@0.1.6","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"99056d3ca7a6366b3fed38694e8de90d336ee38d","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.6.tgz","fileCount":7,"integrity":"sha512-pPfNpkkhm4x2wAg13VM54SklNkQTcRBnzj55AEhdwQbbmYhids6XkLJId5nUQ/WlJ/0XQPz8yc6bDRtmK9Ljhg==","signatures":[{"sig":"MEYCIQDnVBg3cbA/n69qO0wHJUKqkBUJoSF4cC5ol3HU43XYRgIhAORFIXseGaZ+kMgtO7rvxTBJe1hWXy+8ArBI7g+I7fFH","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52032},"main":"server.js","gitHead":"e6fd49844003f32b0f56fb1c78c4ea754acdb910","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.6_1772367821327_0.3886699092984245","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"claude-remote","version":"0.1.7","_id":"claude-remote@0.1.7","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"75a68c0c20f7bfb70d90fb1622695405bb2f251d","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.7.tgz","fileCount":7,"integrity":"sha512-IN14s493fDSvFms4ZretCScYm8yrIRyYArAf1Mb/UcogeLy8fA2SfbHIVpfzryIrzFNURMcp5bRYCPfUoUq9fw==","signatures":[{"sig":"MEYCIQDRfkwT4jIBDhX9duzZ6AsBzOvSx7JRwSu9CVGFtCmlvwIhAKQGCUh2JUjNWkkIAuqgoPNKRaP322+Az5WTOESIUVXn","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":52238},"main":"server.js","gitHead":"7803384f24262d5ba16497fbbf4625ff275b4aec","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.7_1772368176562_0.5478327095315731","host":"s3://npm-registry-packages-npm-production"}},"0.1.8":{"name":"claude-remote","version":"0.1.8","_id":"claude-remote@0.1.8","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"e2edbf7c9f352c6369407509e7e1d8f454cd9808","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.8.tgz","fileCount":7,"integrity":"sha512-UtWqNt2RsFf2mZpT5R3iN+d8autwBRRtR3GlSGfynsMwMn10gPZ/3w0Bzw0U9ikUg9jjt9GAgCo+Zeb5hhXn1w==","signatures":[{"sig":"MEUCIQCplWLzclcbXcysxuhhU/sYzULcftH1t/YKuo20HvRi/AIgYWrel7q//1bu5sxr9cQNUwHC76/lHfxXKz8jn/GHX8w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53180},"main":"server.js","gitHead":"373f2e063bd2b0058ac394e880ead93d8a65a06c","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.8_1772373324588_0.30044983923171853","host":"s3://npm-registry-packages-npm-production"}},"0.1.9":{"name":"claude-remote","version":"0.1.9","_id":"claude-remote@0.1.9","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"3de54a904ca0c0c0619207bc7304103ebbb628bb","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.9.tgz","fileCount":7,"integrity":"sha512-cXLqRRD5vOFD6Ip3KdFPjc1tZsl/9TF4OefyLluYHJJN4oTwPT7cYnXF/zbGvPWwy5Tg8u18x/1kpu9ERRoIDQ==","signatures":[{"sig":"MEQCIAg1NObe37BrVM8fOKbOulW6ZADP8zPOQO72JnpGNX9PAiBWyoXQhHl2eOVh4IZPNeSmhafxsS7qJaqkK/Oy6hk/tQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53889},"main":"server.js","gitHead":"a113c38c9408f256512259ad3e426262cd3ff287","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.9_1772374505735_0.897910668047653","host":"s3://npm-registry-packages-npm-production"}},"0.1.10":{"name":"claude-remote","version":"0.1.10","_id":"claude-remote@0.1.10","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"6b252105f8b3b7becda4afe38fbaf4e532932f96","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.1.10.tgz","fileCount":7,"integrity":"sha512-zgpTQElAnNXpAZotQ1JgXLDA11+4jjYDuWsvqyMd1vzgg3XASNsHY1Wyrh1kFoThIdgUvm6VoT38xSr9EVpJuw==","signatures":[{"sig":"MEUCIQDeR2Rsik+IVUTvBPQpfzVrWLfBih5WwzEY7wvgeyVtDQIgUg2piUtsTJluR+qrk3yOBBSkdG9/auMVaTUq7RPdkzs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":53890},"main":"server.js","gitHead":"7397cdd11037479ea5418a90bee91d50ae9ae2de","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.1.10_1772375794973_0.31942800234017565","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"claude-remote","version":"0.2.0","_id":"claude-remote@0.2.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"564ea83648f25a0094fcd2d924952c6007717058","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.2.0.tgz","fileCount":7,"integrity":"sha512-/PlXKWZ0PND0Fgy/gcllRN0XCTI0yrhxjh95+wjmfChjvxZfa69831FaaoXEO4nkqci827fu/8hy53ZQTHkRhg==","signatures":[{"sig":"MEUCICG63Uid7m7jb8AOKKG4OZDG1UPFH7xnNwbWoAHioV69AiEAi+zU5TvQUlE8e5r71XEOiPEkp4NSw37YQWk0VZCZ2o8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":54605},"main":"server.js","gitHead":"d267fcc9a30124dd08e5c4d7f30f323e8d4578dc","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.2.0_1772376784517_0.301073600360517","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"claude-remote","version":"0.2.1","_id":"claude-remote@0.2.1","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"5b7c77331c433b2c23a965e9b7896a0773e3a1e9","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.2.1.tgz","fileCount":7,"integrity":"sha512-8T4mzRJtr3+Fa1pCuO7NI+1QiMUsaYM6o4MExpdBL50nwOvLN9HNs+Bq43Wf02Kve1XCeg1zdQVGGiY6kQIWvQ==","signatures":[{"sig":"MEYCIQCTCesqXejpcNRPavqZHGtkGIi0VtLaMQCJ+CnBv19BkwIhALb8oajNZk8YCNeBFOMWqTQ15pQDpt12vWTAT54pSgRh","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56112},"main":"server.js","gitHead":"51eb5409cb6970a6ba9ae02716862d00fa9a08b2","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.2.1_1772377458029_0.21167809149588135","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"claude-remote","version":"0.2.2","_id":"claude-remote@0.2.2","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"7b6dd95eefba0d5fe2c55b94af7d6ac49a62e8b6","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.2.2.tgz","fileCount":8,"integrity":"sha512-r5eyYCNvP2T/7ZfzZYATZ4Jg9td3DQ/KaIyUzGi6Egb9y3q+NfWSuKAlxQTa7k4GV9hjHy8xcleYbQKIlxl7Jg==","signatures":[{"sig":"MEUCICDxZ1ZKO8YEPO4AYWXZ61AWNwb9/TY6iaBfkf6swCZdAiEA/eiVANQ80dZK/5MqZINW7ll8Kr83sr5NwFquN3PmCgc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":61711},"main":"server.js","gitHead":"1845bfb2c07bacee66cf4d5a439b59a285faa269","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.2.2_1772427634585_0.002404878897911411","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"claude-remote","version":"0.2.3","_id":"claude-remote@0.2.3","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"2616a80464eddc4e50365c81a300fe69da20427c","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.2.3.tgz","fileCount":8,"integrity":"sha512-kNx81Rte2Gl75mvRTTJlqWzRK9UZ67NAjESl4AW6f5BW3kjlML2QLt/WRAFi8lSYKy9kHup5vY3ucK3nyiR9Wg==","signatures":[{"sig":"MEUCIHQRFvOfqE0PzWxvOF3gBgdrD9uGxnBw9SVEuZij/fUIAiEA5Z//FbRpsVcgYVjpd53QzTGKi0NjNDiddKUgpyD9aa8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":69393},"main":"server.js","gitHead":"f8fb94d4bdd284908250503df6e01df60d0266e6","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.2.3_1772437727498_0.4997705080966637","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"claude-remote","version":"0.2.4","_id":"claude-remote@0.2.4","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"66f0df7365c96e00c2c57e7355120576ad1d8624","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.2.4.tgz","fileCount":8,"integrity":"sha512-ysUmzXebcjF3hspzfNjYA4GCYbiViJluPD3PDEMxmrr6OJYFfNoU0mdxL62yKm7h6q3VQg+rMCwU3gSVPMspTw==","signatures":[{"sig":"MEUCIGDp6UkHr05OtiOT7hw7L4Iw/vEIRQM1i/zeYp0xa1z9AiEA8lLhDBwZUB+tZ6zCfkIdfxasTJMzwGdJIMyXvD+bD/I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71286},"main":"server.js","gitHead":"1fd58993135342f5a5700761a42c5f92de75483c","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.2.4_1772466805174_0.9267994421779957","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"claude-remote","version":"0.3.0","_id":"claude-remote@0.3.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"cf9b3138458cb50706f21520b96a9ae282bdfd34","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.3.0.tgz","fileCount":8,"integrity":"sha512-/Gd//iPfUK+9EMVbiampX8Vl8QDL3ak8ucTJQobyspI3EdBPY54pBC/pJVzZH/s0EZf/DDdTe+/yyqcv+9pNkg==","signatures":[{"sig":"MEYCIQDJswyQSYM2hLvMJUOBjF2ECQoq+s0JxOC0jktR/xziMAIhAIbUM0dqikV5fapCE9TdtJk+iNZGfvUnNIyBgaBXa6WT","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71776},"main":"server.js","gitHead":"fd4cefc9caf32be076305bff793e5ba3bcec93db","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.3.0_1772544670025_0.7842288801736002","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"claude-remote","version":"0.3.1","_id":"claude-remote@0.3.1","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"b229fbfaae1ab47507152aafb495521793a32060","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.3.1.tgz","fileCount":8,"integrity":"sha512-/bg/XM1SqdFSYvpVpEfSv3j6e6Vh2fEMQZRm/1JH+gDxZlfM/iCAUuWUZp2t3P8AntOSDSQrJng8DoARffLIHA==","signatures":[{"sig":"MEUCIGuo0v5ebKUhRq2sv45d5nUA1ffD/iKLRYRSYgGE9VGHAiEAzbnCS/aYBpbrvjlMnZ5SxE4JfGpECWyb/ZTKOcd42UQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":72962},"main":"server.js","gitHead":"fd4cefc9caf32be076305bff793e5ba3bcec93db","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.3.1_1772549790313_0.8242726831150513","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"claude-remote","version":"0.4.0","_id":"claude-remote@0.4.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"e754989ec6934014bec2e27bba713c018030f3d8","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.0.tgz","fileCount":8,"integrity":"sha512-py1HKnxbIdRNa92HRYGrVEGTrMKaQv9UNR8reCgGYCKDVWEgC6pBQZODSkhiJ+OUY1OZ4s30nbIMqZaXNo4YOA==","signatures":[{"sig":"MEQCIHEaCILB+5Dg2VwbehJVkijbIS3b1Z6B26XM3BacJC3UAiBYGsc686FTpe1aV+WHRZnZya80I+oFQZnUtLnUaO6Szg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":79416},"main":"server.js","gitHead":"8545b5320b871043888ada947d5e795d1abbb864","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.0_1772554370592_0.01795941620733621","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"claude-remote","version":"0.4.1","_id":"claude-remote@0.4.1","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"9a7a528cd0cf0799bf78ac5cf8d6e5a696938395","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.1.tgz","fileCount":8,"integrity":"sha512-0etmZCZhc3T4yhUIrs68Fk9iZxvVCuyeARi2Y8r7WcgYkh2OuIPEO8BWBcj2GuPYUnCc2r35GKpQBlGznVj/Cg==","signatures":[{"sig":"MEUCIQCybWxNbFQgUjrxP/Iw/jT7tQGCt8Ow3sr/G26cH+j+qAIgefibdnvoYWUuxR8yNwslPPhrGfySpSKCX26IcFzBmjU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82060},"main":"server.js","gitHead":"39c152b606a94eef1b67406a3d733fbd19fbd6ae","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.1_1772592544430_0.9359992732525964","host":"s3://npm-registry-packages-npm-production"}},"0.4.2":{"name":"claude-remote","version":"0.4.2","_id":"claude-remote@0.4.2","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"88102ef5fcaa8202a24ccbbeae2f844f757f5805","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.2.tgz","fileCount":8,"integrity":"sha512-pzM1t1zM0dEnKtmokS2/RMJVVgGu6XZ9j+txCNPsqDrW0Uj3b9v9LboopN8SP5yUBXoDwy1R5X6aykjOvA36sg==","signatures":[{"sig":"MEYCIQDCvHq0d0dBsHuyugD0Kp4mHR2Oxj9AdPnHC4JovQ8AagIhAOSQDq3sH8ogx0wOLK3iJSIHg9Ow/dZ1E1hIspuvdHqL","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":82547},"main":"server.js","gitHead":"71d83becc901e92abd6f0901492420c6f1137b9d","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.2_1772593889007_0.8355561239836549","host":"s3://npm-registry-packages-npm-production"}},"0.4.3":{"name":"claude-remote","version":"0.4.3","_id":"claude-remote@0.4.3","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"e1cf13123b3543ace7fb1efd138a5a7ddc24c3f2","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.3.tgz","fileCount":8,"integrity":"sha512-+oYKiNvifZBjJH26QTRQ6bqfo+eTS0I9PfnWLpYWNQjwIJGpo9nbbnNV+gYSTk7LFE5l9Y+1xYbyDhXo+vf8lw==","signatures":[{"sig":"MEQCIEZJAwgxbM2hBdfjLVS3FnXf8s48uXC6h1fmZPlL/2mIAiBNT8JboB6mIN0WbeAqcIFFbhIkU5lvvmgqZmEMcq4bjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":83394},"main":"server.js","gitHead":"019e8427cf190d7397b234c745806ceac9571711","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.3_1772594435168_0.049175562843222","host":"s3://npm-registry-packages-npm-production"}},"0.4.4":{"name":"claude-remote","version":"0.4.4","_id":"claude-remote@0.4.4","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"d6046ae0ce92566f11d57cd31ab5c2e72261e0f7","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.4.tgz","fileCount":8,"integrity":"sha512-g25wN1tACgRcFDwQKgimQP2EvuWaIl1CCLDbeLsNc3Zvu3iPAbPA4nzzKoc3G21BmuEdWE1mm2BrDwh1+zrVzg==","signatures":[{"sig":"MEYCIQC+/DkBvsHp6IV6K3uZEnIpc6I+Te09IeX7wG0DJbKOIwIhAKeF0va0qjRbcUUxxtJ17byKX1Ln1MuzzpQN61mDUmgq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":84122},"main":"server.js","gitHead":"1ad731c6cc5e1927b0874ce325dc25a51ee9ab11","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.4_1772594759935_0.30433341298085215","host":"s3://npm-registry-packages-npm-production"}},"0.4.5":{"name":"claude-remote","version":"0.4.5","_id":"claude-remote@0.4.5","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"29306ccf7052515ab714258fa121319eac9fa7a3","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.5.tgz","fileCount":8,"integrity":"sha512-XAW1L0QTTZ5MUXDjrjV7vuF9DW52jIFrapUjOz03Oc7E6oql9uyY9Ob9vh6Ao2EUXf+g1iRrXgxM//hBP3HdkA==","signatures":[{"sig":"MEUCID3v8njoAor8YBmhMOcwqcR9o5E+I/qCw2x0S0QFohitAiEAqvFfeJOcpp1ezLZtqPgikTVdDP27IwAVgH/WgQaojkU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":85526},"main":"server.js","gitHead":"2a8f6720bcf5c3766cc22212f307a198ce21e7ae","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.5_1772601048056_0.8870009395605225","host":"s3://npm-registry-packages-npm-production"}},"0.4.6":{"name":"claude-remote","version":"0.4.6","_id":"claude-remote@0.4.6","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"5c51eb56b3d0c20be09f383888abb5ffe41b234d","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.6.tgz","fileCount":8,"integrity":"sha512-ZFVK/C98p89sDsxPfDnfn8eMQrV+Da2E+J/MWkkZahVtraDD8JBQNXLC1LA/Eusz2PDL+XR1Mstjjn66sKejSw==","signatures":[{"sig":"MEUCIAo0WSCqs44Ek1QcZX40x9OBu4MAcPUoO1aOrUQf+SPFAiEArkn5z3QfaaNYf0r5ZJnm0ocGD3idUPj5GrcswvUe1/w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88550},"main":"server.js","gitHead":"2a8f6720bcf5c3766cc22212f307a198ce21e7ae","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.6_1772601992721_0.27275548109068426","host":"s3://npm-registry-packages-npm-production"}},"0.4.7":{"name":"claude-remote","version":"0.4.7","_id":"claude-remote@0.4.7","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"da262a4e2dcc18c7e6ab0ffe6e26043dc7d5ff1b","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.4.7.tgz","fileCount":8,"integrity":"sha512-Y8AQx4eoMGt9ngy2FV93pVh5Q/t9Cqg7sbVPwcd6+q33MLKjiFFQZ24yORyISTs3RaYXPdbA+pohN4hfZk0XKQ==","signatures":[{"sig":"MEQCIH1iPduFYwu1FEUL+lGCCdPFeqQCgw9x6vH/5aLHw/UOAiBuAbC3ROdVp9/HKJr36u9Is6xj+jQD5zBKMqjh9SQZvQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":88988},"main":"server.js","gitHead":"2a8f6720bcf5c3766cc22212f307a198ce21e7ae","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.4.7_1772602414904_0.6266240947974353","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"claude-remote","version":"0.5.0","_id":"claude-remote@0.5.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"6606caab40bba2d805b1969408db11c5d446b84d","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.5.0.tgz","fileCount":8,"integrity":"sha512-REvRDa+14mQG2WugMJ94sLhi37LBlirKp2+t6BDkV/VuRzPSTGRelWPvauFXCk3eODvB8uwuRNHeFH8EuE/+dA==","signatures":[{"sig":"MEUCIQDqaW84TGEQBR5qXBh4oMutVs4VNSYCbFhl0aF55uzqrAIgFq4jJ/9EpocfO2rWoRqPS4rRJZx9YtoaDnRdM+YBKTw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":98124},"main":"server.js","gitHead":"0f43396313c3c20e89877927f89a873fd382e2fd","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.5.0_1772620970543_0.6125799837446297","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"claude-remote","version":"0.5.1","_id":"claude-remote@0.5.1","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"16c77d63c807c6eec10dc5a9db2c4c1edf674564","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.5.1.tgz","fileCount":8,"integrity":"sha512-AZfE9KFGqtxgatFLZSk1Pwgsti4NPJ+KlvkevPR3Pkir+hyEO/NIZqx4S15D7oBjC+RAZIJ20TbdbXiC+Qzo3Q==","signatures":[{"sig":"MEUCIQCwT6AxhQfCbwxizMsNA/eeLcDcLQKee9VIZTbzRkW07QIgNXsJOueXg4n67hJD8Xlu8RH29Ld8BwZTPr6GFhl6zgA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":15915},"main":"server.js","gitHead":"06fe86bae10cbc1cf3d38572a5c1ae954df23a9f","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.5.1_1772698530089_0.9197914534393703","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"claude-remote","version":"0.5.2","_id":"claude-remote@0.5.2","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"9540424dbbc0c3c95fc71a8fff9fe0d2a78c2f8a","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.5.2.tgz","fileCount":17,"integrity":"sha512-FmE8VPGcbUnRP5zFTBBZsSblgn94OBOf5YYIJPW9PtwyFeUbhEiHjjZWGr1n3ihI3t1pe1Lv7wROBSoHVk0v3A==","signatures":[{"sig":"MEUCIGu6oET28Oy4icbOn2Hfb5+o/OhrMKC49L9SMQTgBnLVAiEAkAP/xOAWQ30O0uJphePAGaDL+IhVKC0iRl0hmGQxwWQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":105424},"main":"server.js","gitHead":"897ca91429276db7ad625e516cb78d8983b88c40","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.5.2_1772698821058_0.12504955476426294","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"claude-remote","version":"0.6.0","_id":"claude-remote@0.6.0","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"bin":{"claude-remote":"bin/claude-remote.js"},"dist":{"shasum":"5b333d959cdfcaa813d919fd98b34a922b2e55b6","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.6.0.tgz","fileCount":41,"integrity":"sha512-VkwRzLoeffU9RFuxP9MPDyMx+PhsIIXerQkJ3wABNNyy9IWF3aZSuZZ6UjSYW25eLEPjmUOmrS7qP4Kc68dzkw==","signatures":[{"sig":"MEYCIQCZQw/UT4ZpwbBqCqwj/6tRVhbsBxJuWgaPat/U6iRgQgIhAMOq7nEylRyNtYUsS0bee6hPJXMD9cup0p80Tc4zk6iV","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":335292},"main":"server.js","gitHead":"23af6d92f516430468c345a672130fc74177eafd","scripts":{"start":"node server.js"},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"_npmVersion":"11.6.2","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","directories":{},"_nodeVersion":"24.11.1","dependencies":{"ws":"^8.18.0","node-pty":"^1.0.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/claude-remote_0.6.0_1772766007078_0.6117755120802288","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"claude-remote","version":"0.6.1","description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","main":"server.js","bin":{"claude-remote":"bin/claude-remote.js"},"scripts":{"start":"node server.js"},"dependencies":{"node-pty":"^1.0.0","ws":"^8.18.0"},"gitHead":"d47f648c1064b6dd6018f164e43af1dc7797ee47","_id":"claude-remote@0.6.1","_nodeVersion":"24.11.1","_npmVersion":"11.6.2","dist":{"integrity":"sha512-Drh4lZAuzKpUSY7C6YMbojESRCJ89MvLWZc2SC1FMHj4TKdxh98HD0zGtOMpLr2MSQWqjbt461lmE9garcFaig==","shasum":"a3840817347856b76e3902304aae6f9010d9f056","tarball":"https://registry.npmjs.org/claude-remote/-/claude-remote-0.6.1.tgz","fileCount":42,"unpackedSize":360132,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIDG0HbUTu1M3I3rFw36hlao22hWNDbwJLWKvxN3XH1TUAiEA4ZlMmlopo9nWfQkoJGf04cGfEXLJA6hnA2fygsQ4QsA="}]},"_npmUser":{"name":"rioarisk","email":"zq1156480@gmail.com"},"directories":{},"maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/claude-remote_0.6.1_1774243719642_0.025508443412037396"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-28T13:21:42.850Z","modified":"2026-03-23T05:28:40.327Z","0.1.0":"2026-02-28T13:21:43.012Z","0.1.1":"2026-03-01T11:03:19.688Z","0.1.2":"2026-03-01T11:25:44.421Z","0.1.3":"2026-03-01T11:54:27.828Z","0.1.4":"2026-03-01T12:05:22.049Z","0.1.5":"2026-03-01T12:11:38.750Z","0.1.6":"2026-03-01T12:23:41.472Z","0.1.7":"2026-03-01T12:29:36.733Z","0.1.8":"2026-03-01T13:55:24.751Z","0.1.9":"2026-03-01T14:15:05.885Z","0.1.10":"2026-03-01T14:36:35.157Z","0.2.0":"2026-03-01T14:53:04.649Z","0.2.1":"2026-03-01T15:04:18.190Z","0.2.2":"2026-03-02T05:00:34.727Z","0.2.3":"2026-03-02T07:48:47.667Z","0.2.4":"2026-03-02T15:53:25.321Z","0.3.0":"2026-03-03T13:31:10.163Z","0.3.1":"2026-03-03T14:56:30.459Z","0.4.0":"2026-03-03T16:12:50.738Z","0.4.1":"2026-03-04T02:49:04.618Z","0.4.2":"2026-03-04T03:11:29.196Z","0.4.3":"2026-03-04T03:20:35.315Z","0.4.4":"2026-03-04T03:26:00.146Z","0.4.5":"2026-03-04T05:10:48.235Z","0.4.6":"2026-03-04T05:26:32.868Z","0.4.7":"2026-03-04T05:33:35.088Z","0.5.0":"2026-03-04T10:42:50.692Z","0.5.1":"2026-03-05T08:15:30.233Z","0.5.2":"2026-03-05T08:20:21.219Z","0.6.0":"2026-03-06T03:00:07.225Z","0.6.1":"2026-03-23T05:28:39.776Z"},"description":"Remote control bridge for Claude Code REPL - drive from phone/WebUI","maintainers":[{"name":"rioarisk","email":"zq1156480@gmail.com"}],"readme":"# Claude Remote\r\n\r\n> 在手机上远程操控 Claude Code —— 随时随地写代码、审批权限、切换模型。\r\n\r\n## 这是什么？\r\n\r\n一个轻量级的远程控制桥接器，让你可以通过 Android App 连接到电脑上运行的 Claude Code，实现：\r\n\r\n- 💬 远程对话 —— 发消息、看回复、完整的 Markdown 渲染\r\n- 🔧 工具调用可视化 —— 实时查看 Claude 正在读哪个文件、执行什么命令\r\n- 🔐 权限审批 —— 手机上一键 Allow / Deny\r\n- 🔄 模式切换 —— Default / Plan / Accept Edits / Bypass\r\n- 📱 斜杠命令 —— /model /compact /clear /cost /help\r\n\r\n## 快速开始\r\n\r\n### 1. 安装\r\n\r\n```bash\r\nnpm install -g claude-remote\r\n```\r\n\r\n### 2. 启动\r\n\r\n在任意项目目录下运行：\r\n\r\n```bash\r\nclaude-remote\r\n```\r\n\r\n会在当前目录启动 Claude Code 并开启远程控制服务（默认端口 3100）。\r\n\r\n#### 参数透传\r\n\r\n`claude-remote` 支持将参数直接传递给 Claude Code CLI：\r\n\r\n```bash\r\n# 恢复指定会话\r\nclaude-remote --resume <session-id>\r\n\r\n# 继续最近的对话\r\nclaude-remote -c\r\n\r\n# 指定模型\r\nclaude-remote --model opus\r\n\r\n# 组合使用\r\nclaude-remote --model sonnet -c\r\n\r\n# 指定工作目录 + 恢复会话\r\nclaude-remote /path/to/project --resume abc123\r\n```\r\n\r\n> 不兼容参数（`--print`、`--output-format`、`--version` 等非交互模式参数）会被自动过滤并在启动 banner 中提示。\r\n\r\n指定端口：\r\n\r\n```bash\r\nPORT=8080 claude-remote\r\n```\r\n\r\n### 3. 安全认证\r\n\r\n`claude-remote` 内置 Token 鉴权机制，防止未授权的客户端控制你的 Claude Code。\r\n\r\n#### 工作原理\r\n\r\n1. **首次启动时自动生成 Token** —— 桥接器启动后会自动生成一个随机 Token，持久化到 `~/.claude-remote-token` 文件，并在启动 banner 中显示\r\n2. **客户端必须提供 Token** —— App 在添加/编辑服务器时填入 Token，连接时通过 `hello` 握手消息发送给服务器\r\n3. **服务器验证 Token** —— 使用 `crypto.timingSafeEqual` 安全比对，防止时序攻击。验证通过后才发送会话数据\r\n4. **认证超时** —— 连接后 5 秒内未完成认证将被自动断开（close code 4002）\r\n5. **认证失败** —— Token 不匹配时连接立即关闭（close code 4001），App 会弹出编辑对话框提示修正\r\n\r\n#### Token 来源优先级\r\n\r\n| 优先级 | 来源 | 说明 |\r\n|--------|------|------|\r\n| 1 | `--token <value>` | CLI 参数，最高优先级 |\r\n| 2 | `CLAUDE_REMOTE_TOKEN` 环境变量 | 适合 CI/脚本场景 |\r\n| 3 | `~/.claude-remote-token` 文件 | 自动生成并持久化，首次启动时创建 |\r\n\r\n```bash\r\n# 使用自定义 Token\r\nclaude-remote --token my-secret-token\r\n\r\n# 通过环境变量\r\nCLAUDE_REMOTE_TOKEN=my-secret-token claude-remote\r\n\r\n# 默认行为：自动生成并保存到 ~/.claude-remote-token\r\nclaude-remote\r\n```\r\n\r\n#### 禁用认证\r\n\r\n> ⚠️ 仅在安全网络环境下使用，如本地开发或 VPN 内网。\r\n\r\n```bash\r\n# CLI 参数\r\nclaude-remote --no-auth\r\n\r\n# 环境变量\r\nNO_AUTH=1 claude-remote\r\n```\r\n\r\n#### App 端配置\r\n\r\n在连接中心添加或编辑服务器时，填入 Token 字段即可。Token 输入框支持密码显示/隐藏切换。认证失败时 App 会自动弹出编辑对话框，方便修正 Token。\r\n\r\n### 4. App 连接\r\n\r\n安装 Android App 后，在连接中心添加服务器地址连接。根据你的网络环境，有以下三种方式：\r\n\r\n#### 方式一：局域网直连\r\n\r\n手机和电脑在同一 Wi-Fi 下，直接输入电脑内网 IP：\r\n\r\n```\r\nws://<电脑IP>:3100\r\n```\r\n\r\n> 适合在家或办公室使用，最简单、延迟最低。\r\n\r\n#### 方式二：Tailscale 组网\r\n\r\n通过 [Tailscale](https://tailscale.com) 虚拟局域网，手机和电脑不在同一网络也能连接。\r\n\r\n1. 电脑和手机都安装 Tailscale 并登录同一账号\r\n2. 在 Tailscale 管理面板查看电脑的 Tailscale IP（通常是 `100.x.x.x`）\r\n3. App 中输入：\r\n\r\n```\r\nws://<Tailscale IP>:3100\r\n```\r\n\r\n> 适合跨网络使用，无需公网暴露，安全可靠。\r\n\r\n#### 方式三：Cloudflare Tunnel 公网访问\r\n\r\n通过 [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/) 将本地服务暴露到公网。\r\n\r\n1. 安装 `cloudflared` 并登录\r\n2. 启动隧道：\r\n\r\n```bash\r\ncloudflared tunnel --url http://localhost:3100\r\n```\r\n\r\n3. 获得一个 `https://xxx.trycloudflare.com` 的地址\r\n4. App 中输入（注意用 `wss://`）：\r\n\r\n```\r\nwss://xxx.trycloudflare.com\r\n```\r\n\r\n> 适合在外网或移动网络下远程控制，支持 HTTPS/WSS 加密。\r\n\r\n### 5. 编译 Android App\r\n\r\n```bash\r\ncd app\r\nnpm install\r\nnpx tauri android init\r\nnpx tauri android dev\r\n```\r\n\r\n## 架构\r\n\r\n```\r\n┌─────────────┐     WebSocket     ┌──────────────┐     PTY      ┌────────────┐\r\n│  Android App│ ◄──────────────► │  server.js   │ ◄──────────► │ Claude Code│\r\n│             │   ws://ip:3100   │  (Bridge)    │   node-pty   │   (CLI)    │\r\n└─────────────┘                   └──────────────┘              └────────────┘\r\n                                        │\r\n                                        │ 读取 JSONL transcript\r\n                                        ▼\r\n                                  ~/.claude/projects/\r\n```\r\n\r\n**server.js** 是核心桥接层：\r\n- 通过 `node-pty` 启动并管理 Claude Code CLI 进程\r\n- 监听 `~/.claude/projects/` 下的 JSONL transcript 文件，实时解析事件\r\n- 通过 WebSocket 将事件广播给所有连接的客户端\r\n- 转发客户端输入到 Claude PTY\r\n\r\n## 功能特性\r\n\r\n| 功能 | 说明 |\r\n|------|------|\r\n| 实时对话 | 完整 Markdown + 代码高亮渲染 |\r\n| 工具调用追踪 | 折叠式 step group，shimmer 加载动效 |\r\n| 权限队列 | 批量审批，计数器显示剩余数量 |\r\n| 模式切换 | 四种模式一键切换，彩色状态标识 |\r\n| Token 鉴权 | 自动生成 Token，timingSafeEqual 安全比对，防止未授权访问 |\r\n| 对话压缩 | /compact 带 spinner 遮罩，压缩完自动恢复 |\r\n| 斜杠命令菜单 | 输入 `/` 弹出命令面板 |\r\n| 模型切换 | 底部面板选择，toast 即时反馈 |\r\n| 断线重连 | 自动重连 + 事件回放，不丢消息 |\r\n| 图片上传 | 手机拍照/选图发送到 Claude Code |\r\n| 代码 Diff | GitHub 风格行内高亮 |\r\n| 安卓适配 | 安全区、虚拟键盘、大触摸目标 |\r\n\r\n## 依赖\r\n\r\n- **Node.js** >= 18\r\n- **node-pty** —— PTY 终端模拟\r\n- **ws** —— WebSocket 服务\r\n- **Tauri 2.0** —— Android App（需要 Rust 工具链）\r\n\r\n## TODO\r\n\r\n> 本项目看到 Claude Code 官方远程控制，可惜不支持 API 调用的模式，于是空闲时间摸鱼用 vibing code 写的小东西，目前处于快速迭代阶段。\r\n\r\n- [x] 提问与计划远程弹窗（AskUserQuestion / ExitPlanMode 远程交互）\r\n- [x] 自动审批命令模式\r\n- [x] Claude Code ToDo App 渲染\r\n- [x] 美化部分样式\r\n- [x] 代码 diff 查看\r\n- [x] 缓存机制 —— 避免每次 App 重连全量回放\r\n- [x] App 支持图片上传\r\n- [x] /命令指令及样式美化\r\n- [x] npm 包化 —— `npm install -g claude-remote` 全局安装，`claude-remote` 一键启动\r\n- [x] AI 截图显示 —— 工具返回的图片（如 Playwright 截图）全宽渲染，点击全屏查看\r\n- [x] CLI 参数透传 —— `claude-remote --resume xxx` 等参数直接传给 Claude Code，自动过滤不兼容参数\r\n- [x] 多客户端同步 —— 多台设备同时连接，Working 状态和消息实时同步\r\n- [x] 会话生命周期管理 —— 通过 SessionStart Hook 自动绑定会话 ID，支持 /clear 切换检测\r\n- [ ] Tool Use 状态渲染（进行中 / 成功 / 失败）\r\n","readmeFilename":"README.md"}