{"_id":"@mooncompany/uplink-chat","_rev":"48-660af75eb13f523e3dee9b76b636cd8c","name":"@mooncompany/uplink-chat","dist-tags":{"latest":"0.43.1"},"versions":{"0.5.2":{"name":"@mooncompany/uplink-chat","version":"0.5.2","license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.5.2","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://github.com/mooncompany/uplink#readme","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"dist":{"shasum":"34bafcd3e5215d9a9ed95d886817d88e5821061a","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.5.2.tgz","fileCount":4,"integrity":"sha512-d0xsTQkDY1m4Ji0umLIP4igkON3sYF81MG4rJ0JxsM+1LCUd+f2BwoT5cLiZumD1n8yqLjOva4RB9sOJvOQitw==","signatures":[{"sig":"MEUCIBXhzyiymFz7xmpC2s3WNAz+w9RoW9dQ1/lCeucwLFA8AiEA3e97l48V2713h6MS1mKGb2zAf8d/NjUYBFwf3ntEUBM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":753},"main":"index.js","gitHead":"9f69aa6e33a8a47a69f0249669a3839e4ac8123a","_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"11.6.2","description":"Uplink Chat has moved to a new distribution method. Visit https://uplinkchat.app for installation.","directories":{},"_nodeVersion":"24.13.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.5.2_1771923560012_0.14775136742325223","host":"s3://npm-registry-packages-npm-production"}},"0.32.2":{"name":"@mooncompany/uplink-chat","version":"0.32.2","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.32.2","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"2dc401faa16db5db74f9aa953bcf5dcbd6ca630d","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.32.2.tgz","fileCount":214,"integrity":"sha512-GK7YoP7WBHmsKYJ5Vo2rgtecEa5GCyhluXcvzPCtWGuiBaIkMawJWssqYwEHWzO0S02HRUfW0QNOG41froJfKA==","signatures":[{"sig":"MEQCIEKtM+nTq6AnTvAQcqC+ntYeJpf0fkhFJW9pxG71tmH5AiA9EEspj0NFE5CkXDIue2vk+FTH7JlrnC3xokrahcN2jg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8118422},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"620b50643e2f223e986766913878e695bb3f4a1b","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.32.2_1772169448528_0.0164993006704921","host":"s3://npm-registry-packages-npm-production"}},"0.32.3":{"name":"@mooncompany/uplink-chat","version":"0.32.3","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.32.3","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"465e0f187d22a074760cf63b00cee9193ec92e26","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.32.3.tgz","fileCount":214,"integrity":"sha512-u2Pv82ROHjyGIxd0Fv6rrb9/jd88gvOL9xBwFzb/8G+WThSr3A2kZI/5PqvZ6wLZqiheD6RTMidHcjdVk8q0aA==","signatures":[{"sig":"MEUCIQDPIq3DTnJX5uNQ1CWXf5M94Wg/hp6GVQe7+T0HaU1ScwIgW1WTaBKC6K7j/1gO5+LtOsVbdxeNufoIuolrO65/puQ=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8131546},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"3ad1af54d61bf78967c21ca3bf639f805baf5f47","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.32.3_1772178762259_0.3617651123425991","host":"s3://npm-registry-packages-npm-production"}},"0.33.0":{"name":"@mooncompany/uplink-chat","version":"0.33.0","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.33.0","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"ea618f8ecc10e5f61b6d4944580c9ab1efb31b07","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.33.0.tgz","fileCount":214,"integrity":"sha512-1pNBW2mzn1dvD4hnSNyIc+DaVstl1C9Sp0vJTHZrpVaGe/gH5j/jM5dCQnL9X6SWl1i458CtXdpLZ+RDaNRnIw==","signatures":[{"sig":"MEYCIQDPdJ5zqCIF5RWDCWcBMmfieoNFsOmxrubcUHohb/6ncAIhAKq864GOCyMyGdxgU+Q0OIvTs9lUXJ23W+Mi5JJ6Ldyc","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8113419},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"62c08e373a92c10fa6e299f05d40e5a62cce15e4","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.33.0_1772188273149_0.11116854461818404","host":"s3://npm-registry-packages-npm-production"}},"0.34.0":{"name":"@mooncompany/uplink-chat","version":"0.34.0","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.34.0","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"c120dbea6410bdbf355fc0bd6edeeed7582828ff","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.34.0.tgz","fileCount":215,"integrity":"sha512-xjWjN6IVjJjBw3f/hVdWNefdcey+FTi68iRtJ5MyVDUj0FsC+DcOZ27VnecC+Y5qpVOPlSKH0LUKw7GI8NqW4w==","signatures":[{"sig":"MEUCIQCfvZQ9mH1q5yLikFvfVIhELW42IZkAbI7d2UsGVCoXsgIgLQ5W3iouab0wqMnd5wBBUEoYYsPwnOcjPd/bEp3Lkco=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8221539},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"50b1ff19d1033233072a16e150f689ec3fbb7296","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.34.0_1772355780349_0.9329382791632848","host":"s3://npm-registry-packages-npm-production"}},"0.34.1":{"name":"@mooncompany/uplink-chat","version":"0.34.1","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.34.1","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"3b62f48a61c34072bd181d98992816340b0a2d84","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.34.1.tgz","fileCount":215,"integrity":"sha512-J0Tb1/We5DrVx/XbfkE+YcoM4zvPEaZSO384gSHc6gBU/PECwcn8YLDv1JXoK35MfoHLrCoTxP/8GKagsacR9g==","signatures":[{"sig":"MEYCIQDm0LNfq8me2BL9K01yoxCxSiaftpBDPIabB8G8xo/SJQIhAIkPqoPMn8hJSKqJt0iIDJ5aCzl/hfNV4VGTuhhGfJ5p","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8181647},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"407e6a855a9fbf4c36e6ff89d37c1efc00326e28","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.34.1_1772356144097_0.2165115943495537","host":"s3://npm-registry-packages-npm-production"}},"0.37.0":{"name":"@mooncompany/uplink-chat","version":"0.37.0","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.37.0","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"b5d68223f55c2d607160bae5cca049432c588e1a","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.37.0.tgz","fileCount":215,"integrity":"sha512-cDbKmqpau6cG3SLq0FP6jVs6lYVlwLFuNR5PatBDgRWhcUHW2aUv/B6EMixOe0OQ43z95CPKlEy9k/m05lPKdg==","signatures":[{"sig":"MEQCIBZfvtC1fMIAqJ1EZJKlqraheCVdM8q2B3O3gupaM+aoAiANBNVioUtk09YeGL0r7cKrfLGMIPA1bQr2G0+fZ54+Tg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8285445},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"81f033a5be6c6899620f17eddf65649c690a4d4b","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.37.0_1772427786726_0.007206720891522522","host":"s3://npm-registry-packages-npm-production"}},"0.37.2":{"name":"@mooncompany/uplink-chat","version":"0.37.2","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.37.2","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"9241d3123bcdcb095087d936e6f598322bb140b3","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.37.2.tgz","fileCount":215,"integrity":"sha512-YvnBq3GHala1HRyQx5BQ0ixfzPKP46ayMGN3BpT4SzWz3D48oY2esDm4M4nU6UDf3IlzYw/Mx8gCE4MKRzIGiw==","signatures":[{"sig":"MEYCIQD1oDFyiS2GPjfUMpUZqBxoa+j9jyzAmof1b+ZvB9sgfwIhAP5DnLU3zLvTNj5DPDqTddz2Mf3IxGzwtKfx1JxKeVYP","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8275721},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"b8fa39c90216f0fb658b21643092e45009f8a6e6","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.0.2","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.1","file-type":"^21.3.0","pdf-parse":"^2.4.5","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.37.2_1772438369628_0.011559083988542662","host":"s3://npm-registry-packages-npm-production"}},"0.38.1":{"name":"@mooncompany/uplink-chat","version":"0.38.1","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.38.1","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"36ff8d98282049b967b6fc1735625890471700ed","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.38.1.tgz","fileCount":215,"integrity":"sha512-fBhiJJPdDQTe88phd/wkL8kQfdcCSagjbpW93LOGWNUGEiDEWX3ati0QZktqP0H8EC2TEa/eTaEUtfxStnz2OA==","signatures":[{"sig":"MEUCIQDY13Lw/+FD0Pp1yQg5ScdsZwI0EHBFS93Oidsn+D4jQQIgQq9uUheeOsJQ9WzYjyUGa919l/WMfIiATKN7UODeSIM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8272348},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"e53612bbccfe6d1a595fa28bdc5406c09868f4c0","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1","underscore":">=1.13.8"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.1.1","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.2","file-type":"^21.3.0","pdf-parse":"^2.4.5","compression":"^1.8.1","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.38.1_1772738102503_0.33733586786107517","host":"s3://npm-registry-packages-npm-production"}},"0.39.2":{"name":"@mooncompany/uplink-chat","version":"0.39.2","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","_id":"@mooncompany/uplink-chat@0.39.2","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"homepage":"https://uplinkchat.app","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"bin":{"uplink-chat":"bin/uplink.js"},"dist":{"shasum":"5993b9a7722304f167b0ae193cbf6d41a4f7f94d","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.39.2.tgz","fileCount":245,"integrity":"sha512-2iJCmQxXdCjCRCMm8ZWo7M2fWvos9Kw8kYnxM7N6xd9W5V7A3+PJIojPAspVnFe88L/y07O2xOwIF8u+6g96Gw==","signatures":[{"sig":"MEUCIGLrI44Qt9f88Ahg7+geYWYtmfzFlzwBzTU8PEyj4uTuAiEA2s0TB00hvppG4Eija+Bvk/LcUnd/5YzhdkCGgzuPtmw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":8457434},"main":"server.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"baeec1b1639888e6ae3b4db50516bc5d778cbc0f","scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"overrides":{"ajv":">=8.18.0","minimatch":">=10.2.1","underscore":">=1.13.8"},"repository":{"url":"git+https://github.com/mooncompany/uplink.git","type":"git"},"_npmVersion":"10.8.2","description":"Local-first AI chat with voice — talk to any LLM from your own machine","directories":{},"_nodeVersion":"20.20.0","dependencies":{"ws":"^8.19.0","cors":"^2.8.6","dotenv":"^17.2.3","multer":"^2.1.1","exceljs":"^4.4.0","express":"^4.18.2","mammoth":"^1.11.0","web-push":"^3.6.7","dompurify":"^3.3.2","file-type":"^21.3.0","pdf-parse":"^2.4.5","compression":"^1.8.1","@tabler/icons":"^3.36.1","proper-lockfile":"^4.1.2","express-rate-limit":"^8.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"optionalDependencies":{"sharp":"^0.34.5","canvas":"^3.2.1"},"_npmOperationalInternal":{"tmp":"tmp/uplink-chat_0.39.2_1773016873762_0.21805355439123986","host":"s3://npm-registry-packages-npm-production"}},"0.43.1":{"name":"@mooncompany/uplink-chat","version":"0.43.1","publishConfig":{"access":"public"},"description":"Local-first AI chat with voice — talk to any LLM from your own machine","type":"module","main":"server.js","bin":{"uplink-chat":"bin/uplink.js"},"scripts":{"start":"node bin/uplink.js start","prestart":"node scripts/build.js"},"repository":{"type":"git","url":"git+https://github.com/mooncompany/uplink.git"},"keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"homepage":"https://uplinkchat.app","dependencies":{"@tabler/icons":"^3.36.1","compression":"^1.8.1","cors":"^2.8.6","dompurify":"^3.3.2","dotenv":"^17.2.3","exceljs":"^4.4.0","express":"^4.18.2","express-rate-limit":"^8.2.2","file-type":"^21.3.0","mammoth":"^1.11.0","multer":"^2.1.1","pdf-parse":"^2.4.5","proper-lockfile":"^4.1.2","web-push":"^3.6.7","ws":"^8.19.0"},"optionalDependencies":{"canvas":"^3.2.1","sharp":"^0.34.5"},"engines":{"node":">=18.0.0"},"overrides":{"minimatch":">=10.2.1","ajv":">=8.18.0","underscore":">=1.13.8"},"_id":"@mooncompany/uplink-chat@0.43.1","gitHead":"4c93e6e9af7b5d7a8b41da12149996d13c631459","_nodeVersion":"20.20.1","_npmVersion":"10.8.2","dist":{"integrity":"sha512-N7XJyrkF/QtlTeXRctbQP7oeNQfdCIVOuJWzJT8HJ04cpFxlIhh70d4IIw9sXYEfj5h9tOGJXwo3QRw7MVR2Ng==","shasum":"ea62ae76f3c157cdaeac10b2d68c6ec8f146b3ea","tarball":"https://registry.npmjs.org/@mooncompany/uplink-chat/-/uplink-chat-0.43.1.tgz","fileCount":247,"unpackedSize":8754078,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIBgNIfMvOVE9i6v8gODoFq5/wxwUHGW/wgnBgjASViaFAiB+FV6lc+QZFTZ8JSza3l3pBv3oNJLnOUo/7awCRCSnMQ=="}]},"_npmUser":{"name":"na8stradamus","email":"nate@moonco.pro"},"directories":{},"maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/uplink-chat_0.43.1_1773617396259_0.04931911626769203"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-17T03:06:31.225Z","modified":"2026-03-15T23:29:56.615Z","0.5.0":"2026-02-17T03:06:31.680Z","0.5.1":"2026-02-17T14:58:18.327Z","0.6.0":"2026-02-18T23:55:45.068Z","0.14.2":"2026-02-19T15:58:41.589Z","0.15.0":"2026-02-19T23:33:40.280Z","0.16.3":"2026-02-21T04:25:03.108Z","0.17.1":"2026-02-21T05:20:56.867Z","0.17.3":"2026-02-21T06:49:40.277Z","0.19.7":"2026-02-22T06:58:26.262Z","0.25.1":"2026-02-24T08:37:25.186Z","0.5.2":"2026-02-24T08:59:20.149Z","0.26.0":"2026-02-24T15:21:10.845Z","0.28.1":"2026-02-25T09:46:39.680Z","0.28.3":"2026-02-25T15:20:40.443Z","0.28.7":"2026-02-25T16:10:50.032Z","0.29.2":"2026-02-25T18:39:40.898Z","0.29.4":"2026-02-26T01:42:50.752Z","0.29.5":"2026-02-26T01:53:00.059Z","0.30.3":"2026-02-26T08:56:38.914Z","0.32.2":"2026-02-27T05:17:28.844Z","0.32.3":"2026-02-27T07:52:42.537Z","0.33.0":"2026-02-27T10:31:13.429Z","0.34.0":"2026-03-01T09:03:00.645Z","0.34.1":"2026-03-01T09:09:04.345Z","0.37.0":"2026-03-02T05:03:07.053Z","0.37.2":"2026-03-02T07:59:29.886Z","0.38.1":"2026-03-05T19:15:02.779Z","0.39.2":"2026-03-09T00:41:14.132Z","0.43.1":"2026-03-15T23:29:56.496Z"},"bugs":{"url":"https://github.com/mooncompany/uplink/issues"},"author":{"name":"Moon Company","email":"hello@moonco.pro"},"license":"SEE LICENSE IN LICENSE","homepage":"https://uplinkchat.app","keywords":["ai","chat","voice","tts","stt","local-first","assistant","openai","llm","openclaw"],"repository":{"type":"git","url":"git+https://github.com/mooncompany/uplink.git"},"description":"Local-first AI chat with voice — talk to any LLM from your own machine","maintainers":[{"name":"na8stradamus","email":"nate@moonco.pro"}],"readme":"# Uplink\n\n**The chat interface for [OpenClaw](https://openclaw.ai).** Self-hosted, encrypted, with voice — access your AI from any device.\n\nUplink is a lightweight Node.js chat client built for OpenClaw. It gives you a private, encrypted interface to talk to any LLM that OpenClaw supports — OpenAI, Anthropic, Ollama, local models, or anything OpenAI-compatible. Add real-time voice chat. Access from your phone, tablet, or any browser on your network.\n\nNo accounts. No cloud. No data collection. Your conversations stay on your hardware.\n\n## How It Works\n\nUplink connects to your [OpenClaw](https://openclaw.ai) gateway, which handles AI provider routing, model selection, and agent orchestration. You bring your own API keys, OpenClaw manages the connections, and Uplink gives you the UI.\n\n```\nBrowser → Uplink (localhost) → OpenClaw Gateway → AI Providers\n```\n\n## Features\n\n- **Any LLM** — Whatever OpenClaw supports: OpenAI, Anthropic, Ollama, LM Studio, xAI, DeepSeek, and more\n- **Voice Chat** — Real-time text-to-speech and speech-to-text with multiple engine options\n- **Encrypted Storage** — Optional password protection for your chat history\n- **PWA** — Install as an app on desktop or mobile\n- **Satellites** — Connect multiple AI providers and switch between them on the fly\n- **Agent Management** — Create, configure, and route between OpenClaw agents directly from the UI\n- **Agent-to-Agent Communication** — Agents can message each other through satellite connections\n- **Dashboard** — At-a-glance view of conversations, agents, and provider status\n- **Split View** — Multiple conversations or panels side by side\n- **File Uploads** — Images, audio, video, PDFs, DOCX, Excel — attach anything to messages\n- **5 Themes** — Midnight (default), Daylight, Ember, Forest, Noir\n- **Keyboard Shortcuts** — Full keyboard navigation\n- **Mobile Ready** — Responsive UI, works great on phones via local network\n- **Structured Logging** — `LOG_LEVEL` support (debug, info, warn, error, silent)\n\n## Prerequisites\n\n1. **[OpenClaw](https://openclaw.ai)** installed and running\n2. **Chat completions endpoint enabled** in your OpenClaw config:\n\n```bash\nopenclaw config set gateway.http.endpoints.chatCompletions.enabled true\n```\n\n3. **Node.js 18+**\n4. A browser (Chrome/Edge recommended for voice)\n\n## Getting Started\n\n1. Install and start Uplink\n2. Enter your OpenClaw gateway URL and token during onboarding\n3. Start chatting\n\nAll settings — providers, voice, themes, encryption — are configured through the web UI.\n\n## Voice Engines\n\n### Text-to-Speech\n\n| Engine | Cost | Setup |\n|--------|------|-------|\n| Edge TTS | Free | Works out of the box |\n| OpenAI TTS | Paid | API key via OpenClaw |\n| Coqui XTTS | Free | Local GPU server |\n| ElevenLabs | Paid | API key |\n\n### Speech-to-Text\n\n| Engine | Cost | Setup |\n|--------|------|-------|\n| Browser STT | Free | Built into your browser |\n| Faster-Whisper | Free | Local server |\n| Groq Whisper | Free tier | API key via OpenClaw |\n| OpenAI Whisper | Paid | API key via OpenClaw |\n\n## CLI\n\n```bash\nuplink-chat              # Start server\nuplink-chat start        # Start server\nuplink-chat start -d     # Start in background\nuplink-chat stop         # Stop background server\nuplink-chat status       # Check if running\nuplink-chat --port 8080  # Custom port\n```\n\n## Remote Access\n\nUplink runs on `localhost:3456` by default. To access from other devices:\n\n- **Same network** — Use your computer's local IP (e.g. `http://192.168.1.100:3456`)\n- **Anywhere** — [Tailscale](https://tailscale.com) for a private encrypted tunnel (recommended)\n- **Advanced** — Cloudflare Tunnel or your own reverse proxy\n\n> Microphone access requires HTTPS or localhost. Tailscale provides this automatically.\n\n## Troubleshooting\n\n| Problem | Fix |\n|---------|-----|\n| No AI response | Enable `chatCompletions` endpoint in OpenClaw config |\n| 401 errors | Check gateway token matches in both Uplink and OpenClaw |\n| Mic not working on mobile | Access via HTTPS (Tailscale) or localhost |\n| Voice not working | Check voice settings — Edge TTS works with no setup |\n| WebSocket 1006 via Tailscale + WSL | Install Tailscale inside WSL, or run Uplink on Windows directly |\n\n## License\n\nProprietary — [Moon Company LLC](https://moonco.pro)\n","readmeFilename":"README.md"}