{"_id":"@areoneplayer/dsh-feishu-bot","_rev":"8-c8742f2371d00622c8607b3348b964d5","name":"@areoneplayer/dsh-feishu-bot","dist-tags":{"latest":"0.1.7"},"versions":{"0.1.0":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.0","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.0","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"8cbc1228a58f934a730f0275b70db59744e85268","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.0.tgz","fileCount":11,"integrity":"sha512-xF6KozVvxjckgEcrsM890Cz0Xx9NhwxYwU8WsOcVKbmJ50mz/AbPz53wX1XWWEf8Mfj7JUKtMtpMDo9+5oz5hg==","signatures":[{"sig":"MEQCICqRLUNBPooqb31dANff+pGn3U8rWGDdq+dBa0f/PTgcAiA/MUyIZyf9uyn2jwUWXU30QU+QM4L8lIeq+q+HNSy83Q==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70042},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"b007faacd0d635ec23369ce7168cfe5a955b3105","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"11.9.0","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.0_1787063490579_0.8405754972682049","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.1","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.1","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"1478c3d973679606e58f0cb4140a4d5c7816394d","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.1.tgz","fileCount":11,"integrity":"sha512-RB8+HTSnYzymQfjbardFAxEGpjY5B1h3amuZo9NQo3ndSNpzaIkjBbfl7DUcg2PRn1YaGEOZXuqN0bTiSp0rsw==","signatures":[{"sig":"MEUCIAyScvVFv15nfk42M1CYJ2MPm5wEljnbwcyTLrASHOHFAiEA2SxDOsfIvcJn9Y6EOfQ/NXaGIpBsIyQdJmLsqY/LiRc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70042},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"02dc7e4463a4eafe206dc5ae4573408004a73481","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"11.9.0","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.1_1787063663674_0.6154774536546022","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.2","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.2","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"bcb2179079a02f102b89d69f0e3db7ae58c5ede6","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.2.tgz","fileCount":12,"integrity":"sha512-P0iZrPXby3JEX7OlghfYmzHM/7AWjYAil0X5SLsg81K6yFn6oLULF/s30ULNkllokEq4k6ncl0rTGW6vB+zNEg==","signatures":[{"sig":"MEUCIQC+ZoP6HLfzdyhtvTN4eiXd3ZsCQtGHSUXB8y/Ty9fPDAIgBH4/XThV9T0duOXu9/cc1lHxg5LcTQBDamJd9sk0I6Q=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91161},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"2de6c79846ef86123163e6ea36d1df0b0920d0fc","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"11.9.0","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"24.14.0","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.2_1787072501693_0.9387552330331448","host":"s3://npm-registry-packages-npm-production"}},"0.1.3":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.3","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.3","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"30e3252238e4c80908a204d6ce081beacc2d1b5a","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.3.tgz","fileCount":12,"integrity":"sha512-Nz9clNDiuCQXJoy7aoUi02YEV3bZQb0VFv+Y521XeSWbKFS7evIZZFjRNLdKAYN0qkZZeZHoS1BnPOwW6Mi9fA==","signatures":[{"sig":"MEYCIQC1SaPWdobe2bHBSg+ISaTF0Bviun+xNkrthLqs6GwQaAIhAOswdR0GQjCTl56VDcWY8/3G0vzdb7smLo95Jmv+1tqz","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":91161},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"e262a34ea1e3e46906dc7e8080ae64993bd60e82","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"10.9.8","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.3_1787072922570_0.7136029289175527","host":"s3://npm-registry-packages-npm-production"}},"0.1.4":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.4","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.4","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"bacfb15a41f8549e25f873d5c558b61b21f0e765","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.4.tgz","fileCount":12,"integrity":"sha512-VifIO1WNx8HHrmSdGvujpXyMsmL4b66DMBOLxPaQ4L1tfrBfhMZhoiYwFOcF4OJgXLp+ejp3x9wI0zlQOmNzRw==","signatures":[{"sig":"MEUCIQCkVq2UEXKfTh/tE9jJkFD2Oql+di8sHhBY9MSDqHOo9AIgfhHITVHsK3P6WaKeIQT0LEC2lPNbEuKFaBQo0QCI0tk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":92227},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"da91216ac9d44242e080677362ccefaffa083a82","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"10.9.8","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.4_1787074109513_0.003993367792988423","host":"s3://npm-registry-packages-npm-production"}},"0.1.5":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.5","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.5","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"8a8645eb8c7e642c24c4b8049e7b384de2a76f9f","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.5.tgz","fileCount":12,"integrity":"sha512-oc9PNi6ckbqwt7UK7xQNtY6p3YG9YTQ0BXAWpVrBbguS5apyBVSbT4W9yf+ZLlFhSBlB8L813vOyBl6D6g88yw==","signatures":[{"sig":"MEUCICJBP6RuAuKY/wPaiscK3W87pPx3iA5Oa1xOnMKbD6BVAiEAu/qdd73G0kjj/GQLsrQPT/YhXB+O4s3HDz/t52mIRX8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107243},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"86c8eb669bcefc2019fcb3803e219f926ccd9b4c","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"10.9.8","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.5_1787083740155_0.18264526050054797","host":"s3://npm-registry-packages-npm-production"}},"0.1.6":{"name":"@areoneplayer/dsh-feishu-bot","version":"0.1.6","license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.6","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"dist":{"shasum":"f98d7841683aa03ceb1a504d5d65bc440c2e9236","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.6.tgz","fileCount":12,"integrity":"sha512-iO9pb7k/juGqvVnKQFit9kXa/qno3aJ30ewE8m8fNQWx5ns29c8CLT5OSMEj0V9NT5L1TETdKxtY5AkiZNFtUw==","signatures":[{"sig":"MEQCIFkjGP87+q9mqgjJLqFB1juy3lu78Vrtpz6HtzIf5GzVAiAtD5R9XtKGDAfae6a481QJcDU8JG+0d5MmGgEd6N9gIA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":107749},"main":"lib/index.js","type":"module","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./src/*":"./src/*","./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./package.json":"./package.json"},"gitHead":"803b077db86bc0a1ffce34fafa3cc7ed4d2a152e","scripts":{"test":"vitest run","build":"tsc -p tsconfig.build.json && tsdown","watch":"tsdown --watch","prepare":"tsdown","typecheck":"tsc --noEmit"},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"repository":{"url":"git+https://github.com/wangsan71/DSh-feishu-bot.git","type":"git"},"_npmVersion":"10.9.8","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","directories":{},"_nodeVersion":"22.23.2","dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"jsdom":"29.1.1","react":"^18.3.1","tsdown":"0.22.2","vitest":"^4.1.8","react-dom":"^18.3.1","typescript":"~5.7.2","@types/node":"^22.20.0","@types/react":"~18.3.1","lightningcss":"1.32.0","@types/react-dom":"^18.3.5","@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","vite-tsconfig-paths":"^6.1.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6"},"peerDependencies":{"react":"^18.2.0","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6"},"_npmOperationalInternal":{"tmp":"tmp/dsh-feishu-bot_0.1.6_1787084403151_0.23832618477607714","host":"s3://npm-registry-packages-npm-production"}},"0.1.7":{"name":"@areoneplayer/dsh-feishu-bot","description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","version":"0.1.7","type":"module","publishConfig":{"access":"public"},"repository":{"type":"git","url":"git+https://github.com/wangsan71/DSh-feishu-bot.git"},"main":"lib/index.js","types":"lib/types/index.d.ts","exports":{".":{"types":"./lib/types/index.d.ts","default":"./lib/index.js"},"./client":{"types":"./lib/types/client/index.d.ts","default":"./lib/client.js"},"./src/*":"./src/*","./package.json":"./package.json"},"dsh":{"bundle":{"patch":"./cordis.patch.yml"},"client":{"inject":["@deepseek-ai/dsh-client-runtime","@deepseek-ai/dsh-client-connection","@deepseek-ai/dsh-client-ui-settings"],"platform":"web"}},"scripts":{"build":"tsc -p tsconfig.build.json && tsdown","prepare":"tsdown","watch":"tsdown --watch","test":"vitest run","typecheck":"tsc --noEmit"},"dependencies":{"@larksuiteoapi/node-sdk":"^1.73.0"},"peerDependencies":{"@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","react":"^18.2.0"},"devDependencies":{"@deepseek-ai/cordis":"^4.0.1","@deepseek-ai/dsh-agent":"^0.1.0-rc.6","@deepseek-ai/dsh-agent-default-model":"^0.1.0-rc.6","@deepseek-ai/dsh-client-connection":"^0.1.0-rc.6","@deepseek-ai/dsh-client-locale":"^0.1.0-rc.6","@deepseek-ai/dsh-client-runtime":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-conversation":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-settings":"^0.1.0-rc.6","@deepseek-ai/dsh-client-ui-slots":"^0.1.0-rc.6","@deepseek-ai/dsh-fs":"^0.1.0-rc.6","@deepseek-ai/dsh-host-webserver":"^0.1.0-rc.6","@deepseek-ai/dsh-subprocess":"^0.1.0-rc.6","@deepseek-ai/dsh-system-prompt":"^0.1.0-rc.6","@deepseek-ai/dsh-tools":"^0.1.0-rc.6","@deepseek-ai/dsh-user-questions":"^0.1.0-rc.6","@deepseek-ai/dsh-workspace":"^0.1.0-rc.6","@types/node":"^22.20.0","@types/react":"~18.3.1","@types/react-dom":"^18.3.5","jsdom":"29.1.1","lightningcss":"1.32.0","react":"^18.3.1","react-dom":"^18.3.1","tsdown":"0.22.2","typescript":"~5.7.2","vite-tsconfig-paths":"^6.1.1","vitest":"^4.1.8"},"license":"BSD-3-Clause","_id":"@areoneplayer/dsh-feishu-bot@0.1.7","gitHead":"417ac3fd5d2070dc488270df1b86930e33614f29","bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","_nodeVersion":"22.23.2","_npmVersion":"10.9.8","dist":{"integrity":"sha512-UcpS/qFK6HxaB17cIXeIp4DAh+dlFoTPqoKhJtPLIQ0MDuhK33MzZUr+PrXHMl7Bvu/y15PXRWVPVBTM8nPJGw==","shasum":"ee4270ccda9a4de141d758c1446b8c4f8b68ab8e","tarball":"https://registry.npmjs.org/@areoneplayer/dsh-feishu-bot/-/dsh-feishu-bot-0.1.7.tgz","fileCount":12,"unpackedSize":107916,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIDvOf4zJrJtwp+ESAt+jwE300DiR0cqwZgVLv8m2sQdrAiA4Grb1UwoK6Zitom6cFVuDu6wXG+NPOEZcS3ru9aVYvQ=="}]},"_npmUser":{"name":"areoneplayer","email":"thomassan1031@gmail.com"},"directories":{},"maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/dsh-feishu-bot_0.1.7_1787085438603_0.6800853704183876"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-18T14:31:30.265Z","modified":"2026-08-18T20:37:18.963Z","0.1.0":"2026-08-18T14:31:30.720Z","0.1.1":"2026-08-18T14:34:23.828Z","0.1.2":"2026-08-18T17:01:41.847Z","0.1.3":"2026-08-18T17:08:42.723Z","0.1.4":"2026-08-18T17:28:29.669Z","0.1.5":"2026-08-18T20:09:00.308Z","0.1.6":"2026-08-18T20:20:03.306Z","0.1.7":"2026-08-18T20:37:18.820Z"},"bugs":{"url":"https://github.com/wangsan71/DSh-feishu-bot/issues"},"license":"BSD-3-Clause","homepage":"https://github.com/wangsan71/DSh-feishu-bot#readme","repository":{"type":"git","url":"git+https://github.com/wangsan71/DSh-feishu-bot.git"},"description":"Feishu/Lark AI bot for DSH: long-connection (WebSocket) event receiving, per-chat DSH agent binding and auto-reply, workspace/session menu commands (NEW_WORKSPACE / NEW_SESSION / WORKSPACE_CHANGE / CHANGE_SESSION), domain auto-detection for both Feishu (o","maintainers":[{"name":"areoneplayer","email":"thomassan1031@gmail.com"}],"readme":"# dsh-feishu-bot — 飞书/Lark 机器人插件\n\n让 DSH 通过**飞书（国内）**或 **Lark（国际）**与你对话：机器人在会话里收到消息，\n自动交给一个独立的 DSH agent 处理，再把回复发回同一个会话。全程走**长连接\n（WebSocket）**，不需要公网 URL、不需要隧道。\n\n## 功能特性\n\n- **长连接接收事件**：用官方 SDK 的 WebSocket 长连接，无需公网 URL / frp / ngrok。\n- **国内外通用**：`domain` 自动检测（先试 `open.feishu.cn` 再试 `open.larksuite.com`），\n  也可手动指定 `feishu` / `lark`。\n- **每会话一个 DSH agent**：每个 Lark 会话（chat_id）绑定独立 agent 会话，互不串线；\n  agent 带全部 DSH 工具（文件、命令、搜索等），回复自动截断到 `max_reply_chars`。\n- **机器人菜单命令**：在聊天里直接发命令即可切换/新建会话与工作区（见下表）。\n- **新手友好**：Web 设置页（设置 → 插件 → Feishu/Lark Bot）显示状态、开发者后台\n  二维码（扫码用手机打开后台建应用）、AppID/Secret 表单、保存/刷新。\n- **Agent 工具**：`lark_status`（状态）、`lark_configure`（写配置并重启桥接）、\n  `lark_test`（验证凭据与连接）——把本仓库地址发给任意 DSH agent，它能自主完成配置。\n- **交互卡片选择**：菜单「切换会话 / 切换工作区」弹出卡片按钮，点按钮即完成切换。\n- **DSH 向你提问**：agent 调用提问工具时，问题（带编号选项）转发到飞书，回复即答案。\n- **跨对话通知**：任意 DSH 对话的 agent 调用 `lark_notify` 即可向飞书发通知\n  （格式 `[工作区]-[对话]：[内容]`；目标默认 `notify_chat_id`，见初始化文档）。\n  Shell 手动发通知用 `node scripts/send-notify.cjs --text \"你好\"`（UTF-8 安全）。\n- **发送文件**：agent 调用 `lark_send_file` 可把本机文件（≤30MB）直接发到飞书聊天。\n\n> 📖 **文档**：[初始化文档](初始化文档.md)（从零接入）· [交接文档](交接文档.md)\n> （维护者：架构、官方开发格式、发布流程、变更记录）。\n\n## 安装\n\n把本仓库地址给 DSH agent，或手动执行：\n\n```sh\n# 本地路径（开发）\ndsh plugin --profile web add link:<本仓库路径>\n\n# GitHub 地址\ndsh plugin --profile web add git+https://github.com/wangsan71/DSh-feishu-bot.git\n\n# npm（发版后，推 vX.Y.Z tag 自动发布）\ndsh plugin --profile web add @areoneplayer/dsh-feishu-bot\n```\n\n安装后重启 `dsh web`（或按 `dsh plugin` 提示热挂载）。侧边栏 设置 → 插件 里应出现\n「Feishu/Lark Bot」页。\n\n## 快速配置（新手三步）\n\n1. **创建应用**：用手机扫设置页里的二维码，打开开发者后台（国内\n   `https://open.feishu.cn` / 国际 `https://open.larksuite.com`），扫码登录后\n   「创建企业自建应用」，开启**机器人**能力，添加权限 `im:message` 与\n   `im:message:send_as_bot`（群聊再加 `im:message.group_msg`），事件订阅选\n   **使用长连接接收事件**并订阅 `接收消息 im.message.receive_v1`（无需填 URL）。\n   复制 **App ID** 与 **App Secret**。\n2. **填凭据**：在设置页粘贴 App ID / App Secret（平台选「自动检测」即可），点\n   「保存并重启桥接」；或让 agent 执行 `lark_configure`。\n3. **验证**：给机器人发一条文字消息，应收到 DSH agent 的回复。可用 `lark_test`\n   先验证凭据。\n\n配置落盘在 `~/.dsh/dsh-feishu-bot.json`（`app_id` / `app_secret` / `domain`）。\n\n## 对话命令\n\n在机器人的聊天里直接发以下命令（中英文均可，可加 `/` 前缀）：\n\n| 命令 | 动作 | 说明 |\n|---|---|---|\n| `新建工作区 <路径> [标题]` / `NEW_WORKSPACE` | 创建并切换到新工作区 | 路径须为已存在的目录 |\n| `新建会话` / `NEW_SESSION` | 在当前工作区新建会话 | 新会话绑定的 agent 独立对话 |\n| `切换工作区 [编号/路径]` / `WORKSPACE_CHANGE` | 在**已创建**的工作区之间切换 | 不带参数时弹出卡片并列出全部工作区 |\n| `切换会话 [编号]` / `CHANGE_SESSION` | 在**当前工作区**的会话之间切换 | 不带参数时弹出卡片并列出当前工作区的会话 |\n| `帮助` / `HELP` | 显示命令列表 | |\n\n每个聊天（chat_id）的当前工作区/会话保存在 `~/.dsh/dsh-feishu-bot-state.json`；\n切换到已存在的会话会恢复其历史对话。\n\n> 切换类命令不带参数时会发送**交互卡片**（每个选项一个按钮），点击按钮即可切换；\n> 也可以直接在单聊里回复编号。\n\n## DSH 向你提问\n\n当 DSH agent 需要向你确认（例如调用 `ask_user_question`）时，机器人会把问题\n转发到飞书（带编号选项），你在聊天里回复答案即可，agent 会继续执行。\n\n## Agent 自动配置\n\n把本仓库 URL 复制给任意 DSH agent，它会读本 README 并依次执行：clone/install →\n`lark_configure`（填 AppID/Secret）→ `lark_test`（验证）→ 请你发消息测试。整个\n「创建应用」环节仍需你在开发者后台完成（扫码登录建应用，约两分钟）。\n\n## 手动配置（配置文件）\n\n```json\n{\n  \"app_id\": \"cli_xxxxxxxxxxxxxxxx\",\n  \"app_secret\": \"xxxxxxxx\",\n  \"domain\": \"auto\",\n  \"websocket\": true,\n  \"cwd\": \"\",\n  \"agent_preset\": \"\",\n  \"max_reply_chars\": 8000\n}\n```\n\n`domain`：`auto`（默认，探测两个域）/ `feishu` / `lark`。改完文件后执行\n`lark_configure` 或重载插件让桥接用新配置重连。\n\n## 限制与安全模型\n\n- `app_secret` 以明文存在 `~/.dsh/dsh-feishu-bot.json`（用户主目录私有文件，权限\n  0600），请勿将该路径暴露给模型或日志。\n- 每个会话的对话消耗 API 额度；agent 可执行文件/命令操作，属正常 DSH 能力。\n- 仅支持文本消息（`message_type: text`）；图片/卡片等暂不处理。\n- 动态能力依赖 DSH 宿主进程；进程重启后由 `cordis.patch.yml` 自动恢复挂载。\n\n## 开发\n\n```sh\nnpm run build        # tsc + tsdown → lib/\nnpx tsc --noEmit     # 类型检查\nnpx vitest run       # 测试\n```\n\nHost 半区在 `src/index.ts`（引擎/路由/工具/桥接管理），桥接子进程在\n`bridge/ws-bridge.cjs`，浏览器设置页在 `src/client/index.ts`。\n","readmeFilename":"README.zh.md"}