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

Notion 工作区绑定 hugo11032/dsh-notion-workspaces

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

把每个 DSH 工作区绑定到各自的 Notion 工作区走官方 Notion MCP。

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:需留意
是什么
dsh 原生插件 · security
装得上吗
实装验证未通过(dependency_conflict),装前请到仓库确认最近更新与 issue
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 30 天前
档位由哪些信号合成

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

验证判据与等级说明 →
⚠︎ 实装验证未通过(dependency_conflict · 2026/10/4) ——可能是验证环境差异,装前建议到 GitHub 仓库确认最近更新与 issue。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

读写/删除本地文件发起外部网络请求
查看扫描证据(共 12 处,展示前 12 条)
  • 写入本地文件
    lib/index.js:98
    appendFileSync(
  • 读取本地文件
    lib/index.js:166
    return parseState(readFileSync(file, 'utf8'), basePort)
  • 写入本地文件
    lib/index.js:176
    writeFileSync(temp, `${JSON.stringify(state, null, 2)}\n`, 'utf8')
  • 写入本地文件
    lib/index.js:178
    renameSync(temp, file)
  • 删除本地文件
    lib/index.js:181
    unlinkSync(temp)
  • 读取本地文件
    lib/index.js:238
    clientBundleExists: clientBundlePath !== '' && existsSync(clientBundlePath),
  • 发起网络请求
    client/client.js:43
    fetch(`${API}/beacon`, {
  • 发起网络请求
    client/client.js:92
    const response = await fetch(`${API}${path}`, { cache: 'no-store', ...options })
  • 发起网络请求
    lib/notion-oauth.js:50
    const res = await fetch(url, init)
  • 发起网络请求
    lib/notion-oauth.js:77
    const res = await fetch(registrationEndpoint, {
  • 发起网络请求
    lib/notion-oauth.js:128
    const res = await fetch(tokenEndpoint, {
  • 发起网络请求
    lib/notion-oauth.js:148
    const res = await fetch(tokenEndpoint, {
扫描于 2026/10/31(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-credentials@deepseek-ai/dsh-mcp-client@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 按工作区单独授权
  • 绑定官方MCP
  • 挂载Notion工具

把每个 DSH 工作区通过官方 Notion MCP 绑定到各自的 Notion 工作区。

README

由 DeepSeek 最新模型翻译生成
dsh-notion-workspaces 把每个 DSH 工作区绑定到各自的 Notion 工作区(走官方 Notion MCP)。 填补的空白 dsh-notion-mcp 能把 dsh 连到 Notion,但整个 DSH 环境只持有一份 Notion 授权:它把凭据引用 NOTION_OAUTH、serverName 写死,还把 MCP 客户端挂在配置档的全局作用域里。再授权第二个 Notion 工作区,就会覆盖掉第一个。DSH 本身没有按工作区划分的设置或凭据作用域可以叠加——<cwd>/.env 的优先级低于托管凭据存储,而桌面宿主每服务一个工作区就启动一次。 这个插件把映射关系放在 DSH 唯一提供这种粒度的地方:智能体作用域。 工作原理 - 一条绑定把工作区路径映射到一份 Notion 授权:各自的凭据引用、各自的 serverName、各自的 OAuth 回调端口。 - agent/created 时,会话的 header.cwd 决定用哪条绑定。 - MCP 客户端挂在该智能体的上下文下,所以 mcp__<serverName>__ 工具只存在于该工作区的会话里。未绑定工作区中的会话完全看不到 Notion 工具。 绑定存在 $DSH_HOME/notion-workspaces.json;每份授权是 DSH 凭据存储里的一条密钥,各有各的引用。
展开完整文档(README 剩余 1 节)
dsh-notion-workspaces

把每个 DSH 工作区绑定到各自的 Notion 工作区(走官方 Notion MCP)。

填补的空白

dsh-notion-mcp 能把 dsh 连到 Notion,但整个 DSH 环境只持有一份 Notion 授权:它把凭据引用 NOTION_OAUTH、serverName 写死,还把 MCP 客户端挂在配置档的全局作用域里。再授权第二个 Notion 工作区,就会覆盖掉第一个。DSH 本身没有按工作区划分的设置或凭据作用域可以叠加——<cwd>/.env 的优先级低于托管凭据存储,而桌面宿主每服务一个工作区就启动一次。

这个插件把映射关系放在 DSH 唯一提供这种粒度的地方:智能体作用域。

工作原理

- 一条绑定把工作区路径映射到一份 Notion 授权:各自的凭据引用、各自的 serverName、各自的 OAuth 回调端口。
- agent/created 时,会话的 header.cwd 决定用哪条绑定。
- MCP 客户端挂在该智能体的上下文下,所以 mcp__<serverName>__ 工具只存在于该工作区的会话里。未绑定工作区中的会话完全看不到 Notion 工具。

绑定存在 $DSH_HOME/notion-workspaces.json;每份授权是 DSH 凭据存储里的一条密钥,各有各的引用。访问令牌在后台刷新,持有轮换后令牌的智能体会被重新挂载,绝不会用已失效的令牌去认证。

安装

dsh plugin --profile desktop add github:moyu-777/dsh-notion-workspaces

desktop 是你的智能体运行时用的配置档——换成 web、headless 或你在用的其他配置档。仓库直接发布纯 JavaScript(lib/、client/),没有声明构建脚本,所以不需要 allowBuilds 审批步骤。

配置

1. 点侧边栏底部、Settings 旁边的 Notion。(同一个编辑器也在 Settings → Notion 工作区下作为一个页面。)
2. 添加一条绑定,从列表里选 DSH 工作区。
3. 按 授权 / Authorize。浏览器会打开 Notion 的授权页;批准你想让这个 DSH 工作区连接的那个工作区。回调会落到运行中宿主的 127.0.0.1:<port>。
4. 每个工作区重复一遍。工具会以 mcp__notion_study__ 之类的名字出现在该工作区的会话里。

状态存放位置

| 内容 | 位置 |
| 绑定(工作区路径 → 授权) | $DSH_HOME/notion-workspaces.json |
| 每条绑定的 OAuth 授权 | DSH 凭据存储($DSH_HOME/.credentials.yaml),每条绑定一个引用 |
| 诊断信息 | $DSH_HOME/notion-workspaces-diag.log(可以删) |

要求

- DSH 带 desktop 或 web 配置档(任何带 web 服务器的配置档都有对话框;最小配置档仍然有 dsh notion-workspaces login)。
- Node 22.13+。
- 能访问 https://mcp.notion.com。

会改动什么

- 凭据:读写 DSH 凭据存储里自己的引用。
- 网络:仅 https://mcp.notion.com —— OAuth 发现、动态客户端注册、令牌换取与刷新,以及 MCP 流。
- 文件:$DSH_HOME/notion-workspaces.json 与诊断日志。
- 无遥测、无其他主机、无安装期脚本。

已知限制

每个工作区的悬停菜单(侧栏中工作区旁边的 …)没有扩展点:sidebar.workspaces 是 single 座位,已被内置浏览器占用,菜单项也是写死的。客户端的 69 个插槽键里没有工作区级菜单座位,所以入口只能是侧栏底部按钮和设置页。

归属

lib/notion-oauth.js 里的 OAuth 流程改编自 mingzeng(@mingzeng21)的 dsh-notion-mcp,MIT 许可 —— 保留的版权声明在 NOTICE 中。这里的差异在于:回调端口和凭证 ref 按绑定区分,模块重构为具名导出。

免责声明

独立社区插件。与 Notion Labs, Inc. 无关联,未获其认可或赞助。「Notion」是 Notion Labs, Inc. 的商标,此处仅用于说明插件连接的对象。你使用 Notion 服务仍受 Notion 自身条款约束。

许可

MIT —— 见 LICENSE 与 NOTICE。

把每个 DSH 工作区绑定到各自的 Notion 工作区,走官方 Notion MCP。

它补的是什么缺口

dsh-notion-mcp 能把 dsh 接到 Notion,但它对整个 DSH 环境只持有一份 Notion 授权:凭证引用 NOTION_OAUTH、serverName 都是写死的,MCP 客户端挂在 profile 的全局作用域里。再授权第二个 Notion 工作区会覆盖掉第一个。而 DSH 本身没有工作区级的设置或凭证作用域可用——<cwd>/.env 的优先级低于可写凭证存储,桌面宿主也是一次启动服务所有工作区。

本插件把「工作区 → Notion 工作区」这个映射做在 DSH 唯一提供该粒度的地方:agent 作用域。

工作原理

- 一条绑定把一个工作区路径映射到一份 Notion 授权:各自的凭证引用、各自的 serverName、各自的 OAuth 回调端口。
- 在 agent/created 时,用会话的 header.cwd 决定该用哪条绑定。
- MCP 客户端挂在该 agent 自己的上下文里,所以 mcp__<serverName>__ 工具只存在于那个工作区的会话中。未绑定的工作区完全看不到 Notion 工具。

绑定存在 $DSH_HOME/notion-workspaces.json;每份授权是 DSH 凭证存储里一个独立的密钥。
访问令牌会在后台刷新,持有旧令牌的 agent 会被重新挂载,不会拿着已失效的令牌继续请求。

安装

dsh plugin --profile desktop add github:moyu-777/dsh-notion-workspaces

desktop 换成你实际跑 agent 的 profile。仓库里是纯 JavaScript(lib/、client/),且没有声明任何构建脚本,所以不需要 allowBuilds 授权。

配置

1. 点侧栏底部、设置旁边的 Notion 按钮(设置页里的「Notion 工作区」是同一个编辑器)。
2. 新增一条绑定,从列表里选 DSH 工作区。
3. 点「授权」。浏览器会打开 Notion 的授权页,批准你要连接的那个工作区即可;回调打到运行中宿主的 127.0.0.1:<端口>。
4. 每个工作区重复一次。之后该工作区的会话里就会出现 mcp__notion_study__ 这类工具。

状态存放位置

| 内容 | 位置 |
| 绑定表(工作区路径 → 授权) | $DSH_HOME/notion-workspaces.json |
| 每条绑定的 OAuth 授权 | DSH 凭证存储($DSH_HOME/.credentials.yaml),一条绑定一个 ref |
| 诊断日志 | $DSH_HOME/notion-workspaces-diag.log(可随时删除) |

它触碰了什么

- 凭证:读写自己在 DSH 凭证存储里的 ref。
- 网络:仅 https://mcp.notion.com(OAuth 发现、动态客户端注册、令牌换取与刷新、MCP 流)。
- 文件:$DSH_HOME/notion-workspaces.json 与诊断日志。
- 无遥测、无其他主机、无安装期脚本。

已知限制

工作区的悬停菜单(侧栏工作区行上的「…」)没有扩展点:sidebar.workspaces 是 single 座位且已被内置组件占用,菜单项是硬编码的。客户端 69 个 slot 里没有任何「单个工作区菜单项」座位,因此入口只能是侧栏底部按钮和设置页。

致谢

lib/notion-oauth.js 的 OAuth 流程改编自 mingzeng (@mingzeng21)的 dsh-notion-mcp(MIT),保留的版权声明见 NOTICE。此处改动是回调端口与凭证引用都改为按绑定分配,并把模块重构为具名导出。

免责声明

独立的社区插件,与 Notion Labs, Inc. 无隶属、无背书、无赞助关系。「Notion」是 Notion Labs, Inc. 的商标,此处仅用于说明本插件连接的对象。你使用 Notion 服务仍受 Notion 自身条款约束。

许可

MIT,见 LICENSE 与 NOTICE。
预览分享卡片长什么样 ↓hugo11032/dsh-notion-workspaces
分享 · DeepSeek Harness Hub
hugo11032/dsh-notion-workspaces

把每个 DSH 工作区绑定到各自的 Notion 工作区走官方 Notion MCP。

回到顶部