omdsh-dev/dsh-lark1

dsh-lark-channel

用于 DeepSeek Harness 的飞书/Lark 机器人通道插件,支持通过即时消息驱动 Agent,并将回复和审批以消息卡片形式返回。

AI 分析

核心用途是将 DSH 能力接入飞书工作流。适合企业团队在飞书群或单聊中直接调用 Agent 执行任务、处理审批。

包名
dsh-lark-channel
版本
0.0.1
许可证
BSD-3-Clause
最近更新
2026年8月14日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:omdsh-dev/dsh-lark

Configuration

FieldDefaultMeaning
appId, appSecretfirst-boot QR onboardingLark/Feishu app credentials. Layering below.
domainFeishuOpen-platform domain; set https://open.larksuite.com for Lark.
cwdhost process cwdAbsolute workspace directory for chat-driven agents.
provider, modelhost agentDefaultModelModel route for chat agents.
presetroster defaultAgent preset chat agents join, when the deployment composes a roster.
sessionScopechatWhich 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).
outputcotcot (native thinking process + markdown answer) or stream (typewriter card per turn).
showProcesstrueShow the agent's reasoning and tool calls; off sends the answer alone.
hideProcessWhenDonefalseLet the platform drop the process once its run finishes (cot only).
attachImagesfalsePass images on to the model. Only for a route that accepts them: one rejected image ends the conversation.
syncSlashCommandstrueRegister 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.
requireMentiontrueIn 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.