{"_id":"opencode-collaboration","_rev":"35-302480366bd055f4911fc8718e5de42e","name":"opencode-collaboration","dist-tags":{"latest":"0.12.4"},"versions":{"0.2.3":{"name":"opencode-collaboration","version":"0.2.3","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.2.3","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"76d986427547a0510609f41788cf1df69f3b53ac","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.2.3.tgz","fileCount":47,"integrity":"sha512-4fsuEKWSuCAreKhijMM9CGa0UHyezQgFw7of2H636MjhtHm5xGpqoztS2ysGQFOTPNUWS3n815deRhmRFhS6Ug==","signatures":[{"sig":"MEUCICPwGuuiCeGq4tNkIorftYdFOY+Y0axM4NrOhi98sHouAiEA0hdlbyNRTbd9irr+4VvbgiKG06lU03ictbWbUsYzoho=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":227488},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"00d32c9040fb2d6cc7135379e68ba3de38eba9d0","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.2.3_1789096796296_0.47424573931248903","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"opencode-collaboration","version":"0.2.4","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.2.4","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"d70f5f8a342d116f39d83fb70249f49fed9a9b76","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.2.4.tgz","fileCount":47,"integrity":"sha512-zVah7zGAz7rGIzCaawUv50kO3S3BJWGTlo7EWknQ7yPbCDM6qaL8jXm5f59L27ZKgopXAwaUU1RjR7cyuKnghQ==","signatures":[{"sig":"MEYCIQD7TcistWEiP4o1u0HYTbFRUZ6F7k73gchptBEZuR7ffwIhAPS/kAWmdTfwLdgCdxn46zPKIjWLji2UboJhj1kWKthe","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDtY7kXl5SyIPoiH/KakxK0yufRgu8PA/CwzlLj1i6XagIgLew5LHPWgh/Yo60W6PPjsM4eHbd1b9LQnL+XYhbagMs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":226331},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"41853df76ea20d8718c673538f3dda34874484ff","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.2.4_1789097571443_0.28437323193913144","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"opencode-collaboration","version":"0.3.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.3.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"70302cb6cce4f821405c2610c417ecf25d4ea681","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.3.0.tgz","fileCount":49,"integrity":"sha512-ql5uCp4ayLT4uAoXQtG9MsmmrUIHOWuZXWelQg2nQ25zEqqUJssCoFq3tqDnl8jhTzejThDkHAmwyLj1TSckLg==","signatures":[{"sig":"MEYCIQC9cyE51ljURhEZE9IpH9KSvX9VQJ9REfJvHUYgLRIw+AIhAP1eiTFf8Z8R/5APKG09UD5RT4+JyK7dnLZGdXU9u9Eb","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEGgwwUnjz5L5Efah5IVAv+ptP+QO8JvkpyheKaNaGjXAiBVTZVFHaYxXt1Hcb6LrVp53HKODKL2rvxwmm/cTQUxdQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":231905},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"85d36a1c2bb104f3cfb889e3c81d5c21d2012fdd","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.3.0_1789100048612_0.8298819101544428","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"opencode-collaboration","version":"0.4.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.4.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"0d4b2abaf9f7a6c05a5afb0537162d06e24bbbe3","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.4.0.tgz","fileCount":49,"integrity":"sha512-j564X4D2WaK6UNj6U1R8vJxqa0hB9N/ETJEG0NOa/iDMgcaDHgINP1vdCyW1raWOAPdY+53AT8vWmtFOBXYW2w==","signatures":[{"sig":"MEYCIQD9lCSQtaZcsIm8x3+oYwCSIL7GPvgWjpZ8UrqdK+mhpgIhALt1JKS3RxgMDiIwRy+1bfXE0hjLHpoIZl8ux+N1M5UO","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIA3BWtRmVYErg5vQeQ6ObSLup1MgVfkaimcw9wI5+4J+AiEA1w63dBz2tDvi5aSfFcFSy5T5FeryuaFgcmKUxNln85w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233018},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"2d8854b9d28b715376921efa5032c7fb0fde94fe","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.4.0_1789101375099_0.20387086483658923","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"opencode-collaboration","version":"0.4.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.4.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"4bbb570859ad4237a5decefedc6a8aba27706e54","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.4.1.tgz","fileCount":49,"integrity":"sha512-iNlqyi/yVrL3ymfi2NbhGpPwHfxewPwcmixu4gOQcsICh1fzMCdSl25hTe1rGImgz24uryVsMVaMUwFTU2Wp7Q==","signatures":[{"sig":"MEUCICyzzfHzPI8tANtKijxX1SWcKPfqYOnc184FcUEJEtDLAiEAu717IPKSqGJwbA5Fff/oQKd7Kw/chgC0SgVxDTBtpPw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICWkx8hOFJ4jZpJ4Ncgjy717RonKq2Hkm/THE0oiHiNIAiAQmdeXFKvyMcpBRw+oZbt0XjOYrgaoDDnOKlwhR4JOfg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":233544},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"e1fe70eb49b17a5fb2fe275e9384c28d3679bde9","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.4.1_1789102486345_0.6436717079309255","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"opencode-collaboration","version":"0.5.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.5.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"b54eb8b14ef63da403627ea9030bf81e56b67287","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.5.0.tgz","fileCount":49,"integrity":"sha512-f/u7HZf1AZYqyaI4q+HeoD7ntp0vVYA32az2iEiQioUAymmCUxWJjcOECTTa3flqml5GfpzGvS+9Su1hiu6F5w==","signatures":[{"sig":"MEUCIGrb2g77idLZrwVN5LiZlOeMGRVV6wy1qrxdACFd2foiAiEA7aRCyDKAkXbbjJngJOd1OyP0JTF12RbIoLPMvk+PxCc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIC/zmJsYvC9DSuITCoJtoGXhROYKreUmmwGSVi7L8K5eAiAfry9HmdJHWOMa+3tumL1PavWduXFh+fNk1364kvlEtw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":236855},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"6d2ceb327e5319ddfe08a87f04c73a371084ad07","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.5.0_1789108008081_0.3282016250652722","host":"s3://npm-registry-packages-npm-production"}},"0.5.1":{"name":"opencode-collaboration","version":"0.5.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.5.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"dea43c423ffc216829ce03b7fb9f8d223c895560","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.5.1.tgz","fileCount":49,"integrity":"sha512-MiAxj7/wwetcuXYMMai809EJKJWxNFKKnUxpeOeO6pbvg5PAVKDfJVt7YDaDRk8WHMHQ5Jc9IDZmBZT7F7dDkg==","signatures":[{"sig":"MEUCIQCU6RC6Om0XnzeOhf4w2Up5WbYJ8bYMseTGlBNmfrMPOgIgesTMnLcDGMibAgU9fuzPVqUIdCgLPpDfosq71lyozuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD/9BFWLmUvXIPQE1u8P3vzxw/DbZiRuXrPJvgLfe2wNgIhAM40mrGkDY8W9G9YbFwBQfrPqBoSZK0TRuUTPyifTWym","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":237351},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"e903ef3bc3eb0c938c6ad7d36aea0dc11f09af1b","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.5.1_1789108497334_0.7588951547709288","host":"s3://npm-registry-packages-npm-production"}},"0.5.2":{"name":"opencode-collaboration","version":"0.5.2","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.5.2","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"f0f8834514bc92ec60ee1c98bb57313b62d8391f","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.5.2.tgz","fileCount":49,"integrity":"sha512-AMjYCJhzrM8l7QSyTiCkxxl7v3LSFOivKIyQelYyvN4CSD244PwKI2Dee2awx0S+jJOAW20uZOa128ETFG/+kQ==","signatures":[{"sig":"MEQCIFEonTr4Rklyd/U/MULq+7eGnyPYIa1f7zjD8NyOiSr6AiBe55499uabUWKEjvXwW73i4I7BnUE5gCFsxgbtMjrkPw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIFUs6KSGvTIsoOoYLnozXRI7su9/0XtlcDB5eduCWz8dAiA8BQzvz8bxRjHWGmqe65RRBL5sw6EpjCS1Rz57aSEfOQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":238316},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"a56518c30c4bc04d13e9092e0924988b6acbcbd2","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.5.2_1789109508125_0.8858226055857061","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"opencode-collaboration","version":"0.6.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.6.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"a0d4b95673683d54eda904b5dfa60f2792966d79","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.6.0.tgz","fileCount":51,"integrity":"sha512-qXGxc1eTXQtWLHxP2XBCmcL6c427oDqaK1XMBAdNfxYYaomGNAkLP5i1eHxuIHWopw62SlmBIj8doZE5VMqXgA==","signatures":[{"sig":"MEUCIFKArG06zO2AOaJ4uZwjw09Q4ulbQ/GzKNkVfjyV2noBAiEAtw1RpInwqCHK1w/iUgjyPdyEsqBQp/m12DEwZmybHUI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDipa6s05TN/CoC/b9X+iGLl5uqexr9Nmz0hq/+Tf/dqgIhANvGpbsJSOaUpk0ZmhR4BCVvn7zJIlGQhcXaB9Q5fb/V","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":242104},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"2b6d2c7e3a923e007d5ce51cd4b5b34acb238afc","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.6.0_1789116365472_0.2440678761000712","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"opencode-collaboration","version":"0.6.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.6.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"b0c87259ae550485c6695fca8676af4135b33f26","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.6.1.tgz","fileCount":51,"integrity":"sha512-ikP4kpB3lc1r5qbxuM4F/6GnI3np+NXqZ040dkOOPA/budDMqZIJEnhWfrpYJLGPlwwzfdB9iU/8g2PDLPvvRQ==","signatures":[{"sig":"MEYCIQCAJLYkRCE6+xXpMD+OUx4tCujL0nk0k/c0Jx/nSwLZegIhALqWRhIqyBx51oEAKSxOeBUorkFbeDaLGaKMgHMKioa9","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAerXwahtLeO5ycH3sb4yZEBHlsSt8RzVm/YMNK2mUtFAiBud7RYg0T+lq25LSF3MsjVA43v+lDNpradgkSJy7vI+A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":243545},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"40a404f3734270ae6c5664d2214df0b378d025fd","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.6.1_1789119604547_0.11769426860970844","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"opencode-collaboration","version":"0.7.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.7.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"561ea9c49eccf08c746130b6ec8b05e437cd9bce","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.7.0.tgz","fileCount":53,"integrity":"sha512-YZk49iMc4g+zEhm+yaahjAOB/8OP9GN6Evjzcj90MQEGUAw0ayyjMsyJ4vcZIAh+CrTySWl6zMXp1wA1NEqlaw==","signatures":[{"sig":"MEUCICaJYmfF6jPjoPgnz+VrXc4wdtyyqY3Ak3jtlzgdg998AiEA7pkk8VM9RldMMR57lUlAWPL+dz0SChRHtp0GUTV1DB0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDsnroW67zSuHVARbkj1UksRK6cxzbZIMgMuNiRqQanEAIgS402Pp4ZV5Kv37ZC79mVI3y5EHHYNBB9yyBfquhGKjE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":249169},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"52316c1e807e12fe115f9eed8ef1366f8eaff49d","scripts":{"test":"npm run build && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.7.0_1789121023043_0.8541719705469963","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"opencode-collaboration","version":"0.8.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.8.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"20fe7e8072c72b2da54a46dedf1ab1494184c466","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.8.0.tgz","fileCount":53,"integrity":"sha512-xCF1tmyCpU1y6nHyZhNMdlXOGhjqQaDRAHlEwlykxn6ncoBi58Y6TpjmDCVEVq+JKy246IyVQaVLSNbbraE54A==","signatures":[{"sig":"MEQCIBM0Gq+aQm5KTQlIhgA84ZP3XwdZeWWWrGoIsYaVfw4hAiAnIFR1O+zCbUgbEaGld44n8Wk4wPmDtJOJw3KEP4QIVw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEZISRKuf8sUe8RLr8fuwGEbYVRce6reNUBn37/MoD73AiBa55qlmCazRdrWBfZYrXsMkMcfFH+gKLYciDXjEDV4EA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":250141},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"04015ec3758c1d441c4236b9b173a52a5e2e6065","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepare":"npm run build","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.8.0_1789301038144_0.8601970224200028","host":"s3://npm-registry-packages-npm-production"}},"0.8.1":{"name":"opencode-collaboration","version":"0.8.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.8.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"f832d9d3e9f75f954c7fd4113650d69bd1547431","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.8.1.tgz","fileCount":53,"integrity":"sha512-Wrd+SljnEFSU6tz0wv7XlkYB+doIZUMLr5vnpbBpm+6eeYM8X/WnPk58jprt0Hp58XjsYDRZmAAwm8aYSifJGg==","signatures":[{"sig":"MEUCIQC9mJYSjt5yemGu/SQUfY5Y8yrlaeFcvSuXqSPfkw23aAIgEprIH3oFZBgfD9itZmA1CfjNeSfB5ASDyTYIo6gLbSA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDazNc1VKYw4SqsJwuWO0NKUItbwb67pL+Ub4gqBgy2QAIgA+TMu+e96V5jvDGIiybiMCo7kmqFD7+u9A+IfWPun04=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":277597},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"206505b6ee3424f473ed7face598c3d26af69672","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.8.1_1789302177667_0.5688073832582397","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"opencode-collaboration","version":"0.9.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"8e8daea0e0a3732967649f056e4966d46b3f1e11","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.0.tgz","fileCount":55,"integrity":"sha512-40Th+ms1MSXWEOqc5h1Nl9X5iRpj2NfmakDiECDE7Dl+3J1H+NIPdSxi0s6yAJXK38rsXni0+WLLFsWf1eyN8Q==","signatures":[{"sig":"MEUCIQCQ3mBErg3CKulj52pOr1VQYtA/dvoz1cSs3npw8p8VVQIgXnwsyiG8odLr2tnqHoE847d90v/kAonMF0NvUuTvOik=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHB0kCSsxOctu+YDEmnG7r9cYPW6eccA7JOOCQY7dQ9DAiEAlUvYYUHl1J+sV0IlaVmnUghDY3amlgn68kedg6taE+s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":297009},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"de42d1ac7c89f15488a454e9f53d6ccd0abca676","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.0_1789309867442_0.23178850233880688","host":"s3://npm-registry-packages-npm-production"}},"0.9.1":{"name":"opencode-collaboration","version":"0.9.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"2339065d36aa9b28c082eabf27d4f70b36875640","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.1.tgz","fileCount":55,"integrity":"sha512-Ty+C7l2zIrhB/zl+WOA9SiFV+3PFLP/ymKHTmoR8AP5FGjNZ0l1o6sJWl+enBi07uB3WqR834NaU2/351fmnBA==","signatures":[{"sig":"MEUCIQDTFRyXuQJQqohK896eZkkZ7N4g6d/LAEaQ1iRwDB9UowIgfuH9vVaDMwu6d3e7h/yxFALRg+MlYC1ETRk0GZPtJWY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIE6GeyVMiKdqhVXKZ0FuUPNGtoxyqrb3hW907VwRqJMgAiEA4OqrSTAHOGA5v9esN3qRtW1VCmTaIoTUeF7RQDvurNw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":298489},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"9ff0c054c91a821d1aa8be9ff28cd158130cca94","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.1_1789350158532_0.8637893185804826","host":"s3://npm-registry-packages-npm-production"}},"0.9.2":{"name":"opencode-collaboration","version":"0.9.2","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.2","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"b06aebcd91401380255ce2969de69bcfe994eb66","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.2.tgz","fileCount":55,"integrity":"sha512-wzpWzusdHueNJwx7xKRcgb/uo1X8D3VS9jJ0gDH6q3vwnkDE+bz08wsLMs74yeJQsRR6nVt+KLp+WnwfIP8+6Q==","signatures":[{"sig":"MEYCIQCp9SA4m7a5rvywPCvHzDupLqPcOtJF0cuT94bQapdmtgIhAI/XKemq5wR9VWQ5eT1U3ITsuK1RRwFHtDk7BKNtLBLt","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAw9j1wu3svImkQRShdiKv/KkphJaXDcpbA2nhU2XUh4AiEApJuWcPZPc35r/8gxHJRrL8fESZoBZiMpWbZnZZY8cqk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":299075},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"90139c06c95a510598e1a87fc4aa9e8d6fa096eb","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.2_1789351223567_0.08050029605414899","host":"s3://npm-registry-packages-npm-production"}},"0.9.3":{"name":"opencode-collaboration","version":"0.9.3","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.3","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"43fa041aff1ade7ccce2db0571cad39bf4ba451f","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.3.tgz","fileCount":55,"integrity":"sha512-4+lilA0qahRlmx+sr7q4ktJQO9QzL3EUJ8sqnosz9Mpa+ojghwGrb/M5DXqmwJ3wcxvcWJg0OHCm8NjnOK6j8w==","signatures":[{"sig":"MEQCIE+gHAvkDnMz4J6o5xDaOGsnCkZuc5AL4D2vpc6EqBduAiAIGHvCd1WBbIIWKQZXf0DjmOCs6cswa3OChkZopWUv7w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDqan210qACq1l0i76Dth3PL0pU+5vxumlWzkNmIm3NZAIgVCKxEGV9CpkudEtbsYlk3WEXFs+AIclsu6ie7VVNOi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":301463},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"a59355a2045b56c86fdbef081d28860a6dd62256","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.3_1789355575118_0.5570702413729021","host":"s3://npm-registry-packages-npm-production"}},"0.9.4":{"name":"opencode-collaboration","version":"0.9.4","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.4","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"14715da9867266293cda42039a2442eb9c37ff03","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.4.tgz","fileCount":55,"integrity":"sha512-77VzQGX8RH9gqcPQwPhMwwCeOJIHMPFfx2tKSIMufs8tpq12ln9W6RTu/y5G9ZpjyZDAXCzoLd+bSCd5iq0DKQ==","signatures":[{"sig":"MEUCIHeFqQFGZQOUiID2++RS28yHO9FtBKWQYVC7F9pXY0y+AiEAxDdV11O7vo8+/HvQEeWgExot9EaT3S7xSqVPdbR4QJo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIBfUcdRsT0ilUapa4FnFkOe6N1Po2J9vvEoJ3kF56EdWAiEA99okgoIkLIZkTw9DaS31SP81ee/zF92neEkxqGhZev0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303834},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"8a6f8e89db2e2d10e9334ddfd66f77fb00d23827","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.4_1789358411594_0.984624834878906","host":"s3://npm-registry-packages-npm-production"}},"0.9.5":{"name":"opencode-collaboration","version":"0.9.5","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.5","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"06136c535cb2cd114c3142ac62ca74eaa08965e8","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.5.tgz","fileCount":55,"integrity":"sha512-xbL56dW7rznu/QSzB54R6Q5fPIejbpx0TsXMJgGEqE9KTJ2JBO8e27Zc3duTl2Gt3Ap6Aba7hT3/Bb8jo4ks4A==","signatures":[{"sig":"MEQCIAl2aeqoR3X8v9cnvPLdiAGbnPOOIkKLOev0HglpbBsxAiAxCWu5NZSarjAzEO9qw55TBlFwdcHY65hBGgmacb99ug==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDiM3fprRy43QyW6k9eftpXe1KMda5pBioeAUSA5L1+mAiAOX9rpdINnOYhp5ITAw1dWhPkLDu0oy5S/9frvwbvKSQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":303903},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"5d798286425103451e24e64f0ba5305877686f98","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.5_1789362950471_0.6067147469672132","host":"s3://npm-registry-packages-npm-production"}},"0.9.6":{"name":"opencode-collaboration","version":"0.9.6","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.9.6","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"c6638eab5689709c3e50969772ea43ab9fe952d4","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.9.6.tgz","fileCount":55,"integrity":"sha512-ibIeQC2UzLrG9IeclGVXFz4T6+PbFhSRHAOGEgfecRhG/7zDwuhAPOgmBnrPAsiSQ497L9QaB86XqLKNe7pQuw==","signatures":[{"sig":"MEUCIAxtGS7lqr2htBAGZHlZ6/XEbCMl45LmJrNosiXQBD4vAiEAhHpsuebdW/qSH+Dor+2Ug9+/UOzIsyqY62EhH81JuC8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICMcJUeeoulxRE7uje0NBGI73M92Yo4fAqH+oaE4haGKAiEAqetC6a/WgOCfsQP9YWO8qmRIi15mZEqBgWMv4wEGtUA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":305267},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"83d460b096047b8fc5aa9ac0eaa1f124146b2626","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.9.6_1789368500767_0.46541175299563653","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"opencode-collaboration","version":"0.10.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.10.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"c8c733dc3e098a678f3ea7c05f8a9a25f255a1a6","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.10.0.tgz","fileCount":57,"integrity":"sha512-X3fnh4RnIrdJnsEoRWBw/vG+HE/12CL8FEiaPItKX77ibYZqRI3Bzs4goMSgLFpOiQrCZg9lAFsFOYh93vfL/Q==","signatures":[{"sig":"MEUCIHcy01btklQbbSwTanYpD718viNxWT5SBSJb/n1rsdyuAiEAuK01a5N0/2aWumlgAPwY6AKCYXqq3D7AQrdfY+569Kc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDH1f7RDYcjuMKEPt4Zh1HGXWBQggs9Z99Hd7S1b0c9IAIhAI1YpTg8OezmbnS8ErDw+s5n+ANJr/41bAPaKMuKFMzx","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":316484},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"bbabb99c5374351e272a25362c331ec9498233ed","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.10.0_1789375138367_0.5662179877556586","host":"s3://npm-registry-packages-npm-production"}},"0.10.1":{"name":"opencode-collaboration","version":"0.10.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.10.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"d93df294a07e9f854cc2d421e8d6de0c5025b73b","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.10.1.tgz","fileCount":57,"integrity":"sha512-KLmelrTREeJlYjGaotjhHwvAKZsbxKH1/YZKPdi8o9TSzhwX/jNH/76BZZ2WAeI/NjjNWAV4KC8Pns+Wpa4B3w==","signatures":[{"sig":"MEQCH2yygROYSMtmUqXBb2Edg3O9qDtmu8PztxGzjBT3uMACIQC4+VlIQcpOxP/zylQOD6j0Yb99+frNmDwcRk7svhpAng==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCVra04N1i3ZoHGBjPxH2h2UgUSCM7/aUlpSgkAaDm5bAIhANRWcrKAsPy1oX+9oQAabifL2oqoI2CAUwsLezhWWXg5","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":319650},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"a7721106cfbe6360e6e3f8d242eab663f0b539cb","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"deprecated":"Rewrites other sessions' titles on restart/title-sync: a session adopted for delivery only (shared spool / directory-global session list) was treated as this process's identity. Upgrade to 0.10.2.","repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.10.1_1789377862078_0.3058024214217472","host":"s3://npm-registry-packages-npm-production"}},"0.10.2":{"name":"opencode-collaboration","version":"0.10.2","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.10.2","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"978d2261afe26985c9c2fe199001f91dfc765c41","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.10.2.tgz","fileCount":57,"integrity":"sha512-HToCUIDewiQW92ShGFsd6IB3w4a4SvJiJJEsjDdfc41YLAp98tGOnTBCg218BKK3ljS8AQq1SMFxL2gsxQQpPA==","signatures":[{"sig":"MEYCIQCyU4IJuZmVgnmgxDTUhIqRDgzDoW785hSIbsN4UwRdfQIhALs2joRfoI/u4oorP7ZOI0+OfQUcmWl07AZta2YGRlg2","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQD+I7NE48pGSnmHZI/kq7GzCMUI3qDHkdeKKNj9xCBVGwIgTe+6MUfsmFJqf84MGU7MZayjvNruE2CQ3ZU36zbaJ/s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":321228},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"8cd64f85fd22fa8fe54bc5ed1d5e2d450091f17e","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.10.2_1789381213840_0.07318882694028628","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"opencode-collaboration","version":"0.11.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.11.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"347e1297a596061073442b6d86245e84102c9977","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.11.0.tgz","fileCount":57,"integrity":"sha512-D/RfMW3xzJccGeg7jpV6p7sulBUeXHueylvwa5zmfGwmH1csA+SsgqAzlTaOqqLymWAjlCebNNHT6VAbxmaBeQ==","signatures":[{"sig":"MEUCIQDyd/i2NZIPsuR6mk0Y0J8htoUAozOYEWXphGoi50GE1QIgG9qBeCeNyCssgESKiCHQXyLxVT5WHmlcwKvCMhfXG3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCorWqRXVNgtbq+Ki9n5TtXrxiUakDriaN5sZV3KPEqAgIhAJKK2rGfFzMFk6VpunBaXrZqPR7xdw1n9xD9B+DWPsVS","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":327668},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"91dfc2b88f94df21dc0eae62315ba0008c7d8fb1","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.11.0_1789387175975_0.5023718823839243","host":"s3://npm-registry-packages-npm-production"}},"0.11.1":{"name":"opencode-collaboration","version":"0.11.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.11.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"d9a23b5f4a0b67cf28113279b4cd8c2819751c22","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.11.1.tgz","fileCount":59,"integrity":"sha512-NPi5kMk4bythItgb0J4WU8tbeSpqXks+TpW8A+1MjsGxicYtOb7temY8VyODgH5Lj0/uqVP2HyKZxRLrZytDag==","signatures":[{"sig":"MEUCIQCCOQASmQGo7UruWLQN61QP8pad/bU+wx3DhVi/RNOKKAIgfbtKetmeaosDewS5nbeLCC1hIOKCj5kwEVgjlYIoo/g=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDIStedHvdgLjtrfKsrIFI4Q5/wbKxn+DNEwp23O/mzrwIgJ7EWJNsFf5jKy+tT96M8BS7UOyGlmm4bGXctSc/hqBg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":345342},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"88237709383403ccdae4013a16828faf3af5711d","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.11.1_1789405407422_0.5543621610313172","host":"s3://npm-registry-packages-npm-production"}},"0.11.2":{"name":"opencode-collaboration","version":"0.11.2","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.11.2","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"f321610afb79f386bbb1883707a7e4cb6b25dab0","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.11.2.tgz","fileCount":61,"integrity":"sha512-1s7rli/cQSDq25yABeCHMFqZ03qQ9mPtf2gzCm/rukA03lGXPew0sh9KPlF5yKjJonlj90dYOBn+xYKLy0QxqA==","signatures":[{"sig":"MEYCIQCjA6YTdfUbf4QtvpADHXeIl1HFIgzNs1gDJRhs5HxgBAIhALW6Lg2a9+vz+n80UOZRVzmp06xTD8H259IHhFTN5sLi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD5AeAm8CuKiqhz2It9nILRvp8HuYkx+mBFUSFbIDIIOwIhAOnF1JeWHMVmL2qKO+CXYWKJoWlP0l5BUujJUQi9+EtC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":370315},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"6550746d63ef5194b498fa080dbcd37bdc7fd366","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.11.2_1789429343925_0.6135918498201072","host":"s3://npm-registry-packages-npm-production"}},"0.11.3":{"name":"opencode-collaboration","version":"0.11.3","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.11.3","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"a96147bac671982544428d603eb065e91764086f","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.11.3.tgz","fileCount":61,"integrity":"sha512-Vj35UxLq4tcMKy/JPv13IbQz2P2dSARcc7oMyFNVbhn+JBynKtD9ruRCjnWiTcI8sev/HUGj4rx7ZmyM8zZFSQ==","signatures":[{"sig":"MEUCID93DA8SpBKStQeT4nI6bI9WDa00IFbc3dWcAuvhULMxAiEA1na/E55bi8dXjwOfoVOKxEp70DAUwIw79I3weq8pm5s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDj9oQhRvNfCNsM/C1YmazTuwkp1T/owPm/oqkAg+POJAIgRl/j+PUSsSLrqjkep3YwQAS/i1yUwa7avshk5b2pTVg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":373344},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"d118c1296f31a19a0fd3dc23f2acaad1de3af913","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.11.3_1789438460256_0.47159242499236287","host":"s3://npm-registry-packages-npm-production"}},"0.11.4":{"name":"opencode-collaboration","version":"0.11.4","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.11.4","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"2ba83343aac19f194396da2d831de3f74e60b5e1","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.11.4.tgz","fileCount":62,"integrity":"sha512-njsYOjqEHHDGfXYW71kuASfC4w455fTwufQ05D7zmfKJQY5FwEZiq8hZ6pq5TaNzJIkEgXw1afR3IBXsTQZPBw==","signatures":[{"sig":"MEYCIQDmAuWEatyRlBGIfRQymq/H1liF8snTy9xnkmkA0c/+8AIhANYmSSJoosdo1CulmIB12MXNhM2gZou/Kc78IxJjtiu8","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDf2HXy5a2vlDWD4U7CucV9nVC3qYT54PUtmWX4Y02CdwIhAPlosFtEdGW78tVwiZMK6K99nwfQ7rwkydgiWx76/u9R","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":380742},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"949569f3abeead0caba9ae6f15993abe3dd215e3","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.11.4_1789445972677_0.07729579247015206","host":"s3://npm-registry-packages-npm-production"}},"0.12.0":{"name":"opencode-collaboration","version":"0.12.0","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.12.0","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"7b8a7b7e818289367570f776d301e66f6d1ab7f8","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.12.0.tgz","fileCount":63,"integrity":"sha512-p+MeDdRIPFk/ASDiXMS2sMviCMHPxf1zHo7FLaWVr5OiYPTosvmyn/gXTWwYRCuzQxE3I5ekDtYTvVUmLZUYJQ==","signatures":[{"sig":"MEQCIBLmkLl9Vs0zmEZzUS8zvxJyPQFignXFiUxNyShsSDgDAiAqplQ1FowSBaB9TqPaozejsqHCY/Uf1HgUMOiPWpM85A==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCICBtVSV0b7tAjUqTVIHjr97gk/gCYIsmgVJhN8yX8d5mAiBTJpA4OQDMyWNZ6RYF3OJb9Qx6cvzeqbmfiMGiQNGB+w==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":392370},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"e305fc3615c7b33c72a4f6894e7fbc87dcf213f4","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.12.0_1789533306892_0.6360275389999861","host":"s3://npm-registry-packages-npm-production"}},"0.12.1":{"name":"opencode-collaboration","version":"0.12.1","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.12.1","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"b28ee7acfc77e7fde0c1b82e018ead6651397a6f","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.12.1.tgz","fileCount":63,"integrity":"sha512-8bwXrlgRrykHu8H4E+sM9Sb0rNaPJfbVksXWKAeRILZgSd0mqs0a44S6NfvBFXJAXB/YbwN6eLb/y3jX+Qs4rw==","signatures":[{"sig":"MEYCIQD3/xmugR+2FGjioW2Lw4l9guZkAU5dOBHuvnhMOPkfpAIhAOZSY2pUbPfG1z63xLj/w1DsaSmxvSNPnwApSTt//b4L","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAMaTk9JEE5I4qz1HKhYd3JZSeC6FZ5xfPeZSXwKh6PPAiEAqLS+lrrkJpzwtX+M4zL4BB1JiTswrK0jjwbw8W7VSxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":392495},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"f11eb8801ded00e0a763e9669f31802cf38f4de0","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.12.1_1789536240758_0.6662762983269301","host":"s3://npm-registry-packages-npm-production"}},"0.12.2":{"name":"opencode-collaboration","version":"0.12.2","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.12.2","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"c96d481679c15f8767d100fa0d5517c2bdb58aa1","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.12.2.tgz","fileCount":65,"integrity":"sha512-n74yvFOD8PMaWR+/b4+nHby1J9CQF1wXisail8DPgQb2ttwG39v3h9c8H9gQs2/xM3r3cn7/CewAf10V646OGw==","signatures":[{"sig":"MEYCIQCnoCLqHSpJcN/2cVkhC2JQcYxzqLwzCcp+8ZnhrQ4pJwIhANBnT8NFGnnH6ZDau22pV3PIQe6gvOf5hqFCexe8FMub","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIA+dlNaQbRNafrbfc3AFsc+QUeA4nWIbAGMWhOj9rB02AiBtqg9SWUOYLBDxLRupueqp8i8bWRi+8vJvknJhDDi9kQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":408674},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"2ac22e4d66f1c7b4f7b5d91f7f61ff2ce69c56da","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.12.2_1789565401711_0.5766805218860545","host":"s3://npm-registry-packages-npm-production"}},"0.12.3":{"name":"opencode-collaboration","version":"0.12.3","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"author":{"name":"opencode-collaboration authors"},"license":"MIT","_id":"opencode-collaboration@0.12.3","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"fff28187de44dceb5ac18b4e813b59586871ae51","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.12.3.tgz","fileCount":65,"integrity":"sha512-dD0sOVYhm5pb26bFrg1KHnD+ou+gAf6bFXGcpCre598+KeB2+Zp52278G5KadxmmAyy5/ROw9rRl+x3iIf+few==","signatures":[{"sig":"MEYCIQC0OxE5vAGmtCIGQBIkOEybXIYxu70249D7r841AM7whQIhAJiGfgHKPlbgsiqJbQ8Jc84cebibZWqLSnyoDcuVNwH6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCmwgLrzZFT9nZ3sq177Ljo7CXwtZ1eIZ8GU3wrC/qaOAIgLI4yEKznIDOa/ACDrQPcbDYdC5uQhLJUW5E+geUs+Hg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":413436},"main":"./dist/index.js","type":"module","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"445476b40a4ca3e34b85f53b107a74d7ea9e1f94","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"tmp":"tmp/opencode-collaboration_0.12.3_1789567793153_0.05551686420152402","host":"s3://npm-registry-packages-npm-production"}},"0.12.4":{"_id":"opencode-collaboration@0.12.4","bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"dist":{"shasum":"901f8adc7096ea0440d5adc7add8a23f8d7af7c1","tarball":"https://registry.npmjs.org/opencode-collaboration/-/opencode-collaboration-0.12.4.tgz","fileCount":65,"integrity":"sha512-ZEupTP/dykILZRiRVOVEFeCgeSqrkV5ErmxPTbU2hpK6XKpfpw9XPKuopL0J6jzLM5b1b85C/TvbM/EDvQTQfQ==","signatures":[{"sig":"MEQCIDdtNYRQC2UHHEv/4ns3UgrgMjb9lJz47mXxbxDrZ93nAiB2T3yjlE+yFHuJR5vxpUg4Ap3/Wjdg+Zx7rowfrzE6UA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQCpU0kzC3dbl8SCGOmSVYjribwdKpXN5JR3R1tHZNT/3AIgMGTDLlivt90d3uMSkniu4W3xnk58Ihr3vq3zyJ3VV5A="}],"unpackedSize":418509},"main":"./dist/index.js","name":"opencode-collaboration","type":"module","types":"./dist/index.d.ts","author":{"name":"opencode-collaboration authors"},"module":"./dist/index.js","engines":{"node":">=18","opencode":">=1.18.0"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./tui":{"types":"./dist/tui.d.ts","import":"./dist/tui.js"},"./server":{"types":"./dist/index.d.ts","import":"./dist/index.js"},"./commands/*":"./commands/*","./commands/peers.md":"./commands/peers.md","./commands/peers-name.md":"./commands/peers-name.md","./commands/list-agents.md":"./commands/list-agents.md","./commands/peers-inbox.md":"./commands/peers-inbox.md","./commands/peers-outbox.md":"./commands/peers-outbox.md"},"gitHead":"609e0a1aede234014fbc276cb446f680be5c64b2","license":"MIT","scripts":{"test":"npm run build:obfuscated && node --test tests/*.test.mjs","build":"tsc -p tsconfig.json","clean":"node scripts/clean-dist.mjs","dry-run":"npm publish --dry-run","prepack":"npm run build:obfuscated && npm run verify:obfuscated","typecheck":"tsc --noEmit -p tsconfig.json","prepublishOnly":"npm run build:obfuscated && npm run verify:obfuscated","build:obfuscated":"npm run clean && tsc -p tsconfig.json && node scripts/obfuscate-dist.mjs","verify:obfuscated":"node scripts/verify-obfuscated.mjs"},"version":"0.12.4","_npmUser":{"name":"cuiq","email":"827087776@qq.com"},"homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"opencode":{"plugin":true,"commands":["commands/peers.md","commands/list-agents.md","commands/peers-name.md","commands/peers-inbox.md","commands/peers-outbox.md"]},"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"_npmVersion":"11.9.0","description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","directories":{},"maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"_nodeVersion":"24.14.0","dependencies":{"zod":"^4.1.8"},"_hasShrinkwrap":false,"devDependencies":{"typescript":"^5.4.0","@types/node":"^22.0.0","@opentui/core":"^0.4.5","@opentui/solid":"^0.4.5","@opentui/keymap":"^0.4.5","@opencode-ai/plugin":"^1.18.0","javascript-obfuscator":"5.7.0"},"peerDependencies":{"@opencode-ai/plugin":">=1.18.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/opencode-collaboration_0.12.4_1789826828980_0.6621131563081633"}}},"time":{"created":"2026-09-11T03:19:56.222Z","modified":"2026-09-19T14:07:09.345Z","0.2.3":"2026-09-11T03:19:56.423Z","0.2.4":"2026-09-11T03:32:51.549Z","0.3.0":"2026-09-11T04:14:08.701Z","0.4.0":"2026-09-11T04:36:15.202Z","0.4.1":"2026-09-11T04:54:46.426Z","0.5.0":"2026-09-11T06:26:48.171Z","0.5.1":"2026-09-11T06:34:57.412Z","0.5.2":"2026-09-11T06:51:48.224Z","0.6.0":"2026-09-11T08:46:05.577Z","0.6.1":"2026-09-11T09:40:04.640Z","0.7.0":"2026-09-11T10:03:43.162Z","0.8.0":"2026-09-13T12:03:58.238Z","0.8.1":"2026-09-13T12:22:57.759Z","0.9.0":"2026-09-13T14:31:07.526Z","0.9.1":"2026-09-14T01:42:38.677Z","0.9.2":"2026-09-14T02:00:23.696Z","0.9.3":"2026-09-14T03:12:55.279Z","0.9.4":"2026-09-14T04:00:11.697Z","0.9.5":"2026-09-14T05:15:50.559Z","0.9.6":"2026-09-14T06:48:20.866Z","0.10.0":"2026-09-14T08:38:58.452Z","0.10.1":"2026-09-14T09:24:22.157Z","0.10.2":"2026-09-14T10:20:13.930Z","0.11.0":"2026-09-14T11:59:36.054Z","0.11.1":"2026-09-14T17:03:27.521Z","0.11.2":"2026-09-14T23:42:24.015Z","0.11.3":"2026-09-15T02:14:20.359Z","0.11.4":"2026-09-15T04:19:32.779Z","0.12.0":"2026-09-16T04:35:06.972Z","0.12.1":"2026-09-16T05:24:00.837Z","0.12.2":"2026-09-16T13:30:01.819Z","0.12.3":"2026-09-16T14:09:53.261Z","0.12.4":"2026-09-19T14:07:09.149Z"},"bugs":{"url":"https://gitee.com/cqy0/opencode-collaboration/issues"},"author":{"name":"opencode-collaboration authors"},"license":"MIT","homepage":"https://gitee.com/cqy0/opencode-collaboration#readme","keywords":["opencode","opencode-plugin","claude-code","cross-session","messaging","multi-agent","ai-coding-agent"],"repository":{"url":"git+https://gitee.com/cqy0/opencode-collaboration.git","type":"git"},"description":"Cross-session messaging for opencode — let independent sessions discover and text each other, modeled after Claude Code's cross-session messaging","maintainers":[{"name":"cuiq","email":"827087776@qq.com"}],"readme":"# opencode-collaboration\r\n\r\n[English](./README.md) | **中文**\r\n\r\n[![npm version](https://img.shields.io/npm/v/opencode-collaboration.svg)](https://www.npmjs.com/package/opencode-collaboration)\r\n[![npm downloads](https://img.shields.io/npm/dm/opencode-collaboration.svg)](https://www.npmjs.com/package/opencode-collaboration)\r\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://gitee.com/cqy0/opencode-collaboration/blob/master/LICENSE)\r\n\r\n[opencode](https://opencode.ai) 的跨会话消息插件 —— 让同一台机器上彼此独立的 opencode 实例互相发现、互发纯文本消息。设计参考了 [Claude Code 的跨会话消息](https://claudefa.st/blog/guide/mechanics/cross-session-messaging)。\r\n\r\n并行运行多个 opencode 终端（不同的仓库、worktree 或任务），让它们直接互相传递结论，而不是在窗口之间手动复制粘贴上下文：\r\n\r\n> 前端会话：*\"API 契约变了，字段现在是 `user_id`\"*\r\n> 后端会话：*\"迁移已完成，可以安全 rebase 到 main 了\"*\r\n\r\n## 功能特性\r\n\r\n- `list_agents` / `send_message` 工具 —— Agent 可以发现对端并给它们发消息\r\n- `/peers`（别名 `/list-agents`）、`/peers-name`、`/peers-online`、`/peers-inbox`、`/peers-outbox` 命令 —— 面向用户的控制入口\r\n- 入站消息的 **accept / auto / hold / refuse** 四种门禁策略；`auto` 接受同目录对端，跨目录消息进入待审\r\n- 每个 OpenCode 会话（包括子会话）都有一个可独立寻址的端点；出现重名时可用精确的端点 ID 区分\r\n- 持久化机制完善：按会话的队列、待审消息、投递结果和发送方发件箱都能在进程重启后存活\r\n- 被接受的消息会立即注入 —— 每条消息一次 `promptAsync` 调用，目标会话忙时同样立即注入\r\n- 消息**仅限纯文本** —— 不能传文件，也不能共享对话历史\r\n- **由对端消息触发的回合默认无人值守运行**：处理注入的对端消息期间产生的权限请求会被自动批准（`peerPermissions`，参考了 Claude Code 的权限模式）。你自己输入的回合不受影响\r\n- 命令结果和通知**内联显示在会话中** —— 没有 toast 弹窗\r\n- **明确的 TUI 控制**：面板操作使用宿主对话框进行选择确认；斜杠命令封装仍可用于自动化和兼容性场景\r\n- 纯本地运行：一切都在你的机器上（macOS/Linux 使用 Unix 域套接字，Windows 使用回环 TCP，另有一个兼容 v1 对端的回环监听器）\r\n- 本进程的 peer 名字会追加到根会话标题后面，一眼就能看出每个 opencode 窗口是谁\r\n- peer 触发的回合会沿用接收方会话当前选中的 agent/模式（如自定义的 `teacher`），而不是 opencode 默认的 `build`，因此该 agent 的模型、工具与权限规则都会生效。模式取自服务端记录的 agent（会话创建时写入，并随消息/命令的 prompt 更新）；若尚无所知则使用默认 agent。若记录的 agent 之后被删除，下一条 peer 消息会回退到默认 agent\r\n\r\n## 安装\r\n\r\n```bash\r\nopencode plugin -g opencode-collaboration\r\n```\r\n\r\n或者加入你的 `opencode.json`：\r\n\r\n```json\r\n{\r\n  \"plugin\": [\"opencode-collaboration\"]\r\n}\r\n```\r\n\r\n要求 opencode >= 1.18.0。\r\n\r\n**单回车执行命令（可选但推荐）。** 本包附带一个 TUI 入口，让插件的斜杠命令按一次回车即可执行。opencode 的 TUI 从 `~/.config/opencode/tui.json` 加载插件（这是与 `opencode.json` 相互独立的另一个列表），所以请把插件也加进去：\r\n\r\n```json\r\n{\r\n  \"plugin\": [\"opencode-collaboration\"]\r\n}\r\n```\r\n\r\n不加这个入口一切也照常工作 —— 只是命令会保持 opencode 默认的行为：第一次回车插入 `/name `，第二次回车才提交。说明：\r\n\r\n- 自动补全仍然为每条命令显示**单独一行** `/peers*`（服务器定义的那个）。立即执行来自 TUI 入口中的一个高优先级回车绑定：当输入框内容恰好是一条插件命令 —— 或能唯一识别某条命令的前缀（如 `/peers-nam`）—— 回车立即执行；其他内容全部原样落回 opencode 的原生绑定。无论在会话内还是开始（主页）界面都有效 —— 主页界面会先创建一个会话，和普通提交完全一样。\r\n- 携带**参数**输入的命令（如 `/peers-name frontend`）不受影响 —— 回车按正常方式提交，参数会被保留。\r\n- 旧版 opencode 完全忽略 TUI 入口，保持两次回车的行为。\r\n\r\n本地从源码目录开发时，把构建产物软链接到全局插件目录：\r\n\r\n```bash\r\nnpm install && npm run build\r\nln -sf \"$PWD/dist/index.js\" ~/.config/opencode/plugins/opencode-collaboration.js\r\n```\r\n\r\n（`~/.config/opencode/plugins/*.js` 会在启动时自动加载。）\r\n\r\n## 使用方法\r\n\r\n**给实例命名**，让对端可以寻址你：\r\n\r\n```\r\n/peers-name frontend\r\n```\r\n\r\n**看看谁在线：**\r\n\r\n```\r\n/peers\r\n```\r\n\r\n```\r\nOther Opencode sessions (2):\r\n  [waiting]  ·  frontend  ·  /Users/you/app/frontend  ·  started 9m ago\r\n  [idle]  ·  backend  ·  /Users/you/app/backend  ·  started 29m ago\r\n```\r\n\r\n`[waiting]` = 该处有一个回合正在运行，但对端消息仍会立即注入；`[idle]` = 没有回合在运行。出现排队消息只表示某次立即注入尝试需要重试，不代表投递会等待空闲；发送方在此期间会持有一个待确认的最终 ACK。\r\n\r\n**重启后如何重新上线（0.12.0 —— 升级前务必读）：**\r\n\r\npeer 的**名字**是持久的，但**在线**不是。进程重启后，会话在你把它重新上线之前都是**离线**的，方式二选一：\r\n\r\n```\r\n/peers-online\r\n```\r\n\r\n或**在该会话里输入任意一行**（一句 `1` 即可，或任意斜杠命令）。两者走同一条恢复路径；名字保存在会话标题和本地\"已验证锚点账本\"里，会原样恢复。会话一旦上线，**闲置多久都保持在线** —— 空闲永远不会把 peer 下线（硬规则）。\r\n\r\n为什么改：在你首次输入之前，插件无法从宿主得知你打开的是**哪个**会话，因此旧的启动自动召回本质上是一次可能复活幽灵身份的猜测。0.12.0 删掉了这次猜测。它放弃的便利很小 —— 你重开的会话几乎总会立刻被你碰一下。（成本提示：opencode 把斜杠命令当作一次 prompt，所以 `/peers-online` 会消耗一次宿主模型回合；输入 `1` 同样是一次普通回合。）\r\n\r\n**让 Agent 来对话：**\r\n\r\n```\r\nUse send_message to tell \"backend\" that the login form now posts to /v2/login.\r\n```\r\n\r\n接收方会话会立即收到这条文本，以一条**用户可见的消息**出现，并带发送方前缀（`[来自 \"名字\" @ 目录]`），其中包含发送方精确的端点 ID 以及回复方式。接收方被要求**只在确实需要回应时**才通过 `send_message` 回复，并明确禁止仅确认/致谢类消息——避免两个 agent 无限礼貌往返。`send_message` 返回一个追踪 ID；用 `peer_message_status` 或 `/peers-outbox` 来区分\"传输层已收到\"和\"最终已投递\"。\r\n\r\n默认情况下，只有与本会话工作目录完全相同的对端才可见、可寻址（`peerScope: \"directory\"`）；跨目录的对端在 `list_agents`/`/peers` 和 `send_message` 中不可见。设置 `peerScope: \"all\"` 即可跨目录协作。入站消息永远不受 scope 限制。\r\n\r\n注入的 peer 回合会以该会话**最后一条人类输入（消息/命令）的 agent/mode** 运行——例如接收方最后在 `plan` 模式下发过消息，那么 peer 回合就以 plan 模式到达、无法编辑。opencode 只有在某个 mode 下发过消息才会持久化它，因此\"仅切换 UI mode\"插件还无法感知。若希望 peer 以指定 mode 找到你，请先在该 mode 下发送一条消息。\r\n\r\n**审阅待审消息**（当 `inboundPolicy` 为 `\"hold\"` 时）：\r\n\r\n```\r\n/peers-inbox                 # 列出待审消息\r\n/peers-inbox accept 2        # 投递第 2 条消息\r\n/peers-inbox drop all        # 全部丢弃\r\n/peers-outbox                # 回执与最终 ACK 结果\r\n```\r\n\r\n## 角色命令（/peers-jiagoushi / /peers-yanfa）\r\n\r\n`/peers-jiagoushi`（架构师）与 `/peers-yanfa`（研发工程师）是两个**角色规范命令**，把「1 架构师 + n 研发」的协作分工、工作流与行为准则固化成交互规范。\r\n\r\n> **0.12.3 起自动注册**：插件启动时自动注入这两条命令（配置 `roleCommands: false` 可关闭）。插件版本 **≤0.12.2** 才需要手动复制。**手动复制的文件来源**（二选一）：\r\n> 1. **仓库 checkout**：从 gitee 仓库 `commands/` 目录取；\r\n> 2. **npm 安装后的包目录**：`~/.cache/opencode/packages/opencode-collaboration@<版本>/commands/`。\r\n\r\n```bash\r\n# 手动复制 —— 仅插件版本 ≤0.12.2 需要（Windows 示例）\r\ncopy commands\\peers-jiagoushi.md %USERPROFILE%\\.config\\opencode\\command\\\r\ncopy commands\\peers-yanfa.md  %USERPROFILE%\\.config\\opencode\\command\\\r\n```\r\n\r\n用法：\r\n- `/peers-jiagoushi <研发peer名,多个用英文逗号隔开>` —— 架构师角色，参数为你的研发搭档（peer 名）\r\n- `/peers-yanfa <架构师peer名>` —— 研发工程师角色，参数为你的架构师搭档\r\n\r\n前置条件：\r\n- 所有角色会话**同一工作目录**，或在 opencode.json 配置 `peerScope: \"all\"`（跨目录时出站消息会被 scope 挡住）\r\n- 每个角色会话需先 `/peers-name` 起名，对方才能寻址到你\r\n\r\nUX 说明：这两个命令走 opencode **原生**补全（选中只插入命令名，需再按一次 Enter 提交参数），与 `/deliberate` 同款；插件的\"单 Enter 直跑\"只覆盖插件自家命令，属预期。插件 TUI 面板/palette 不列出这两个命令（它们不是插件命令），从**原生补全菜单**选用。\r\n\r\n说明：`commands/*.md` 随包发布，既是自动注册的读源（0.12.3+，经插件 config hook 注入 —— opencode 本身从不扫描插件包），也是旧版本的手动分发源。\r\n\r\n### 长内容纪律（0.12.4+）\r\n\r\n两个角色规范都内嵌了让 peer 消息保持短小、可持久的双向规则：\r\n\r\n- **发送侧**：内容含代码块/diff/表格/多级清单，或预计超过约 2000 字时，先写项目内 `docs/` 下带日期命名的 md 文档；`send_message` 只发不超过 10 行的结论 + 文档相对路径。禁止把整篇方案塞进一条消息——单条消息上限 8192 UTF-8 字节（约 2700 个中文字），超限在发送时即被拒。\r\n- **读取侧**：消息指向文档路径时，先用 read 工具读取文档全文再回复，不要只凭消息摘要表态。\r\n\r\n`peerScope: \"all\"`（跨目录协作）时，项目内相对路径对方读不到——请给出对方实际可访问的路径。\r\n\r\n### 注入 agent 与 prefill 说明\r\n\r\n- peer 消息注入使用会话**最后一次真实 chat.message** 记录的 agent。TUI 里切换 Build↔Plan 本身不更新任何记录；切换后先发一条普通消息，注入才会跟随新 agent（例如想让注入保持 plan 只读语义，请先在 Plan 下发一条消息再收 peer 消息）。\r\n- 使用不支持 prefill 的模型（如 `volcengine-plan/glm-5.3-flash`）时，peer 注入撞上宿主自动续跑可能偶发 `The last message cannot be from the assistant for a model that does not support prefill` 报错。属宿主行为，低概率、下一条消息即自愈。\r\n\r\n## 配置\r\n\r\n可以通过 `opencode.json` 中的元组形式传入选项：\r\n\r\n```json\r\n{\r\n  \"plugin\": [\r\n    [\"opencode-collaboration\", { \"inboundPolicy\": \"hold\", \"name\": \"frontend\" }]\r\n  ]\r\n}\r\n```\r\n\r\n| 选项 | 默认值 | 说明 |\r\n|---|---|---|\r\n| `inboundPolicy` | `\"accept\"` | `accept` 立即投递；`auto` 仅当发送方与接收方目录相同时接受，否则进入待审；`hold` 暂存消息供人工审阅；`refuse` 直接拒绝 |\r\n| `peerPermissions` | `\"allow\"` | 对端来源的权限请求：`allow` 自动批准普通请求，`ask` 保持原生提示不变，`deny` 拒绝。即使在 `allow` 模式下，OpenCode/插件权限配置、`AGENTS.md`、凭据/密钥以及权限升级也永远不会被自动批准；已存在的 OpenCode 拒绝规则始终优先 |\r\n| `peerScope` | `\"directory\"` | `directory`（默认）将 `list_agents`/`/peers`/`send_message` 限定为与本会话工作目录完全相同的对端；`\"all\"` 恢复跨目录可见性。入站消息不受 scope 限制 |\r\n| `roleCommands` | `true` | 启动时自动注册两个角色命令 `/peers-jiagoushi` + `/peers-yanfa`（0.12.3+）。设为 `false` 关闭注入 —— 例如你自己在 `~/.config/opencode/command/` 维护同名副本时（用户自定义同名命令始终优先） |\r\n| `name` | `<dir>-<hex4>` | 用于寻址的显示名。**0.11.0 起名字属于「会话」而非进程**：显式名（`/peers-name`、`name` 选项、或从标题恢复的名字）保存在该会话根标题的 `(name)` 后缀里，重新进入该会话**并产生交互**时恢复（聊天消息、任意斜杠命令 —— 含 `/peers-online` —— 或入站 peer 消息）。**0.12.0：仅重启进程不再恢复名字** —— 启动自动召回与 30 分钟重进窗口均已删除（见《重启后如何重新上线》与《命名 ≠ 在线》）。从未被验证过的会话（如仅有旧标题的会话）永不恢复；等于进程默认名 `config.name` 的名字不会被采纳为会话名。**0.11.0 起名字属于「会话」而非进程**：改名只影响运行命令的那一个会话。名字需在同一工作目录内的在线对端之间唯一（跨目录可重名）；`/peers-name` 撞名会被拒绝。`name` 选项（`config.name`）是本进程的**默认名**，供未自行命名的会话使用。隐式默认名永不写入标题 |\r\n| `showNameInTitle` | `true` | 把该会话的**显式**名字追加到它自己的根标题后（如 `Fix login bug(张三)`）。**0.11.0 起改名只影响命令所在的那一个会话**，不再广播到进程内其它会话；后缀在退出后保留，便于按名定位 |\r\n| `storageDir` | `$XDG_DATA_HOME/opencode-collaboration` | 注册表与待审收件箱的存储目录 |\r\n| `heartbeatMs` | `10000` | 注册表心跳间隔 |\r\n| `staleMs` | `30000` | 心跳早于该时长则视为对端离线 |\r\n| `maxQueue` | `50` | 排队中（已接受、未投递）消息上限 |\r\n| `maxHeld` | `100` | 待审收件箱容量 |\r\n| `heldExpiryMs` | `300000` | 待审消息的批准时限；超时会产生一条最终 ACK |\r\n| `maxMessageBytes` | `8192` | 单条消息大小上限 |\r\n| `sendRatePerMin` | `10` | 每个对端的出站限流 |\r\n| `recvRatePerMin` | `20` | 每个发送方的入站限流 |\r\n| `sweepMs` | `15000` | 投递/ACK 可靠性兜底扫描间隔 |\r\n| `toastOnMessage` | `true` | 收到 peer 消息并**实际注入**会话后弹一条仅展示用的 TUI toast（`来自 X: 摘要`）。纯旁路可见性：投递语义与权限不变；仅在注入**持久化成功后**弹出（失败/重复不弹），批量投递合并为一条（`来自 X (+N 条)`）。注意：该 toast 在 0.11.2～0.11.3 期间从未生效——请求缺少宿主必填的 `variant` 字段，被以 400 Payload 拒绝（且因 SDK 对非 2xx 不抛异常而被静默吞掉）。0.11.4 已发送正确形状。 |\r\n| `stallTimeoutMin` | `30` | 某个工具超过该分钟数无进展时自动中止（abort），并注入一条恢复提示。`0` 完全关闭本功能。环境变量兜底：`OPENCODE_COLLAB_STALL_TIMEOUT_MIN`（显式配置优先，env 为兜底） |\r\n\r\n## 工作原理\r\n\r\n```\r\nOpenCode 进程 A                             OpenCode 进程 B\r\n┌──────────────────────────────┐           ┌──────────────────────────────┐\r\n│ 会话 A1 → 端点/spool          │           │ 会话 B1 → 端点/spool          │\r\n│ 会话 A2 → 端点/spool          │           │ 会话 B2 → 端点/spool          │\r\n│ 持久化发件箱 ◄── 最终 ACK      ├───────────┤ 本地 UDS/TCP 监听器           │\r\n│ 注册表 v1 + v2 ─────────────┼──────────►│ promptAsync(精确会话)        │\r\n└──────────────────────────────┘           └──────────────────────────────┘\r\n```\r\n\r\n- **发现**：协议 v2 为每个会话端点发布一条 `0600` 权限的注册表记录，并额外为最近活跃的根会话发布一条 v1 兼容记录。只有在本进程内有活跃迹象的会话才会被公布 —— 启动时的 busy/retry 状态、此后任何会话事件或消息活动，或有未投递 spool 记录等待恢复的会话。`session.list()` 返回的历史会话永远不会被公布，因此 `/peers` 只显示活跃会话（已关闭的进程在一个 stale 窗口内消失；已删除的会话在下一次心跳后消失）。读取方同时接受两个版本。默认对端名为 `<dir>-<hex4>`（如 `my-app-a3f2`），使同目录实例可以区分；**每个具名会话作为独立对端、以它自己的名字发布**，未命名会话在同一进程内折叠成 `/peers` 的一行、使用进程默认名（`config.name` 或 `<dir>-<hex4>`）。\r\n- **传输**：v2 在 macOS/Linux 上使用带认证的 Unix 域套接字，Windows 上使用回环 TCP。另保留一个回环 HTTP 监听器供协议 v1 发送方使用。对端之间永远不会直接调用对方的 OpenCode 服务器。\r\n- **投递与恢复**：每条消息是 `spool/<endpoint>/{queued,held,inflight,done}` 下一条 `0600` 权限的 JSON 记录。原子状态转移、进程锁、确定性的 OpenCode 消息 ID 和持久化去重使重试与重启都是安全的。旧版 `inbox.json` 会被归档但不投递，因为它没有可信的会话目标。\r\n- **ACK 语义**：HTTP 接受只代表\"已收到\"。最终的 `delivered`、`refused`、`expired`、`dropped` 或 `duplicate` ACK 会持久化重试到发送方，并存入 `outbox/<sender-endpoint>`。\r\n- **发送记账与有界重试（0.11.2）**：每次发送的终态结果都会落账——最终 ACK 到达后记 `delivered(<ack>)`；不可重试的结果（401/403/404/429 及 v1\"无可寻址会话\"）记 `failed`；重试预算耗尽记 `dropped`。可重试失败（5xx/网络）在心跳 tick 上以**同一 message id** 重试，预算为 **60 秒内最多 3 次**（接收侧幂等——已落地的重试是空操作）。终态记录保留 24 小时供查验后过期；仍可投递的记录**永不自动删除**。`peer_message_status` 无参调用列出本会话最近的出站消息（一行一条、只显示最新状态、最多 20 条）。\r\n- **环路保护**：消息携带 `via` 跳数列表；超过 4 跳的链会被拒绝。\r\n- **读懂 `/peers`（0.11.3）**：每行显示的是**会话**最后活动时间（`active X 分钟前`），不是宿主进程的启动时间——重进窗口接管旧会话时不再显示\"started just now\"。v2 行会标注发布原因：带 `接管会话` 标签的是该对端进程**接管**的显式命名会话（用户命名或账本恢复，含用户当前未在驱动的会话）。另请注意**关闭 TUI 窗口 ≠ 停止宿主进程**：进程真正退出、注册表条目过期前，对端会一直广告并持有锚点；同目录重进的窗口可能与仍存活的旧进程短暂竞争名字。\r\n- **命名 ≠ 在线（0.12.0）**：peer 的**名字**是持久的——存在于会话标题和本地\"已验证锚点账本\"中，重启后仍在。但**在线**（被广告、可列出、可寻址）不是：会话只有出现活跃迹象才算在线，而\"仅重启进程\"已不再算活跃迹象。所有恢复现在都走同一条路径 `tryRestore`，它只在真实交互时触发——聊天消息、任意斜杠命令（含 `/peers-online`）或入站 peer 消息。因此重启后：**零输入 ⇒ 离线**（账本保住名字，不发布任何东西），**输入一行或 `/peers-online` ⇒ 以同名上线**。0.11.3 的行为——同目录新窗口在 30 分钟窗口内自动重新上线——**已删除**（决策 ①=A，2026-09-16）：它是一次可能复活幽灵身份的启动期猜测，最多只省一次按键。会话一旦在线，**只要进程存活，闲多久都在线**——没有任何 recency/时间条件能把在线 peer 下线（硬规则；会话只会在其进程退出、心跳过期，或会话本身被删除时离开列表）。\r\n- **入站消息可见性（0.11.4）**：peer 消息以**用户可见** part 注入——在 opencode TUI 中渲染为带发送方前缀的用户气泡（`[来自 X @ 目录]`），收到消息不再\"像什么都没发生\"。已对真实宿主验证：`synthetic` 标志只影响 TUI 渲染，持久化与模型输入两种情况下完全一致；权限标记（`metadata.peerMessage`）原样随行，peer 权限作用域不受影响。`notice()` 通知保持不可见设计（synthetic），停滞恢复提示本来就是用户可见。此外消息**实际注入成功后**会弹一条仅展示用的 TUI toast（`来自 X: 摘要`，见 `toastOnMessage`，默认 `true`）。须如实说明：该 toast 在 0.11.2～0.11.3 期间从未生效——每次请求都因缺失宿主必填的 `variant` 字段被 `400 Missing key [\"variant\"]` 拒绝，且失败被静默吞掉（SDK 对非 2xx 结果不抛异常而是 resolve 错误对象）；0.11.4 修复了请求形状并让首次失败以 warn 可见。\r\n\r\n## 安全模型 —— 请务必阅读\r\n\r\n- **同机信任**：任何以你的用户身份运行的进程都能读取注册表文件，从而向你实例的收件箱发消息。bearer token 只能防其他用户和误连，防不住拥有你 UID 的恶意进程。这与 Claude Code 本地 IPC 的信任级别一致。\r\n- **提示注入**：对端消息对模型而言是不可信输入，和你手动粘贴的文本一样。纯文本无法传递文件、历史、授权或可执行的斜杠命令。在兼容默认的 `peerPermissions: \"allow\"` 下，普通工具请求可以无人值守执行；敏感项目请改用 `ask`、`hold` 或 `refuse`。\r\n- **受保护类别护栏是尽力而为的，不是安全边界**：在 `allow` 模式下，插件对*提及*权限配置、`AGENTS.md`、凭据/密钥文件、shell 启动文件等敏感路径的请求会保留自己的自动批准 —— 但它匹配的只是请求文本，精心措辞的请求可以不出现这些路径（例如 `npm config set x y` 会写 `~/.npmrc` 但全程不显示该路径）。请把 `allow` 视为**完全信任机器上的每一个对端**；当这种信任不成立时，请设置 `ask`（或 `inboundPolicy: \"hold\"`/`\"refuse\"`）。\r\n- **自动批准如何保持作用域**：插件监听权限请求事件，仅当发起请求的回合是由它注入的消息启动时（通过从工具调用的消息沿 `parentID` 向上追溯到原始用户消息并检查其 metadata 来判定）才会自动回复。你自己输入的回合产生的权限请求不会收到任何回复，原样落回 opencode 的正常提示流程。\r\n\r\n## 宿主形态差异 —— 谁才算一个对端\r\n\r\n一个 peer 就是一个**会话端点**，因此 `/peers` 能看到什么取决于 opencode 的宿主形态：\r\n\r\n| 形态 | 每进程会话数 | 同目录兄弟会话互相可见 |\r\n|---|---|---|\r\n| `opencode` CLI（每终端一进程） | 1 | 不适用（每个窗口是独立进程） |\r\n| `opencode serve` | 多个（跨全部目录） | **是 —— 0.12.0 已修** |\r\n| opencode 官方桌面端（Electron） | 多个 | **是 —— 0.12.0 已修** |\r\n| [openchamber](https://github.com/openchamber/openchamber)（[文档](https://docs.openchamber.dev)）（desktop/web/VS Code/mobile 共享同一 server；\"Multi-run\" 最多 5 个会话） | 多个，且**自带并启动官方 `serve`** | **是 —— 0.12.0 已修** |\r\n\r\n以上四类均于 2026-09-16 现场实测。**0.12.0 之前**，寄居在**同一个长驻进程**里的两个**具名**会话互相看不见 —— 例如一个 `opencode serve` 托管的两个 worktree，或多会话桌面端/openchamber 服务端：`/peers` 与 `list_agents` 的每一行都被一个\"这是不是我\"的**进程级**判定过滤，把本进程的每个会话都当成了你自己。`send_message` 却与此不一致（已知兄弟名字的 agent **能**给它发消息），于是各界面自相矛盾。0.12.0 按**会话**修正了**列表界面**：携带**自己显式名字**的同进程兄弟会被列出、可寻址，而你所处的会话仍然对自身隐藏。投递、命名与跨进程行为不变；同进程的**未命名**会话依旧折叠成一行，和以前一样。\r\n\r\n0.12.0 之前**没有可靠的用户侧绕法**——这个不可见性出在列表计算里，不是配置项——请升级插件。\r\n\r\n一个需要知道的宿主限制：**`toastOnMessage` 弹窗需要有 TUI 客户端挂着。** 裸的 `opencode serve`（以及桌面端/openchamber 的服务端）没有 TUI 消费者，因此即使消息本身已投递并注入，弹窗也不会显示。斜杠命令输出与注入的 peer 消息仍会在显示该会话的地方渲染。\r\n\r\n## 局限性\r\n\r\n- 仅支持同一台机器（暂不支持跨主机转发）\r\n- OpenCode 的 `command.execute.before` 钩子目前不可取消。因此斜杠命令通过把提示文本替换为一个无害的已处理标记来\"消费\"；TUI 面板操作提供了显式对话框，但服务器钩子本身无法阻止后续的命令处理。\r\n- 没有共享对话记录、Remote Control、Agent View、跨机器转发，也没有兼容 Claude Code 的团队/任务编排。\r\n\r\n## 与 Claude Code 的对比\r\n\r\n| 能力 | Claude Code | peers 0.2.0 |\r\n|---|---|---|\r\n| 跨进程与同进程会话寻址 | 原生支持 | 是，本地端点注册表 |\r\n| 重名时的精确目标 | 是 | 是，存在歧义时要求使用端点 ID |\r\n| 目标忙时发消息 | 是 | 是，立即注入一条消息的 `promptAsync` |\r\n| 持久化投递/重启恢复 | 产品层面托管 | 是，文件系统 spool 与持久化 ACK/发件箱 |\r\n| 权限边界 | 原生策略集成 | 基于事件的 allow/ask/deny，带受保护类别护栏 |\r\n| 用户批准交互 | 原生 | 显式的宿主 TUI 对话框加斜杠命令封装 |\r\n| 远程控制 / 共享任务 UI | Claude 生态可用 | 超出范围 |\r\n\r\n本地纯文本交接在发现、精确寻址、忙时投递、重启恢复和最终结果追踪这些方面的效果基本等价。但它不是 Claude Code 产品级编排或远程 UI 的平替实现。\r\n\r\n## 端到端验证\r\n\r\n```bash\r\n# 终端 1\r\ncd /tmp/proj-a && opencode\r\n/peers-name alpha\r\n\r\n# 终端 2\r\ncd /tmp/proj-b && opencode\r\n/peers-name beta\r\n/peers        # 应该能看到 alpha\r\n\r\n# 在 beta 的会话中：\r\nUse send_message to tell \"alpha\": the deploy keys rotated, pull again.\r\n\r\n# alpha 会立即收到这条文本，即使它的会话正在忙；\r\n# \"传输层已收到\"与\"最终投递 ACK\"始终是两个不同的概念。\r\n```\r\n\r\n开发中使用的无头（headless）变体：\r\n\r\n```bash\r\ncd /tmp/proj-a && opencode serve --port 14100 &\r\ncd /tmp/proj-b && opencode serve --port 14101 &\r\n# 然后通过 HTTP API 驱动两边（POST /session、/session/:id/prompt_async）\r\n```\r\n\r\n无凭据的真实进程测试会启动真实的 OpenCode 进程，并驱动已加载插件的事件与命令钩子。它会在真实 `promptAsync` 注入前验证 busy 注册表状态，通过真实存储的对端消息解析权限来源，验证默认 `allow` 与 `ask` 的差异，并检查受保护请求是否被留给原生策略处理。由于缺少模型提供商凭据，它无法产生真实的提供商权限请求，因此测试桩记录的是插件的回复调用，而不是声称完成了端到端原生权限提示；其余的原生拒绝和受保护类别判定由专项测试覆盖。\r\n\r\n## 开发\r\n\r\n```bash\r\nnpm install                # 不触发构建（无 prepare 脚本）\r\nnpm run build              # tsc → dist/（明文，本地快速迭代用）\r\nnpm run build:obfuscated   # clean + tsc + 混淆 → dist/（发布产物）\r\nnpm test                   # build:obfuscated + node --test tests/*.test.mjs\r\nnpm run typecheck\r\nnpm run dry-run            # npm publish --dry-run\r\n```\r\n\r\n`npm test` 跑的是发布产物 dist；`tests/obfuscation.test.mjs` 只在发布产物上通过。发布产物的 sourcemap 输出到 `.obfuscate-maps/`，不随包发布。\r\n\r\n除 `@opencode-ai/plugin`（peer 依赖）和 `zod`（工具 schema）外，零运行时依赖。\r\n\r\n## 发布说明\r\n\r\n### 0.12.0 —— 同进程队友可见，以及一个显式上线入口\r\n\r\n- **修复（R5）：** 在 `opencode serve`、官方桌面端与 openchamber 下，同一长驻进程内的具名会话在 `/peers` 与 `list_agents` 中互相不可见。列表判定现按**会话**进行——具名兄弟会显示，调用者自身会话仍隐藏。2026-09-16 于 `serve` + 桌面端实测。\r\n- **变更（决策 ①=A）：** 仅重启进程不再自动恢复 peer 名字——启动自动召回与 30 分钟重进窗口均已删除。名字仍然持久；用 `/peers-online` 或在会话里输入任意一行即可上线。上线后闲置多久都在线。\r\n- **新增（R12）：** `/peers-online` —— 显式把当前会话置为在线。幂等；返回名字、目录与端点。与其他斜杠命令一样会消耗一次宿主模型回合。\r\n\r\n### 0.11.0 —— peer 名字属于「会话」\r\n\r\n- **改名只影响运行 `/peers-name` 的那一个会话。** 旧的广播写法（重写进程内**每一个**身份根标题）已改为只写单个会话；给会话 B 改名不会再改动会话 A，也不会使 A 已存的身份失效。\r\n- **具名会话本身就是一个对端。** `/peers`/`list_agents` 把每个**具名**会话列为独立一行，即使空闲也以它自己的名字发布；按该名字投递的消息会落到该会话。未命名会话仍按进程折叠成一行、用进程默认名。`config.name` 只是这个**默认名**，不再是\"每个会话的名字\"。\r\n- **名字在同一工作目录内的在线对端之间唯一。** 若同名已被同目录内的其他在线对端占用，`/peers-name` 会被拒绝（对端退出后名字可复用）；跨目录可重名。\r\n- **零交互恢复按会话进行。** 启动时每条已验证锚点恢复到它自己的会话、用它自己的名字；旧的\"歧义 → 一个临时名\"层已移除，等于进程默认名的后缀永远不会被当作会话自己的名字。因此一个目录里若有多个具名会话，启动后会发布多个对端。（**0.12.0 已移除** —— 启动不再恢复名字；见上方 0.12.0 说明。）\r\n- **互操作：** 运行 ≤0.10.2 的对端仍按自己的\"每进程折叠\"解析名字，因此它按名发送的消息可能落到你最近活跃的会话而非具名会话。两端都是本插件，建议两端都升级以获得严格的按名投递。\r\n\r\n## 许可证\r\n\r\nMIT\r\n","readmeFilename":"README.zh-CN.md"}