关于 OpenCode 近期推出的分享功能,这个功能的初衷很简单:让编码会话不再是孤立在黑匣子里的私有记录,而是可以安全、便捷地分享给同事或外部协作者,以便在复杂问题上获得帮助。下面这篇文章将从原理、操作方式、隐私考量以及企业级部署等角度,把分享功能讲清楚。

OpenCode 会话分享:从单人编码到协作讨论的轻量桥梁
在 AI 辅助编程的工作流中,很多时候一个完整的对话会话(conversation)本身就承载了大量上下文------从最初的问题描述,到中间的试错过程,再到最终的解决方案。如果能把这整段历史一键分享出去,团队协作的效率会高得多。OpenCode 的分享(Share)功能正是为了解决这个场景而设计的。
它的基本原理是:为一次会话生成一个公开的唯一链接,任何人都能通过这个链接访问完整的对话记录。当然,因为链接是公开可访问的,使用时需要留心哪些内容适合被分享出去。
分享的工作原理
当用户触发分享操作时,OpenCode 会在后台完成几件事:
- 为当前会话生成一个独一无二的公开 URL。
- 将对话历史、所有消息和回复、会话元数据等同步到 OpenCode 的服务器。
- 提供一个
opncd.ai/s/<share-id>格式的短链接,方便复制和传播。
收到链接的人只需要在浏览器中打开,就能查看完整的会话内容,无需登录或安装任何工具。
三种分享模式,灵活控制
OpenCode 为分享功能提供了三种模式,既能满足经常需要协作的团队,也能满足对数据安全有严格要求的项目。
1. 手动模式(Manual,默认)
这是最安全的选项。默认情况下,所有会话都不会被自动分享。只有在终端界面中明确输入 /share 命令,才会生成并复制分享链接。
bash
/share
链接生成后会自动复制到剪贴板。如果想在配置文件里显式声明手动模式,可以在 opencode.json 中写入:
json
{
"$schema": "https://opencode.ai/config.json",
"share": "manual"
}
2. 自动分享模式(Auto-share)
如果每次新建会话都希望自动分享,可以把分享选项设为 "auto"。这样,每个新对话从一开始就会生成公开链接。
json
{
"$schema": "https://opencode.ai/config.json",
"share": "auto"
}
这个模式适合团队内部频繁协作、且项目中不包含敏感信息的场景。但也正因为一旦新建会话就会自动公开,使用者需要格外注意是否误操作纳入了密钥或内部代码。
3. 完全禁用分享(Disabled)
如果项目对安全要求很高,或者干脆不想让任何会话有被公开的可能,可以直接把选项设为 "disabled"。
json
{
"$schema": "https://opencode.ai/config.json",
"share": "disabled"
}
对于团队项目,还可以把这个配置写进项目的 opencode.json 文件,然后提交到 Git,这样整个团队在该项目下的分享功能都会统一被禁用,从源头杜绝无意间的公开。
如何取消分享
分享出去的会话也可以随时被收回。只要在终端中运行 /unshare 命令,对应的分享链接就会立即失效,服务器上与该会话相关的数据也会被删除。
bash
/unshare
也就是说,分享是可控的,不会留下不可撤销的公开痕迹。
隐私与数据保留:必须留心的几点
因为分享链接是公开的,所以 OpenCode 对数据保留和隐私的处理也值得单独提出来说明。
- 分享的会话会一直保持可访问 ,直到用户主动执行
/unshare。在此之前,任何人拿到链接都能看到完整内容。 - 被分享的内容包括:完整的对话历史、所有消息和回复,以及会话的元数据。
- 因此,官方给出的建议非常明确:
- 只分享不含敏感信息的会话。
- 在分享前,仔细检查一遍对话内容。
- 协作结束后,及时取消分享。
- 避免分享包含专有代码或保密数据的会话。
- 对于敏感项目,干脆禁用分享功能。
这些建议看起来简单,但在实际开发中,常常因为一时方便而被忽略,从而埋下安全隐患。
企业部署的特别选项
对于企业级的 OpenCode 部署,分享功能做了额外的适配,以满足合规和安全需求。
- 完全禁用:可以出于安全合规考虑,在企业范围内彻底关闭分享能力。
- 限制为仅经过 SSO 认证的用户访问:分享链接不再是完全公开的,只有通过单点登录验证的人员才能查看。
- 自托管(Self-host):企业可以将分享功能托管在自己的基础设施上,保证数据完全不流经外部服务器。
这些选项使得分享功能能够适应从个人开发者到大型企业的不同场景,而不必在安全和协作之间做妥协。
从使用者的视角看,OpenCode 的分享功能并不复杂,但它确实把 AI 编码助手从一个纯个人工具推向了一个更开放的协作平台。关键就在于,它把选择权留给了开发者:你可以保持沉默,也可以一键公开,同时始终保留随时收回的权利。对于那些需要围绕一段具体代码逻辑反复讨论的团队来说,这个小功能或许能省去不少截图、复制粘贴和上下文解释的麻烦。