🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

渠道会话中枢 Kerberos255/dsh-channel-core

DeepSeek Harness
Kerberos25527 天前有提交已提供中文文档扫描:含敏感能力

统一管理 Discord 与飞书渠道的会话绑定和消息交付

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/9 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Kerberos255/dsh-channel-core
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么[目录]—
dsh 原生插件 · platform
暂无时间戳·判据 →
装得上吗[实装验证]✓
本站已在 dsh 0.2.1-rc.5 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
数据截至 2026/11/03·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 27 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件发起外部网络请求
查看扫描证据(共 10 处,展示前 10 条)
  • 读取本地文件
    lib/index.js:147
    const cwd=await realpath(path.resolve(selected));
  • 读取本地文件
    lib/index.js:148
    if(!(await stat(cwd)).isDirectory())throw new CoreError('channel-workspace-invalid','渠道工作区必须是已存在的目录');
  • 写入本地文件
    lib/store.js:11
    if (filename !== ':memory:') mkdirSync(path.dirname(filename), { recursive: true });
  • 发起网络请求
    lib/bridge.js:88
    ctx.on('user-questions/request',(req,next)=>this.interactions.request(req,next),{global:true,prepend:true}),
  • 发起网络请求
    lib/bridge.js:89
    ctx.on('approval/request',(req,next)=>this.interactions.request(req,next,'approval'),{global:true,prepend:true}),
  • 读取本地文件
    lib/archived-session-recovery.js:11
    try { contents=readFileSync(homePath('storages','workspace.json'),'utf8'); }
  • 发起网络请求
    channels/discord/transport.js:197
    async function channelFor(origin){checkAbort(signal);const channel=await client.channels.fetch(origin.threadId??origin.conversationId);if(!channel?.is
  • 发起网络请求
    channels/feishu/transport.js:200
    request:options=>sdk.defaultHttpInstance.request({...options,timeout:15000,signal}),
  • 读取本地文件
    lib/outbound-media.js:19
    try{stat=statSync(file);}catch{fail('outbound-'+kind+'-not-found');}
  • 读取本地文件
    lib/outbound-media.js:22
    try{bytes=readFileSync(file);}catch{fail('outbound-'+kind+'-not-readable');}
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-typert-protocol@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-plugin-manager@deepseek-ai/dsh-api-session-controller@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-credentials@deepseek-ai/dsh-client-file-upload
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 会话绑定管理
  • 消息交付与进度卡片

统一管理 Discord、飞书渠道、会话绑定、消息交付与进度卡片的单插件。

README

由 DeepSeek 最新模型翻译生成
dsh-channel-core 本地迁移的渠道协调层。执行和历史由官方 Agent、Inbox、Jobs、Subagent、Session Controller 管理。 安装「状态卡片」时,飞书和 Discord /status 共用 statusCenter 的只读快照。展示当前会话范围的运行、模型、权限、任务和插件健康;本机路径、整机额度、其他会话和正文不会发到渠道。未安装状态服务时保留简短的连接与输入方式说明。 登录连接与消息接收授权分开:凭证有效即可连接,未配置允许范围时不会进入会话。Discord 可显式选择接收服务器内所有用户和频道;私聊继续单独管理。 Host 网络设置位于安装根目录 config.json 的 network:默认 proxyMode: system,跟随已启用的 Windows HTTP 代理,显式环境代理优先。该 HTTP 代理同时转发 HTTP、HTTPS 与 WSS 请求,具体目的地如何分流交给代理软件的路由。其他模式为 environment、direct、custom(使用 proxyUrl)。noProxy 可增加直连目的地,本地回环地址始终直连。
展开完整文档(README 剩余 1 节)
dsh-channel-core

本地迁移的渠道协调层。执行和历史由官方 Agent、Inbox、Jobs、Subagent、Session Controller 管理。

安装「状态卡片」时,飞书和 Discord /status 共用 statusCenter 的只读快照。展示当前会话范围的运行、模型、权限、任务和插件健康;本机路径、整机额度、其他会话和正文不会发到渠道。未安装状态服务时保留简短的连接与输入方式说明。

登录连接与消息接收授权分开:凭证有效即可连接,未配置允许范围时不会进入会话。Discord 可显式选择接收服务器内所有用户和频道;私聊继续单独管理。

Host 网络设置位于安装根目录 config.json 的 network:默认 proxyMode: system,跟随已启用的 Windows HTTP 代理,显式环境代理优先。该 HTTP 代理同时转发 HTTP、HTTPS 与 WSS 请求,具体目的地如何分流交给代理软件的路由。其他模式为 environment、direct、custom(使用 proxyUrl)。noProxy 可增加直连目的地,本地回环地址始终直连。fetch 使用 Node 24.14+ 公开代理接口,SDK WebSocket 使用 Discord.js 官方推荐的 global-agent;设置启动时读取,修改后重新打开客户端。停用服务时恢复先前网络代理设置。

已实现:SQLite 输入账本、验证后的身份别名、按 workspace/preset/namespace 隔离的 SessionBinding、默认 steering(可改 queue/interrupt)、交互 token 的身份/期限/单次消费限制。

「设置 → 插件 → 渠道与会话」提供身份和会话绑定管理。选择已从平台接收过消息的账号后,可生成同一人身份链接或解除链接的审阅记录;每个受影响范围明确选择继续已有原生会话或新建,确认后生效。既有会话原文保持原样。共享/独立私聊模式的页面保存也进入这一审阅流程,单个绑定可覆盖输入方式。

审阅核验原生会话的实际工作区与预设,候选会话只来自受影响账号的相同范围;不同路由范围不能选同一目标。数据库保存身份确认的时间、来源和操作审计;渠道 JSON 里的 identityLinks 仍由对应渠道页管理,避免第二来源覆盖。原始 JSON 修改遵循后续输入路由规则。

绑定提交使用带期限的审阅记录、版本检查、串行提交和预分配的原生 Session ID。若在创建会话或写入共享设置后中断,重启可核对后续完成;外部状态已改变时留下「需要重新核对」,保留新状态。历史绑定与原生日志继续保留。

Stop 使用 DSH 原生 sessionController.cancel()。Web 按钮、快捷键与 RPC 由官方组件负责。RC2 原生取消当前 Agent 轮次,并保留 Inbox 待办。interrupt 调用同一个原生取消方法,再通过 mode=queue 接收新输入;steering 使用 mode=steer,queue 使用 mode=queue。

身份别名只能由可信 Host 管理操作验证,未经验证的跨渠道账号保持隔离。receive() 是可信渠道适配器使用的内部接口,后续适配器负责平台验签、账号及对话授权、附件上传和外部交付。

直接注入官方 sessionController 与 workspaceController 服务。渠道未指定工作区时通过官方 initializeDefault() 取得客户端默认工作区,并明确传入 Session 创建请求;没有默认工作区时提示设置目录,避免回落到 Host 启动目录。工作区按真实目录生成隔离标识,切换工作区后新输入绑定新会话,旧记录保留。

渠道输入在单 Session 内串行 admission,持久 receipt 阻止重放;接收状态不明确时标为 uncertain,避免重复执行。Web 输入继续由官方接收。固定兼容目标为桌面 0.2.0-rc.2 及 CLI 0.2.1-alpha.1,通过隔离环境验收后再安装日常 profile。

测试:使用普通 Node 24+ 的 node --test tests/core.test.mjs。开发机使用 tooling/node/node.exe,测试状态临时文件在项目当前目录内,结束时清理。

0.4.1 单包组件模式(2026-10-08)

安装一个 dsh-channel-core 即可同时获得 Discord、飞书两个内部 Adapter。 两者共享 ChannelBridge、会话路由与消息交付,仍有独立配置、凭证和连接生命周期;一个渠道不可用不应阻塞另一个渠道。

- 设置入口:「设置 → 插件 → 渠道与会话」,页内三个标签 通用与会话 / Discord / 飞书,复用原有 RPC endpoint discordChannelSettings、feishuChannelSettings。
- 配置目录:E:\dsh\plugins\dsh-channel-core\channels\discord\config.json 和 ...\feishu\config.json。首次启动仅在新文件不存在时从旧 dsh-channel-discord / dsh-channel-feishu 目录 复制配置,不删除、覆盖旧文件;原凭证仍由 DSH 凭证管理存储。
- Core 代码:channels/discord、channels/feishu + lib/channel-components.js。源码设置页由 tooling/dsh-channel-bundle/build-client.mjs 生成;不要直接修改生成的 lib/client.js。
- 安装顺序:先备份旧 profile、旧渠道配置;打包安装 Core 0.4.0,移除旧 Discord/Feishu 安装条目;旧配置仍留本机作为回退,原有 SQLite/session/身份数据不迁移、不删除;重启客户端确认 Core、Discord 和飞书服务正常注册。
- 本地回归:Core 60 项 + Discord 24 项 + 飞书 7 项(含 ConfigFile 读写兼容),安装验证另测实际三标签 UI、渠道连接与健康状态;没有飞书凭证时不宣称已完成真实飞书连接验收。

0.4.3 主人自动认领

Discord / 飞书的「主人与记忆」默认使用 首次私聊认领,认领操作在消息经过渠道允许规则后、进入 Session 之前完成。SQLite channel_owners 按渠道+机器人账号保存主人 userId;后续普通私聊、重连和重启都不能覆盖,群聊不能认领。设置页可以查看「当前主人」,或切换为「手动指定主人」,填写平台 userId 来替换;替换后旧主人立即失去工作区共享记忆访问资格。

两个渠道分别识别平台账号,但统一向 Memory 提供逻辑主人标识 owner,因此不需要额外设置 identityLinks 即可共享已发布个人记忆;如需真正复用同一个原生 Session 才需要另行设置跨平台身份映射。认领者仍需满足其它已配置的渠道接收规则。

自动轮转的渠道安全边界(0.4.6)

仅供 LCM 内部调用的 rotateTrustedDM 会再次核验 Dream 已完成的运行记录与交接文件哈希、旧/新原生会话的工作区与预设、主人身份、待处理渠道消息以及事件游标。通过后在一个 SQLite 事务内一起切换飞书/Discord 共享私聊绑定,并保存归档会话的已核验来源归属。旧历史不删除;历史身份读取时仍按当前账号归属重新验证。非私聊、未知主人、混合身份、跨工作区、缺少已核实记忆产物等情况一律拒绝自动切换。
预览分享卡片长什么样 ↓Kerberos255/dsh-channel-core
分享 · DeepSeek Harness Hub
Kerberos255/dsh-channel-core

统一管理 Discord 与飞书渠道的会话绑定和消息交付

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部