dsh-lark-channel
Lark/Feishu IM bot channel for DeepSeek Harness: chats drive agents, replies and approvals return as messages and cards
AI 분석
核心用途是将 DSH 能力接入飞书工作流。适合企业团队在飞书群或单聊中直接调用 Agent 执行任务、处理审批。
설치
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-larkConfiguration
| Field | Default | Meaning |
|---|---|---|
appId, appSecret | first-boot QR onboarding | Lark/Feishu app credentials. Layering below. |
domain | Feishu | Open-platform domain; set https://open.larksuite.com for Lark. |
cwd | host process cwd | Absolute workspace directory for chat-driven agents. |
provider, model | host agentDefaultModel | Model route for chat agents. |
preset | roster default | Agent preset chat agents join, when the deployment composes a roster. |
sessionScope | chat | Which conversation facet owns one agent session: chat (one shared agent per chat), chat-thread (one per topic thread, so parallel topics stop overwriting each other's context), chat-sender (one per person in a shared chat). |
output | cot | cot (native thinking process + markdown answer) or stream (typewriter card per turn). |
showProcess | true | Show the agent's reasoning and tool calls; off sends the answer alone. |
hideProcessWhenDone | false | Let the platform drop the process once its run finishes (cot only). |
attachImages | false | Pass images on to the model. Only for a route that accepts them: one rejected image ends the conversation. |
syncSlashCommands | true | Register the chat's commands on the bot so Feishu offers them when a user types /. |
denyTools | ['ask_user_question', 'exit_plan_mode'] | Tools chat agents may not call, denied per agent at execution. The default names the human-interaction tools whose answers cannot reach this channel. |
requireMention | true | In group chats, only respond when @-mentioned. |
senderAllowlist | [] | Open ids allowed to send direct messages; empty serves anyone the app is visible to. |
groupAllowlist | [] | When non-empty, only these oc_… group chats are served; empty serves any group. |
approvers | [] | Open ids allowed to answer approvals; empty lets whoever may drive that chat answer. |
With nothing configured the channel serves any room the bot is added to and anyone the app is visible to. Restricting further is the deployment's call: the platform already decides who can reach the bot, and this plugin only narrows what that admits.
Credentials resolve in three layers, each overriding the one before it: entry config in the composition patch, typically !!js process.env.LARK_APP_ID; the lark-channel section of the settings document, which wins while present; and first-boot QR onboarding when neither carries one, whose result persists through the host settings service.
Configuration is read once at startup, see Limitations.