如何用 Desktop policies 限制 OpenWork 桌面端成员可用的功能?
如何用 Desktop policies 限制 OpenWork 桌面端成员可用的功能【免费下载链接】openworkThe open-source alternative to Claude Cowork (powered by opencode)项目地址: https://gitcode.com/GitHub_Trending/ope/openwork如果你负责一个已接入 OpenWork Cloud 的组织需要控制成员在 OpenWork 桌面端能用哪些能力——比如禁止成员自行添加模型服务商、禁止安装本地 MCP 服务器、或把桌面端锁定为只能聊天——OpenWork 的Desktop policies桌面策略就是官方提供的控制手段。成员登录 Cloud 组织后桌面端会拉取并应用其所在组织的有效策略。整个过程在组织管理后台完成不需要在每台设备上做 MDM 推送或修改本地配置。以下内容依据仓库中的 Desktop policies 文档、桌面策略实现说明 与 策略目录源码 整理。Desktop policies 能控制哪些功能当前策略共有 8 个开关项每项对应桌面端的一个具体能力布尔策略键中false表示限制/禁用true或缺省表示桌面端不本地拦截该功能策略键UI 名称键 ID开启时允许关闭后的效果Custom providersallowCustomProviders添加并使用未经 OpenWork Cloud 部署的本地模型服务商成员不能添加自定义 providerEnable OpenCode Zen ModelsallowZenModel使用内置 OpenCode 模型成员不能使用内置模型Multiple workspacesallowMultipleWorkspaces创建或配置多个本地 workspace成员只能使用一个 workspaceControl SettingsallowControlSettings访问桌面端设置除 Cloud 账户页外隐藏所有设置页命令面板和账户菜单中的设置入口也隐藏成员仍可查看账户、切换组织、登出Manage ExtensionsallowManageExtensions安装和管理本地扩展与 MCP 服务器Library 隐藏 workspace MCP 和 GitHub 导入流程第三方目录条目标注Disabled by organization组织批准的 skills、connections 和内置 OpenWork 扩展不受影响Built-in ExtensionsallowBuiltInExtensions使用 OpenWork 提供的内置扩展浏览器、图像、本地 provider 等内置扩展被隐藏Alpha updatesallowAlphaUpdates加入实验性 Alpha 桌面端更新成员不能选择加入 Alpha 更新Welcome PageshowWelcomePage向新用户展示 Getting Started 页隐藏欢迎页。该项在Restricted模式下仍可编辑这份目录是 API、Den Web 和桌面端共享的唯一事实来源定义在 desktop-policies.ts 的desktopPolicyDefinitions中默认值均为true即不限制。策略如何合并先理解授权规则再动手写策略之前必须先理解合并规则否则限制会失效有效策略是默认策略default policy与所有指派给该成员的策略的授权并集——任何一项授权都会放行对应能力calculateEffectiveDesktopPolicy()的实现即如此先全部置false任一策略为true的键即置true。因此限制成员要在默认策略里把能力关掉再用指派给特定成员或团队的策略单独授予额外能力。显式的Team Access 封锁在授权并集之后应用且优先于这些授权即某能力即使被默认策略或其他策略放行团队 Access 的封锁仍然生效反过来允许不能覆盖其他限制。如果一个组织完全没有策略orgPolicyCount 0有效策略等价于全部放行。在管理后台配置策略前提你是组织的管理员。Cloud 组织内置角色按ownersuper-adminadminmember分级设置写入仅owner和super-admin可用admin只读见 cloud-organization-role-access.md。按文档给出的操作路径打开 app.openworklabs.com 并选择你的组织。在 Den Web 侧边栏中Desktop policies 位于Manage → Advanced与 Collections、Brand appearance 并列。进入Desktop policies。新建一个策略或直接编辑默认策略。在策略编辑器顶部的模式选择器中选Restricted或保持Custom逐项开关能力。如果策略只针对部分成员将其指派assign给相应成员或团队要作用于全组织就放在默认策略上。保存后让成员重载桌面端、刷新 Cloud 账户、切换活动组织或等待每小时一次的 desktop-config 定时刷新策略即生效。快速锁定Restricted 模式不想逐项配置时把策略模式设为Restricted。它给成员一个纯净版 OpenWork可以聊天和使用组织批准的 skills但不能改桌面设置、不能添加 provider 或使用组织外模型、不能添加 workspace、不能使用内置扩展、不能安装扩展或 MCP 服务器、不能加入 Alpha 更新。被锁定的能力会保持关闭直到你切回CustomWelcome Page在两种模式下都可编辑。注意 Restricted 是一个编辑器模式而非存储标志因为有效策略是授权并集只有把Restricted应用到默认策略才能真正锁定全员。只建了一个Restricted模式的指派策略本身不授予任何能力也锁不住人。对特定团队加锁Team Access除了策略开关还可以按团队直接封锁能力打开Members → 目标团队 → Access。在Locked与Custom之间选择并保存。owner和super-admin可修改这些控制其他管理员只能查看。Locked会封锁应用自定义不能添加工具和 MCP 服务器、不能改设置、不能添加 provider 和 workspace、不能用内置扩展和 OpenCode 模型、不能加入实验性更新。成员仍可聊天和使用现有连接。已有已安装的工具不会被移除Cloud 侧编写仍按成员角色走这个操作也不会停用账户。选Custom可逐块封锁单个能力切到Locked再切回来Custom的选择会保留。验证策略是否生效成员侧桌面端打开Account → App permissions可以看到每项能力是Allowed还是Blocked以及如何向管理员申请变更。这些权限在桌面端是只读的。被策略禁用的内置扩展会从正常目录中隐藏在隐藏视图中会带Disabled by organization说明桌面端统一将此类限制解释为组织管控。刷新时机桌面端先加载缓存策略再从 Cloud 拉取最新配置在登录/会话变化、Den 设置变化、以及一小时周期上刷新实现见 desktop-config provider。所以改完策略后最快的确认方式是让成员重载桌面端或切换一次活动组织然后回到 App permissions 页核对状态。配置来源策略通过GET /v1/me/desktop-config从 Cloud 下发到桌面端桌面端应用代码通过useCheckDesktopRestriction()等 hooks 读取策略状态见 desktop-app-policies.md。限制与已知边界企业分发场景下Enterprise 二进制 MDM桌面策略不走 MDM 下发版本固定与功能策略由 Den 服务器在登录后下发、由应用自动执行只在组织管理后台管理见 enterprise-desktop-deployment.mdx。allowedDesktopVersions属于 desktop-config 响应但不是上面 8 个布尔策略项之一不要把它当成普通策略键处理。授权并集意味着只要有任何一条策略放行某能力默认策略的关闭就被覆盖——要收窄能力必须动默认策略或用 Team Access 显式封锁。策略还提供团队提示卡team prompt cards能力配置约束为 2~3 条 prompt属于独立功能见 team-prompt-cards与本文的限制成员能力任务无直接关系。【免费下载链接】openworkThe open-source alternative to Claude Cowork (powered by opencode)项目地址: https://gitcode.com/GitHub_Trending/ope/openwork创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考