{"_id":"@jesonliu/lark-claudecode-bridge","_rev":"31-570e69b295eddeb7d562235ea89a63a1","name":"@jesonliu/lark-claudecode-bridge","dist-tags":{"latest":"1.3.6"},"versions":{"0.3.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.3.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.3.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"c94641ad59396f50ffdb5c293b80ac2668df7953","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.3.0.tgz","fileCount":76,"integrity":"sha512-r7ZwOOYZDFsGsQM/c5xXSw96No+s784XQgaDEdiQyVuacnHjsyj3zLQI++B0LfZPHQwwdRPj643dL2G7evALqw==","signatures":[{"sig":"MEYCIQDB+Wpk7Vde08UnfTONCAP+G3MAbAchFMf6ubZUyfnBCgIhANwRs0E6BzOjOsUFByzdwM2yGPaEkjhrgOZKc5t8QyIF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":254438},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"bdaa810678479c3d6403c6f49554bf42bf5f378a","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.3.0_1788053890899_0.5675957569336478","host":"s3://npm-registry-packages-npm-production"}},"0.3.1":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.3.1","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.3.1","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"304493e350139928eb74ae4fdc2d4bdebde5e01b","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.3.1.tgz","fileCount":79,"integrity":"sha512-LkgdegY5FrsuSxtQdxtANt18DRAFLLJX9QUahuea2iHZOchrJzElSg94upNPPhwjO48XyEPHqvYupPQ/Z4ZesA==","signatures":[{"sig":"MEYCIQDFEQP6kWOZspNPZ+ZlJwTLOayPx7j+9RxNk/VNPr8LGAIhAKSKZgM/CnfIlSBtgljP1uwVE9nbb9fUpnAW8BPMWy6K","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDbB6vx7EDt35qAz2TqLVRgmKEHK1yOyxFChu057P1miAiEAmlVByl+0zFP/83pliyw+0QwceqWcK8PTHkJ+a0MwhuE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":260849},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"1597f182eb0f56735efa4af705dc58bf199ee1bd","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.3.1_1788058845221_0.9498852702893765","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.5.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.5.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"d726d5c8b8bf71ed4f2e0c048178d26ab9821c62","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.5.0.tgz","fileCount":82,"integrity":"sha512-1L79SLZWDhXrOwwfZlHJWUzUZJZ23lIwjXrJKAOn7mFomz3Dvp1MB7PNEbmx8o2BpAbQT8Q/csmQZEV9JTUh+g==","signatures":[{"sig":"MEUCIF7jpAzJtFvjR+m2HwRwmtd2EtZ6A/SMlebO2dh4SZeeAiEAlJ8pRJEtK7+OSo9r/a3IdEmUimgcUI06ZelStJSvii4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBTvkyb1PQfllyxHPimOscKqexQ/N1n4MKtLJAFjsMzKAiAZyN20y0H78dV5NHjxqyyEuF4+bYHUlbvSxawyTHL0+Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":292380},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"65557145032585094423bb9fbe09bbc109a0ea8c","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.5.0_1788103197591_0.3821928322540262","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.7.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.7.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"69122b61c2f7d273b08a1bd32dc7778ce2301051","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.7.0.tgz","fileCount":97,"integrity":"sha512-PcYRcW2gt8M67w3e7uAxj7IsafmHcMzj2/XpHGCsJWqnpZ6Svu0mcFYA0XJsVqwz4Clwzw5UETzjMuLk0gmHKg==","signatures":[{"sig":"MEQCIGmTr+EWRiwczGIegruQlgrWS4/5pcq18TsTF6TFBg7QAiAIDIPTxywxzdNfQIV+1zYE4nel7R83sMImchTOGwxm+g==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCBYYfWz2/hBIruuFgTkvOrzU43EO0VlkHkEXGwRnwgEwIhAO7ETXYujsHqXY96R/voHMwdI2ms87N2NxlfVaWMW5Yj","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350897},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"77a83eb4cd3a09f33838872d357f06c0d87fab88","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.7.0_1788187652611_0.029677187963140783","host":"s3://npm-registry-packages-npm-production"}},"0.8.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.8.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.8.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"66c85a56faad2873f1b024562fd8995be587fe7e","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.8.0.tgz","fileCount":97,"integrity":"sha512-JiRgHGnVrnxuQZkDnDuEkt1WTs1tHXWE3c8FuTymk6mYB0Hmprchk0QeU2I3QcD71gtgeyHA5PjxhJhnIXrB7w==","signatures":[{"sig":"MEUCIA8pUW1I3OLkwJ99/2KgWNO8IsaH8PwQHhZlXdR+2SJdAiEAseYPhi1un7hcSFEkdRehJt3dDrTjciVUi2fCk+sV89U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDMWnM7MQ+tLZ1bn7RdaK3LgL0YJ5qEuoSsBVfkAbfBGAIgK3BDlTw9HjI8MvtQjglbo8cAqtm1/87tU+peiIiwUxI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350897},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4fa3fb2bb128202e803210525c3b08b4e3c0c8f1","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.8.0_1788188261218_0.8581984115064385","host":"s3://npm-registry-packages-npm-production"}},"0.9.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.9.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.9.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"7295261d6534067b6a8122219b5738017d6b9b81","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.9.0.tgz","fileCount":97,"integrity":"sha512-E8yWjko1Nt1b+2daEa8mSZno8w5Jw6H2/KPwLKUWHc/tkev2aVarijU/gHSzMVf/GvMVtQaivHyMdyYsQFexmg==","signatures":[{"sig":"MEUCIQDRWMNJWKXqnJS9LJpgppXnYq1xW9/54zQcQRCBEBBh8QIgBJgnwzXOYHm4XcSn14XQOKLvXhTQyhlhEqe21Xo7lmk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQD9IxofSADzR4RgS86ucVMVOUIDnqi0PttbxX1K3Pf0GAIhAP2d5dZ9WPO/Z/PUyMvlqSQzp7COgflkyaqvabgntv1n","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":350897},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0f6f464a55d08a83686fd0eb91c280cd9e43653d","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.9.0_1788188714316_0.03404796937058063","host":"s3://npm-registry-packages-npm-production"}},"0.10.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.10.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.10.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"ff70956b93a879072b3c35507ee035da56e6e75d","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.10.0.tgz","fileCount":103,"integrity":"sha512-LlSG+8gRFiPxtQEmIGJeLwtmpbLPhRcuvgPFMPsGcM018kXjVpNXzy2B1SMAstfX8TkhhfyM5b19A7zM8n5Dmw==","signatures":[{"sig":"MEYCIQDTvJPncltmh7UAwKDohjChQkW5SU9c4cC8OfQho4k9VAIhALWtsSSHeuQMPZjxo2JryWnTkQ6H3uEQNx/cIdoWnF2x","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBnfkOe9r5RtzVrnHYGnZB5zFUzKCBdcYfD5jYnRLc23AiBVItV9SjzH4DA8ZRH+9VGK83dAgc/LmJUPn6suroMvqg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":359301},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0607ebe645ac9b6fc1ff7cecc48a808570390816","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.10.0_1788307694110_0.30535495965881143","host":"s3://npm-registry-packages-npm-production"}},"0.11.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.11.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.11.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"c6b776400ff58dc487cc1482a16579ee27ab65ea","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.11.0.tgz","fileCount":103,"integrity":"sha512-rMNaCxgQRB4Jk0wWPnzjOGFN45O0M8CO1f2gKsegIV6PyaeChIwRrba+xK+bB1krId99+V5N0k2VI2/gn2JWYw==","signatures":[{"sig":"MEUCIGdZ/bu7oXubfUM16jMi3zfRsWOcPZUBz8eSrbto3cj/AiEAl7RS/g1Bycge4n8G9g0UauDkQD61ZxfpGS4J41JN7yY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDrQueL3DkFffk64QCqLnhU8L/2UoV3xRPmaTi/Btc41wIhAO5PM1Eb9f3YG0O50NrboJmF9qnsS9vpF5jN1qWZIPJs","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":377420},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"21c997ad4485e4ee886bc1979d840a8bed2c4215","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.11.0_1788393665946_0.2960302391483538","host":"s3://npm-registry-packages-npm-production"}},"0.13.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.13.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.13.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"94a126971916467c6a6cf4fe0df5055789539b1b","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.13.0.tgz","fileCount":140,"integrity":"sha512-frGGACJcjouZxDn3LkV6TJC7CEi3BdQZL3163fqvbugtUr9Nyhp+XD6SnFaojgH2hR1HgBp10z4H5v9lW3bR6Q==","signatures":[{"sig":"MEQCIB5jIWq3faKxHGLim7kZw0nWzCFoNKsO0P/F5aTjnLRuAiBB6h3uDXod5+gxWYNH+ZMA3FV/K7AXY5Sv4h4uhZN5Vw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIDGCuOJtq7L8Zh+8l8ttAT5pp9I1kfpPVGm93+0c8+5BAiEA1WxOZtZetY29mcUaD3HvQZ+vl8ZjBHy1/IC2Xq18K0A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":674089},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"c593bfb305e00d3e2228392c282134e53f5d4d5c","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.13.0_1788531895970_0.6051082260674856","host":"s3://npm-registry-packages-npm-production"}},"0.14.2":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.14.2","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.14.2","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"8fc9829f338cc2621a91dd373c3c8350843d2017","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.14.2.tgz","fileCount":140,"integrity":"sha512-cYB66Dv3tTAAIji53jGI7h+mvkdIFoMSCxpPsAnjKU47fO/957Lao3lG8CXSEwykfOboGsgcZxOtFHbrBEsp9g==","signatures":[{"sig":"MEYCIQCRLfVBDwZ4SkQ3YQlHwkWdIwkIdCz8q/RS/Jr0MnDE8QIhAJuCv5osUmj7cx73BBAOe1o+rY/GczuGVLSVFp7CVuNi","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEd1TvKIi77bdA/BLd5JzJ+/Cc8PPLwL7PIxxwTy8oF9AiBBlag+nJC15ZQxeQWC4/8BiNHpm/QQwaOXR3B/4QKLgg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":762541},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"66e9ea5397e69cc334db3d97e2faa7e3ca908fd0","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.14.2_1788574212461_0.18450150654155273","host":"s3://npm-registry-packages-npm-production"}},"0.15.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.15.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.15.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"2d03b021ec99911c08e7968d5381fa8cc7fb4ff2","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.15.0.tgz","fileCount":140,"integrity":"sha512-ayAJYkRNDpEGO9kInLkV+9YlNLjqlFLBOKXqfe+LvHLNo6x1hPDXcxGlPnzqXpoAfDZQAvBheNJWN6t6ZXP3gw==","signatures":[{"sig":"MEUCIQDX435i1oZ9PiMRiG3j44pidLtzQSbBYBoz8m0kctAYkQIga4gus4YhR/trmbi/wvKOO5KaFKeOvMJTuHhbL1vIy88=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCqfAjDCgQXL0scC7sKTVH7f5GbLR3fPe8TIF7NNzJVDgIgHzSJPyIo2KABCuXSLJFNBs63k7bIfvkqVNvLOrjQ9AA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":784642},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b3e0555b621797ebfc6f85d184404ab0c8a8eb4c","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.15.0_1788737957625_0.5664389094378046","host":"s3://npm-registry-packages-npm-production"}},"0.17.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.17.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.17.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"787751e221b2886ef41a9a04382acdf772674190","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.17.0.tgz","fileCount":146,"integrity":"sha512-9FWhnyl4g2hRNXjpteiLkCCSLiFf1zKe3ZTNe1m/9tzJSlzyrjEoo1O7HsmbFCobk5Keb3xBuwgXUCAJ8ETbXQ==","signatures":[{"sig":"MEUCIDnDNoSuyyezk5Znj42Ju3NR15rJn7g9Cwf4vlPFailgAiEA2fCxn37URrqeEruybYdM/XVnCcZOjK+isGqVRMDiph8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEb6wAfVmO1nb0mEuj9s0jRt79jA0eK6QrmSi7wkTd1bAiBFKmUGbuRI3NyWvmRnmvvDya4X7lSoguLwZSevSRoZDg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":814773},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"f9924fb837b92c3aca9c0ea898dcbd9bd9277142","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.17.0_1788793141293_0.6200951002131692","host":"s3://npm-registry-packages-npm-production"}},"0.18.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.18.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.18.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"5c593341000500b42fee6713b341ca0b8ed00d88","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.18.0.tgz","fileCount":158,"integrity":"sha512-5JVGWi0FAwOCjM/gzMOnL8oIF/8UDlFCPoCGl8LJq7MuYhzyhEIAzqK0cXzBRHKhLX+Dhveo9/2wuA8Rqbs8+g==","signatures":[{"sig":"MEUCICJ9sUEttWxnVuvzZvXmyDpuwEoujHXdeMLpteIcbhDcAiEAmNcrPvr67toSix7KKwKFs+ntCsofyQQI91E1exnlHMg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBXUOjo4XLoapZ6IfG7MFjV6tX725DS552nMTDwd/zloAiBaO3v7LAHq6S1c8ONly/Z3v2eAzhy8No4Q42sFA6xyRw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":844523},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7ea7a99f410eabf2fcfc24701bd1dd06c6df8d01","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.18.0_1788877861076_0.06225461557190304","host":"s3://npm-registry-packages-npm-production"}},"0.18.1":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.18.1","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.18.1","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"7a22e275297d00db20e5938fb477aed2a82d6c83","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.18.1.tgz","fileCount":158,"integrity":"sha512-5rJ09n8xbvlvQ581UGk93ZeuPKErjEt995iTPCW6W/tBNgVVVSCNloUhTt2N4QHBbbDT7wE5o8gm4VT4O2KDnQ==","signatures":[{"sig":"MEQCIEpmqKZOf9j6TFSyCbmuXzImpt/yAPV+Ofob8nT3dihLAiAMOjnE3rlMAEIji7NS1RckZMOw6m5PN871eB6aE2OicQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDZ3TPYAYTKrfTc5mn4Nm5Ft9OT3ykUx4e9rLJRvn5jNgIhANVlVB725IVhUDu9vZ2431buoUg9EP9Ne8JrK9jirvln","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":844523},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7ea7a99f410eabf2fcfc24701bd1dd06c6df8d01","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.18.1_1788912513688_0.9196680201590954","host":"s3://npm-registry-packages-npm-production"}},"0.19.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.19.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.19.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"6d2b75ce1f7e050209cfcff2f8deda5b67d6cb59","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.19.0.tgz","fileCount":172,"integrity":"sha512-B6S5hEf2yO2REKQS+xi08Mvcdi98ceKjNazZqfV+kRU/270ZAbYDwshL6ILCCmq1QzZVmAfVrfQLePoLwd3/pw==","signatures":[{"sig":"MEQCIHCAnZSwL4fqF4+THVw/EvlrSkGfhcw+v81kvJdGxpyhAiAunS7X1PpquvEDbDamIz3mw3VlKWIz8MnDXyWNQi9hvw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIFKbIn9PXPgbLmkjsxr3up2swZXz/M6G3aTNckYb1hLFAiEApFsbxfENAx4HyfTtbER4WkpYSpq4KwQFwcrQh1+Wf5M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":978606},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"51168de3b36d05456b535de8052685aaf535a5b1","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.19.0_1788965248028_0.3520738910357877","host":"s3://npm-registry-packages-npm-production"}},"0.20.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.20.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.20.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"d50dc42f1f7378d6dad1e4c6d9a763930e581fd1","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.20.0.tgz","fileCount":173,"integrity":"sha512-FgJNZhpGCC70XaN2jHsc0UYF0rv5LVPM6DJvPIZ7FuVmFL1u3jXLWZxXRsVsPEJK2Nu3yGmV5fi3xZ4+NkgB3g==","signatures":[{"sig":"MEYCIQCbxn71jSQvrvODkToLOQF8NsuOtC7tbOCnsVjBoJ7GjQIhALqxjP95AccO9A618M/4NL9uAP5ihvNxS4xtPshArzJ7","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIBc2ygBSouqHJ85hVrGqPwzn8W8n+knvQGGCBsPwo0aoAiBb9AH4umBmTeyqk7cfeD1LpfGj8outYPiTSd0u31ihsg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1102456},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"da04d454404d78699362bdc8aa6fcc8baca8e296","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.20.0_1789179986806_0.7604084856375555","host":"s3://npm-registry-packages-npm-production"}},"0.20.1":{"name":"@jesonliu/lark-claudecode-bridge","version":"0.20.1","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@0.20.1","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"8123d235d1b211c87b4197c8ca38cb73d65cd26c","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-0.20.1.tgz","fileCount":173,"integrity":"sha512-Zy1Ghp2mySSjSAqe8c9UqUoSKBrd7gVQCq9SxTZ6ZMJ5Y2MRI9Q0maOIZhL4kg1x7f8cAcCampcNa6f28ko7Dg==","signatures":[{"sig":"MEUCIQCce7+IqzUcuCJyoAciNKRrsHIV0UfLaK7kkAr/E1iCpgIgK1ovpgWn3HSLLiq/9mjHODLXf8iJh+Cg+iUgK7Jcib4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIDL8yB++1R7ofE6ih+i6U7injN8CrDk9Ib7O9XJ+8PTfAiB4f1TJYzAfP1wJCKOaudmNRLZISqkDuwbVUNHo498kjA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1108173},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"27f3039796acff3b5e6d57d9e8eb36ea2f26a202","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_0.20.1_1789261916578_0.6569020646111512","host":"s3://npm-registry-packages-npm-production"}},"1.0.1":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.1","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.1","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"db382aa0334e09b975a4313a1618ae0c4c47ef14","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.1.tgz","fileCount":173,"integrity":"sha512-ZsUFRXanIiF0XWDjVrpO0L0P5WtaaAAyUibA34CkT20mEPAMud6P2Zvbe35r5mq3Lpv26+sKGflusRiCEHiBqA==","signatures":[{"sig":"MEQCIF5dPXNQD0W8CmKGF2Qw6TZXdrJB6igJ87VAo3jM0ejdAiAZthSfPr9/qyI0wynAq2JgmLPre1mymrPanWfmVcS/Rw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIEDtGevRs5/+K7AgJv6Z7g6LZwXZbWCaiKCmrNMOQjfUAiAICNBQs4GsmXtypaYmKtBdsEpdGhnAGuvGaGrN8Yghjg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1116686},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"5ea974a99fe7d805c790f425829d7f3f67e3b696","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.1_1789285544091_0.31113212961986036","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.2","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.2","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"5d4f115cbc7c172c37ce539959c9caa3efa10a2d","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.2.tgz","fileCount":176,"integrity":"sha512-uRONvLn3syO+2+0QCMgHmtWON3roIECJzwWZcmXKMaSGZ/TJyqpvx0KQ0J4rVHejsk+odt5Mb823MQ0N/Ni30A==","signatures":[{"sig":"MEYCIQD56zcbzfmB6ucz/9GvcCR95cDBSDVWk2Y4T5ihvkwaNQIhAOZoVMRoKrnRRw0VT/Rd/HGln6098rkOeBdiub4l8edd","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB7jDVAg9xR8iaFmq8/BeZ3Ag5fB467e1YVIopYMt8pUAiEAgUqrKZO5Ao58anRKznHavxK/sy51egBfF2OQCQTcIJg=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1126751},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"88028fc9e4dd6c3a37fc07588aa33bedd5184c7c","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.2_1789428844322_0.8219877249140015","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.3","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.3","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"715697533fdf5a87e59c0c04e3b86f4f3bbbc801","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.3.tgz","fileCount":185,"integrity":"sha512-gtJ1AbDO80TZLuUSE2Yh9KBHu64fE5EVCYbSudhc+P0T/mn4wKZMWXhpdi4AzU/DJTHoE78BX4CFw0CT+XK+ag==","signatures":[{"sig":"MEQCIE5Yj0bD7UHBbnsO+wETCvXDYu/c1iQBHNlaYCGXeouEAiBLSQt/pMAtiE7rIS7bje8ZkdHa7L6T1STGjKj6+cqqYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCIV1248T/XzDn+L3751x9mdO7ixPDFSKe9ot6H/BhcfAIhAOqdMp2JzbIOR5y1yCpkl4Vld9iAPH02wkEwQx1wiQCF","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2756408},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4de336072590ab8ad63981c3c305bf0571ed6076","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.3_1789429248876_0.8853262261842672","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.4","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.4","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"0aca934c0f3ba614a6f16b76c4faf7d57ccdea45","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.4.tgz","fileCount":186,"integrity":"sha512-rtkap2eoYxGlq7rO4ZAnkkrPgWOAuooB0mpbHYcvsPc9PHUHw+9S4kUe9JRMoPa+m91H1g6uM7CZ5eV67wjjog==","signatures":[{"sig":"MEQCIGrk8LCuSMLezIKymyEzjQVfoj6gINz1LjdNcsn5PLjOAiA4mjk+t4M/15YyDc2hDnp6u+Wja3VdMIT/LpgtAhS0AQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIH+2Xjq6x/8ZAKTyygU+7Dopl8U25BKOOlmqLm+X8eRPAiEAxFkbPhyF43YG8k6F7wVf8zbHxraQiVvOUi4yIfotf34=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1327555},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"7d3fbef8c40b996c2b5bce0d401c240b85442b51","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.4_1789650825101_0.6416740705890913","host":"s3://npm-registry-packages-npm-production"}},"1.0.5":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.5","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.5","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"2b76ada642b938a0e3375c7ad6f8596a18426aa8","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.5.tgz","fileCount":186,"integrity":"sha512-lBgpNCulBtzT1wzsK3C/Fo+gF7SRujsgvsj0/OVuWix682DKAn/r+7MBgeIGAF8sM61zuGkCbTDMeWSeo/a/Xw==","signatures":[{"sig":"MEUCIQDJxihSeCdfcal6xUoImGy4sby5l9g+nk87WPh2XYuCSgIgKJ6wiWfKrRfHv2NRBpGVApcVScdg8+A0OwJ2G3JLC4Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICNfnDh6rJulCjCuf3pOwHFtEn69TzIyRU2W6F1bYHVcAiEA78WH/tqs1JAE8HcmFiT5DuKNg27IkfM0E5qJSMnv/6k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1330931},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"4b9da7224803e113d016083cb5c71895be28b4a2","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.5_1789653073944_0.9425778559421956","host":"s3://npm-registry-packages-npm-production"}},"1.0.6":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.0.6","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.0.6","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"c54007e4bfe9dd6d4ecd44edc56abbd982a62588","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.0.6.tgz","fileCount":186,"integrity":"sha512-BkAnzzgG9Hfnus51xEbbk1Z46gybraUPotEhT0/WurXalqshiDDTblSYWvcwRXvKKjwXGrCWj80lWeqQQ1k/Jw==","signatures":[{"sig":"MEUCIEQ0q6Z1ynw3pfvSgHjYrXr8qVOsYfZxTM5fyRYSV4TGAiEArdgmdskhUvP2U12XdIrnaKWlF2wxfuAzGRNanp9JCA4=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAfkOZRiJYyCGCnAg3/4Yzy9EYgKAVT3Yy2as2iFIeDbAiEAkFA3jfgS5//Zti7JOEemmP5TDLQxYwjT8vchOOvTtXM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1371100},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"8a5bca7ccca90cff583b539ab4f34d446c64730f","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.0.6_1789657062047_0.8874432273485973","host":"s3://npm-registry-packages-npm-production"}},"1.2.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.2.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.2.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"d4613f804ae40f07b4e61fc7f93d05f123d9486b","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.2.0.tgz","fileCount":189,"integrity":"sha512-0hqgwlUafXa5zdGY8eTT5+B6y51ld4BgCIYdz6KHZUiRFxABYKu7buJyjeYIz9/aP7Kw0IV/2rJLWCaKuG4eow==","signatures":[{"sig":"MEUCIQClMcN7PzaAnuGjLX2RnoYDxnSCtR0m+zf6OyTPBU6REAIgfehyl0/9oOTcL0GqdlHtw3uQNrbnKYWIBiSUFlrjs+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAavuiqGqxxqOfrfHNknB8FvWGTRJUOGfPIsU6wDJfNOAiBIjeXV7tDTKBaB89otiPh6Us3ewBiWKmET3pY7LuGvAg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1458154},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0c11274fa8703e7e416f5b83eaa1032a233e0a45","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.2.0_1789825937847_0.24572271067311013","host":"s3://npm-registry-packages-npm-production"}},"1.3.0":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.0","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.0","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"fe3657e7c186827bf88dd903937aac23a8a78ca7","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.0.tgz","fileCount":189,"integrity":"sha512-iYKUbttPTbQjoGCnnuN1A6Dn5Z5zzDpgLw833b8TGX/SvKTKy5e4UOO3RUFd0nHC1197DLmVWpInm4Gk1oC9XQ==","signatures":[{"sig":"MEUCIH2lg3RPVJiTkIQjv9ncKK0yhn/z9TaRLctlQVFX2sDdAiEAtWIXdnkOGmBomSMF4Qwd6/vEDiBIfm8ZyalHuWs/Znw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIF7Y8jAFmEwe3HGdHroDxnd3nXHrRjDau6Nj7mDh0zieAiEA95yUl4ulxE9/3MZBlC60PcmpcJOAviiUF9ntXrEKf3w=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1446741},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"acc24294168504d7264c01d9ad952503bf42f355","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.0_1789828477757_0.8497958571165571","host":"s3://npm-registry-packages-npm-production"}},"1.3.1":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.1","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.1","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"9b68f2b4b075201d5180a8ec17df1ff439ab494f","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.1.tgz","fileCount":192,"integrity":"sha512-CPRjb06N6JIKYfM6v5Wj0MqEfd5ZWTuZFxAWHm6iyzSZNnonT01A+HoD7ErjOFZTClkI33zftMAS4S0edXWZ2g==","signatures":[{"sig":"MEUCIAsAsiHo+foPJcduZTDCFTdW15EBOomTCJa1lbyvvwroAiEAqYZEaEskMFq14HWPaUzoJ19P8UnlgdvxF9aDN/MoWL0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCMovnyfFSp3H5jMWCy0UsIxPp7Ck6aGUJmaQBeE+Y6LgIhANWQXqWs07ugOBbtPst/v9dH1ZpuM0sLFjeMpVeLts8f","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1486664},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"6f35b64c387adde2f4bb44f6e7b257c4c07074af","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.1_1790301463041_0.3449627060392344","host":"s3://npm-registry-packages-npm-production"}},"1.3.2":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.2","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.2","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"d91286c48b45e364deafb5027aeed216f1625e46","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.2.tgz","fileCount":192,"integrity":"sha512-puncUTdAiLfAfaKeqS64voSLRifsnHSBFHZgGAw/28tlk8G+f+N8DXgjX6m3fNxql/hZTX7IYuL4pIIPxqQZaw==","signatures":[{"sig":"MEUCIQC6k+DsBqHTnfeSeDtkCMBmxtyy4Ff14OKT4t+Ry5pc3AIgRrrIWBPjaisGDZ21gv17sonLaNT27g4ErkGCmIsJDeA=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQCkXkvyzDU0FQZTSte4kr+mVxv75Pc+eHeOzjZ6dT7tgQIgPP6xsQ57ETl5KXJfh/NhNWbyIjaVcT6UTdvt9DcmWDM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1487188},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"b94da5bd449ca1c9f4517348a5217f404590e40b","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.2_1790303347549_0.7919279458102355","host":"s3://npm-registry-packages-npm-production"}},"1.3.3":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.3","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.3","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"131368efb42035000fcd37096c836c5725441a6a","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.3.tgz","fileCount":201,"integrity":"sha512-YEaN2yptgv0t6m/pHo4erWWCc2kH9tEkLq9H9A1tGmWcNSJ77D9RuOlTpUV4qsxeidghXQP5+FRLUnHhoN80Lw==","signatures":[{"sig":"MEUCIQCOP+FrFskVlXXn4JW2wNk8rcwjmwsJP00wTF1CI9+vFAIgL8eZgLUilQuOTrw6u3sHw0amuIOJ/ktXl1yFJO/xT1c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDc0FmjTyZyUA/Q3x8wy7NOjRA+iwV/GFP1NIauaHdXSgIgfHsVU8AMklzVEpu533B0upC5A5hRnhfji5ppNVdIy00=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1533188},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ea9b7d21d5ed96f6bb9e255362c5698b8a867da6","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.3_1790691401850_0.7042010363377824","host":"s3://npm-registry-packages-npm-production"}},"1.3.4":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.4","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.4","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"2a0f2f3492c49552aeaa68802eb99afac3fe0ba9","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.4.tgz","fileCount":201,"integrity":"sha512-/6jw3Anja/YYDfwoo6vGGkGJ/oEI6FHuXAYUx3Pqj78thrGUXYfjXWq+MTAEhLbD4A3AiO8eywK3/Ljrmr2hxQ==","signatures":[{"sig":"MEUCIFX5nZQZFxJpWvcF8nCzRnnrlu8qN/JvZQlJ1jYK37MAAiEAnOB3erFJb+9GC1mIvgwKyGxvpI9foPx4NKmZ5rrsUJY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEQCIAIDXcwmBfOhb+dVnqUT6i4yh61Sc7ERM9uThJ+MeBxtAiAz1gRgcappE2rUZYZnA7I6o92afzloalHJyK4dLxOmlg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1534587},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ea9b7d21d5ed96f6bb9e255362c5698b8a867da6","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.4_1790816878553_0.2912080759904816","host":"s3://npm-registry-packages-npm-production"}},"1.3.5":{"name":"@jesonliu/lark-claudecode-bridge","version":"1.3.5","license":"MIT","_id":"@jesonliu/lark-claudecode-bridge@1.3.5","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"1157a762334a3bd1911304ebe35c272a6c7cbf4a","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.5.tgz","fileCount":201,"integrity":"sha512-Yo9rEhApb7mgHm8JVWNc/dfw3YIF06vqZjaJ4TODL4rwWWVbT0JN+A+/YERYz1aMjq83imF4cDr2p6JV0eZ0vw==","signatures":[{"sig":"MEQCICxFOnE0f6SGrQKVjaISMeSQ4fLsovTBmfPlxJSkgpMBAiBZG/qohwBlmhtibgXIadIJ3fY9sM4N5dojYBgAqDOgsQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIHC1WYmdJYybmbVQLnXEQOBZJMZz3X8dzh0uqx+XfrKDAiEA9jBGsaGtcyGEHN47UbpxAzmI7r4KWO977MxbRpRz7es=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":1538014},"main":"dist/index.js","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"ea9b7d21d5ed96f6bb9e255362c5698b8a867da6","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"tmp":"tmp/lark-claudecode-bridge_1.3.5_1790820086654_0.12085797132100828","host":"s3://npm-registry-packages-npm-production"}},"1.3.6":{"_id":"@jesonliu/lark-claudecode-bridge@1.3.6","bin":{"lcb":"dist/bin/lcb.js"},"dist":{"shasum":"54f22880fe4e700b4a77059cbe005fe8eea77176","tarball":"https://registry.npmjs.org/@jesonliu/lark-claudecode-bridge/-/lark-claudecode-bridge-1.3.6.tgz","fileCount":201,"integrity":"sha512-/ygou0PZv/di5O3hI9rTL5PGV3KXTOilSMEH67+mNP5fy417aLwQgDzuKxCA2gbgqDVhMOro7tVDG+V9i2DDAg==","signatures":[{"sig":"MEQCIFchoa/tMBaFAKYDZZ92ekwf+GfUTFxy3XBp++zu+ubCAiBZccpZTpNOiO+qxzU3o9HroZ0NXBN79wBcoZIwsb1lzA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQD7YPFwOYBu25YtjgN9chOdCCRxctzRLx6sAsfFVUp8EQIgXfzumX5RcYita+XICGSfooS5qvxsPsTx1FPK31TAtIo="}],"unpackedSize":1546663},"main":"dist/index.js","name":"@jesonliu/lark-claudecode-bridge","type":"module","types":"./dist/index.d.ts","engines":{"node":">=20"},"gitHead":"0037081ad5328955d493f16ea1db28298cb08717","license":"MIT","scripts":{"dev":"tsx src/bin/lcb.ts","test":"vitest run","build":"tsc","prepublishOnly":"npm run build"},"version":"1.3.6","_npmUser":{"name":"jesonliu","email":"liuxs0725@gmail.com"},"_npmVersion":"11.11.0","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","directories":{},"maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"_nodeVersion":"24.19.0","dependencies":{"zod":"^4.4.0","diff":"^9.0.0","yaml":"^2.9.0","adm-zip":"^0.6.0","picocolors":"^1.1.1","@larksuiteoapi/node-sdk":"^1.73.0","@anthropic-ai/claude-agent-sdk":"^0.3.247"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.23.12","vitest":"^4.1.11","typescript":"^7.0.2","@types/diff":"^7.0.2","@types/node":"^26.4.0","@types/adm-zip":"^0.5.8"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/lark-claudecode-bridge_1.3.6_1790946782641_0.5118717974804763"}}},"time":{"created":"2026-08-30T01:38:10.701Z","modified":"2026-10-02T13:13:02.931Z","0.3.0":"2026-08-30T01:38:11.071Z","0.3.1":"2026-08-30T03:00:45.330Z","0.5.0":"2026-08-30T15:19:57.705Z","0.7.0":"2026-08-31T14:47:32.766Z","0.8.0":"2026-08-31T14:57:41.339Z","0.9.0":"2026-08-31T15:05:14.421Z","0.10.0":"2026-09-02T00:08:14.235Z","0.11.0":"2026-09-03T00:01:06.053Z","0.13.0":"2026-09-04T14:24:56.054Z","0.14.2":"2026-09-05T02:10:12.609Z","0.15.0":"2026-09-06T23:39:17.731Z","0.17.0":"2026-09-07T14:59:01.410Z","0.18.0":"2026-09-08T14:31:01.202Z","0.18.1":"2026-09-09T00:08:33.794Z","0.19.0":"2026-09-09T14:47:28.111Z","0.20.0":"2026-09-12T02:26:26.911Z","0.20.1":"2026-09-13T01:11:56.686Z","1.0.1":"2026-09-13T07:45:44.213Z","1.0.2":"2026-09-14T23:34:04.433Z","1.0.3":"2026-09-14T23:40:49.005Z","1.0.4":"2026-09-17T13:13:45.264Z","1.0.5":"2026-09-17T13:51:14.058Z","1.0.6":"2026-09-17T14:57:42.144Z","1.2.0":"2026-09-19T13:52:17.947Z","1.3.0":"2026-09-19T14:34:37.888Z","1.3.1":"2026-09-25T01:57:43.148Z","1.3.2":"2026-09-25T02:29:07.647Z","1.3.3":"2026-09-29T14:16:42.036Z","1.3.4":"2026-10-01T01:07:58.695Z","1.3.5":"2026-10-01T02:01:26.770Z","1.3.6":"2026-10-02T13:13:02.765Z"},"license":"MIT","description":"飞书 ↔ Claude Code 桥接器：卡片确认走长连接，免公网 IP","maintainers":[{"name":"jesonliu","email":"liuxs0725@gmail.com"}],"readme":"# lark-claudecode-bridge\n\n飞书 ↔ Claude Code 桥接器：在飞书里遥控本机 Claude Code。\n写操作以卡片按钮确认（长连接回调），结果文本与产出文件回传飞书。\n**无需公网 IP、无需内网穿透；无需预装 Claude Code CLI，一键安装 + 网页配置即可使用。**\n\n![配置页概览](docs/images/1.overview.png)\n\n## 快速开始\n\n### 前置条件\n\n1. Node.js ≥ 20\n2. Claude 认证（二选一，详见[认证双模式](#认证双模式inherit--managed)）：\n  - **bridge 托管（推荐，免本机登录）**：准备 `ANTHROPIC_API_KEY`（官方）或 `ANTHROPIC_AUTH_TOKEN` + `ANTHROPIC_BASE_URL`（第三方中转端点），在配置页填写即可\n  - **继承本机**：本机已 `claude login`（任意鉴权方式），桥接器自动共享 `~/.claude` 全套配置\n\n### 安装\n\n```bash\nnpm install -g @jesonliu/lark-claudecode-bridge\nlcb start\n```\n\n首次运行 `lcb start` 检测到没有配置时，会自动打开浏览器进入配置页（`http://127.0.0.1:17317`）：填飞书凭证 → 选认证方式 → 完成后重新 `lcb start` 即可使用。\n\n偏好命令行问答的也可以用 `lcb setup`（两者产物等价）。配置页也可单独启动：`lcb ui`（不启动机器人，可与运行中的桥接器共存）。\n\n### 飞书应用配置（图文）\n\n1. [https://open.feishu.cn](https://open.feishu.cn) → 创建企业自建应用 → 添加「机器人」能力\n2. 权限管理开通：`im:message`（含读取单聊消息，回复引用拼接用）、`im:message:send_as_bot`、`im:resource`（接收图片/文件用）、`contact:user.base:readonly`、`application:app_slash_command:write` / `application:app_slash_command:read`（斜杠命令同步用）、`cardkit:card:write`（建议开通：卡片局部刷新；不开自动降级为整卡更新，功能不缺）\n3. 事件与回调 → 事件配置 → 订阅方式选「使用长连接接收事件」→ 添加 `im.message.receive_v1`\n4. 事件与回调 → 回调配置 → 订阅方式选「使用长连接接收回调」→「已订阅的回调」点「添加回调」，添加「卡片回传交互」（`card.action.trigger`）\n5. 凭证与基础信息 → 复制 App ID / App Secret\n6. 版本管理与发布 → 创建版本并发布，管理员审核通过\n7. `lcb start`（首次自动进配置页）或 `lcb setup` 填入凭证 → 私聊机器人发「/help」\n\n> 飞书权限开通后，需在飞书开发者后台创建新版本并发布，然后重启 该bridge 才生效。\n\n## 首次使用\n\n- 支持的消息类型：**文字**、**富文本**（多行/粘贴）、**图片**、**文件**（直接拖/发文件给机器人）——图片与文件自动下载到本机 `~/.lark-claudecode-bridge/inbox/`，路径随消息带给 Claude Code 直接读取（单文件上限 100MB，飞书接口限制）\n- 每个机器人应用的**首位发消息用户免配对**，自动成为 admin\n- 后续新用户收到 6 位配对码（15 分钟内有效）：在 `lcb start` 的运行终端输入该码回车，或另开终端 `lcb pair <code>` 批准——写盘后自动生效，无需重启\n\n## Web 配置页\n\n配置页随桥接器常驻 `http://127.0.0.1:17317`（也可 `lcb ui` 单独启动，写盘后运行中的桥接器自动拾取可热字段）。共 9 个配置页签：\n\n- **概览** —— 桥接器进程启停 / 重启 / 后台运行、版本检查与一键更新、各机器人应用运行状态。\n- **飞书应用** —— 多机器人管理：App ID / Secret（脱敏回显）、默认工作区、并发上限、人格补充（`append_system_prompt`）、触发词、环境变量、**机器人级厂商档案**（`profile` / `profile_model`：该机器人专用某套档案的认证与模型，未配置跟随全局，改动热生效）。\n- **工作区** —— 工作区白名单（名称 / 路径）与全局默认工作区，改动热生效。\n- **Claude 认证** —— inherit / managed 双模式切换、认证凭证（API Key / Auth Token / Base URL）、模型、厂商档案（多套凭证一键切换；候选模型可标记 `[1m]` 1M 上下文后缀，如 `glm-5.3[1m]`）、托管环境变量。\n- **权限** —— 全部工具免确认开关（`permissions.allow_all_tools`，缺省开）、免确认工具白名单（`permissions.allow_tools`）与危险命令黑名单，保存后热生效。\n- **斜杠命令** —— 把内置命令（`/new` `/status` …）+ 自定义透传命令一键同步为飞书输入框斜杠指令（输入 `/` 弹面板，选中后可继续输入描述再发送）。\n- **插件** —— Claude Code 插件清单（启停 / 卸载，本机 `~/.claude` 与托管目录带来源标记）、从 marketplace 安装、管理市场。\n- **Skills** —— 四来源技能聚合清单（本机用户级 / bridge 托管 / 工作区项目级 / 插件内只读），支持新建、删除、zip 导入。\n- **MCP** —— MCP Servers 管理（命令方式或 JSON 配置添加）、状态探测、抽屉查看 env 引用展开值；任务级热生效。\n\n## lcb 命令\n\n\n| 命令                           | 说明                                                          |\n| ---------------------------- | ----------------------------------------------------------- |\n| `lcb setup`                  | 引导式配置（命令行问答；与配置页产物等价，预置 permissions / server 默认段）           |\n| `lcb start`                  | 启动桥接器（前台，为每个机器人各建一条长连接 + 内嵌 Web 配置页；首次安装自动进引导；终端可直接输入配对码批准） |\n| `lcb ui`                     | 仅启动 Web 配置页（不启动机器人；可与运行中的桥接器共存，写盘后桥接器自动拾取可热字段）              |\n| `lcb pair <code>`            | 另开终端批准 6 位配对码                                               |\n| `lcb app list`               | 列出机器人应用                                                     |\n| `lcb app add`                | 添加机器人应用（交互式；旧单应用配置会自动升级为多应用格式，重启后生效）                        |\n| `lcb app remove <名字|app_id>` | 删除机器人应用（最后一个不可删；其会话分片与落盘目录保留待人工清理）                          |\n| `lcb ws add <名字> <路径>`       | 添加工作区（路径需已存在；增量写回，保留 config.yaml 注释）                        |\n| `lcb ws remove <名字>`         | 删除工作区（默认工作区被删时自动回退；apps 里的引用联动清理）                           |\n| `lcb ws list`                | 列出工作区（`*` 为默认）                                              |\n| `lcb version`                | 查看版本                                                        |\n\n\n> **热生效**：桥接器运行中执行 `lcb ws add / remove`，下一条消息到达时自动重读配置，无需重启（apps 应用列表、凭证与 `concurrency` 改动除外，需重启）。\n\n## 命令速查（飞书里发给机器人）\n\n\n| 命令                        | 说明                                                                                                                                                        |\n| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| /new                      | 开新会话（历史保留，`/resume` 可随时切回）                                                                                                                                |\n| /resume                   | 列出/恢复历史会话（`/resume <编号>` 恢复指定会话；列表标注当前续接的会话）                                                                                                              |\n| /stop                     | 停止当前任务                                                                                                                                                    |\n| /status                   | 当前状态                                                                                                                                                      |\n| /ws list / /ws use 名字     | 工作区（切换仅 admin 可用）                                                                                                                                         |\n| /model                    | 查看当前模型；`/model <名字>` 通道级切换；`/model reset` 恢复默认                                                                                                            |\n| /model-profile            | 查看/切换厂商档案（多厂商凭证+模型整体切换，切换仅 admin；managed 模式下一条消息生效）                                                                                                       |\n| /plan                     | 计划模式开关：开启后每个任务先出计划 → 飞书卡片批准 / 按意见修改 / 放弃 → 批准后自动执行；git 仓库工作区任务收尾发汇总 diff 卡片                                                                               |\n| /skills / /plugins / /mcp | 查看本会话实际加载的技能 / 插件 / MCP 服务                                                                                                                                |\n| /plugin                   | 插件管理：`/plugin list`（全员，含本机 ~/.claude 与托管目录两处清单）；`install/uninstall/enable/disable/marketplace …`（仅 admin，默认装 ~/.claude，`--dir=managed` 装托管目录），装好下一条消息自动加载 |\n| /reload-plugins           | 重载插件：清插件发现缓存，下一条消息重新扫描加载（终端命令的 bridge 等价物）                                                                                                                |\n| /help                     | 帮助                                                                                                                                                        |\n| 其它 `/xxx`                 | **原文透传**给 Claude Code 派发斜杠命令（如 `/superpowers:brainstorming` 触发插件技能）                                                                                       |\n\n\n> 清单类命令（/skills 等）的数据来自最近一次会话的加载清单；刚启动还没跑过任务时，先发一条普通消息（如「你好」）再查。\n\n## 配置文件 ~/.lark-claudecode-bridge/config.yaml\n\n`lcb setup` 会引导生成，也可手动编辑（或用 `lcb app add / lcb ws add / remove` 增量维护，保留注释）。字段说明见仓库内 `config.example.yaml`：\n\n```yaml\napps:                      # 多机器人：每个应用一条长连接\n  - name: 主力助手          # 显示名，缺省取 app_id\n    app_id: cli_xxxx        # 飞书开放平台 → 凭证与基础信息\n    app_secret: xxxx\n    # domain: lark          # 国际版 Lark 才需要\n    # default_workspace: demo   # 该机器人的默认工作区\n    # concurrency: 2        # 该机器人的并发上限\n    # append_system_prompt: '你是我的素材收集助手'   # 人格补充（多机器人差异化定位的主要手段）\n    # env:                  # per-app 环境变量（改后下一条消息热生效；注意 ~/.claude/settings.json\n    #                         # 的 env 优先级更高，此处适合放 settings.json 里没有的键）\n    #   SOME_PLUGIN_KEY: xxx\nworkspaces:                # 工作区白名单（列表全局共享；「当前用哪个」per-app 隔离）\n  - name: demo\n    path: F:\\workspace\\demo\ndefaults:\n  workspace: demo\nconcurrency: 3             # 通道间并发上限（未单独配置的 app 沿用）\n# permissions:             # 工具确认与危险命令（整块可选；setup / 配置页新建时预置完整默认值，页面可增删）\n#   allow_all_tools: true  # 全部工具免确认（缺省开）：开启后除命中 dangerous_commands 的 Bash 外，\n#                          #   所有工具（含 Write/Edit）都不再弹确认卡；关闭则回落 allow_tools 白名单语义\n#   allow_tools:           # 免确认直通工具（仅 allow_all_tools 关闭时生效）；配置即整体替换内置默认\n#                          # 内置默认：Read/Glob/Grep/LS/TodoRead/TodoWrite/WebFetch/WebSearch/Bash\n#   dangerous_commands:    # Bash 危险命令正则（不区分大小写），命中弹确认卡\n#   - 'rm\\s+-rf'           # 内置默认覆盖 rm -rf/sudo/git push --force/git reset --hard/mkfs/dd if=/\n#                          #   chmod 777/管道执行远程脚本/shutdown 等；allow_all_tools 开启时是唯一安全网\n# server:                  # Web 配置页（随 lcb start 常驻；也可 lcb ui 单独启动）\n#   enabled: true          # 缺省 true；false 则不启动\n#   host: 127.0.0.1        # 仅绑回环（改非回环 = 局域网可见，注意安全）\n#   port: 17317\n# claude:                  # 认证双模式；缺省 = inherit（共享本机 ~/.claude）\n#   mode: managed          # managed = bridge 托管（无需本机 claude login）\n#   auth_token: sk-xxx     # ANTHROPIC_AUTH_TOKEN（中转站常用；与 api_key 二选一）\n#   # api_key: sk-ant-xxx  # ANTHROPIC_API_KEY（官方）\n#   base_url: https://relay.example   # 中转站端点；官方留空\n#   model: claude-sonnet-5 # 写入托管目录 settings.json\n#   env:                   # 全局环境变量（全部机器人共享，改后热生效；MCP 工具依赖的\n#                          # LARK_APP_ID / IMAGE_GEN_* 等在此配置）。inherit 模式并入每任务\n#                          # 子进程 env；managed 模式写入托管 settings.json。认证四键\n#                          # （ANTHROPIC_AUTH_TOKEN/API_KEY/BASE_URL/MODEL）不在此生效\n#     LARK_APP_ID: cli_xxxx\n# slash_commands:          # 飞书斜杠命令同步；内置命令恒参与，此处为自定义透传命令\n#   extra:\n#     - command: produce\n#       description: 内容生产流程\n#       icon: skill_outlined\n# transcripts:             # 对话落盘清理策略；缺省 = 永久保留\n#   retention_days: 90\n# session:                 # 会话行为微调\n#   context_remind_tokens: 150000   # 上下文超长提醒阈值（tokens）；0 = 关闭；改后热生效\n```\n\n### 认证双模式（inherit / managed）\n\n\n|                        | inherit（缺省）                                     | managed                                                                      |\n| ---------------------- | ----------------------------------------------- | ---------------------------------------------------------------------------- |\n| 认证来源                   | 本机 `~/.claude`（`claude login` 或其 settings.json） | config.yaml `claude` 段 → 写入 `~/.lark-claudecode-bridge/claude/settings.json` |\n| 适用                     | 本机已在用 Claude Code 的用户                           | 干净机器 / 不想动本机配置；配 API Key 或中转站 Token                                          |\n| 模型 / MCP / skills / 插件 | 继承 `~/.claude` 全套，无须二次配置                        | 全部落在托管目录，与本机 `~/.claude` 完全隔离；已启用插件双目录合并加载                                   |\n| 切换                     | 改 `claude.mode` 后**重启**生效                       | 同                                                                            |\n\n\n配置页「Claude 认证」tab 可视化切换；managed 模式下认证 / 模型改动保存后即对后续任务生效（无需重启）。多个机器人共享同一套 Claude 配置，会话池与并发各自独立。\n\n### MCP 环境变量：三种来源与优先级\n\nMCP server 配置（`.mcp.json` / `~/.claude.json` / 插件 `plugin.json` 的 `mcpServers`）里写的 `${VAR}` / `${VAR:-default}` 引用，由 Claude Code CLI 在启动 server 时从**子进程环境**展开。桥接侧可注入变量的三处来源（优先级低 → 高）：\n\n| 来源 | 位置 | 作用范围 | 热生效 |\n| --- | --- | --- | --- |\n| `claude.env` | config.yaml `claude` 段 / 配置页「Claude 认证 → 环境变量」 | 全部机器人共享 | ✅ 改后下一条消息（managed 同步写托管 settings.json） |\n| `apps[].env` | config.yaml 各应用段 | 仅该机器人 | ✅ 改后下一条消息 |\n| server 自身 `env` 明文 | MCP 配置 JSON 里直接写值 | 仅该 server | 随 MCP 配置任务级现读 |\n\n排障口诀：\n- server 起得来、工具列得出、**一调用就失败** → 大概率是 `${VAR}` 展开失败。CLI 的行为是把**字面量 `${VAR}` 原样传给 server**（不报启动错误），先确认变量已进上面前两处任一通道（任务启动时终端会打 `[env] 本任务注入自定义环境变量 …` 键名清单）。\n- 生效目录 `settings.json` 的 env 块由 CLI 自行应用且**优先级高于**上述注入（见已知限制 2）——同名键排查先看 settings.json。\n\n## 常驻运行\n\n- **Windows**：任务计划程序建「开机时启动」任务，程序指向 `windows-start.bat`（先放到固定位置，如 `C:\\tools\\lcb\\windows-start.bat`）\n- **macOS**：把 `com.lark-claudecode-bridge.plist` 放到 `~/Library/LaunchAgents/`，然后 `launchctl bootstrap gui/$(id -u) ~/Library/LaunchAgents/com.lark-claudecode-bridge.plist`\n- **Linux**：把 `lark-claudecode-bridge.service` 放到 `~/.config/systemd/user/`，然后 `systemctl --user daemon-reload && systemctl --user enable --now lark-claudecode-bridge`\n\n模板文件见 [deploy/](deploy/)（npm 包内同路径）。\n\n## ⚠️ 安全须知（必读）\n\n本机 Claude Code 是共用资源：白名单用户可通过确认卡片让它在你电脑执行任意命令。\n请只批准信任的人；工作区白名单、用户白名单、写操作确认三道闸不要关闭。\n\n**隐私提醒**：对话全文（含代码、文件路径）明文落盘于 `~/.lark-claudecode-bridge/transcripts/`；`config.yaml` 中的 `app_secret` 与 `apps[].env` 值同样为明文。请自行控制该目录与文件的访问权限，并按需配置 `transcripts.retention_days` 保留期。\n\n## 已知限制\n\n1. **Linux 上 &gt;10 文件不打 zip**：文件打包依赖 bsdtar 的 zip 容器支持（Windows 10+ / macOS 自带），Linux 的 GNU tar 会自动退化为逐个上传文件（功能不丢，只是消息条数多）。\n2. **共享 ~/.claude 的副作用**：本机 user 级 hooks 也会在机器人任务里执行（含阻断型 PostToolUse hook）；`apps[].env` / `claude.env` 的同名键会被生效目录 `settings.json` 的 `env` 覆盖（inherit = 本机 `~/.claude`，managed = 托管目录；见「MCP 环境变量」小节）。例外：机器人级厂商档案（`apps[].profile`）的认证三键经独立 settings 文件以 CLI `--settings` 参数注入（命令行层优先级最高，不受此压制）；模型经 `--model` 参数路由。\n3. **多机器人总并发 = 各应用并发之和**：N 个机器人同时满载时会同时跑 Σ(concurrency) 个 Claude Code 子进程，机器吃紧可按 app 调低。\n4. **配置页默认仅本机可访问**（127.0.0.1）：改 `server.host` 放开到局域网意味着页面可读写全部凭证，请仅在可信网络使用。\n\n## 开发\n\n```bash\nnpm install\nnpm test          # vitest 全量单测\nnpm run build     # tsc → dist/\nnode dist/bin/lcb.js version\n```\n\n## License\n\nMIT","readmeFilename":"README.md"}