- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
Artifact 是 Claude Code 系统提示词中内置工具的核心能力之一:它把 HTML 文件渲染成一个托管在 claude.ai 上、默认私有的网页。本文基于 tool-description-artifact-publishing-introduction-app-wording.md 展开,梳理 Artifact 的适用场景、主动发布的安全前提,以及哪些内容必须保留为本地文件、由用户决定是否获得 URL;并对照仓库中同主题的发布与更新指南、禁止发布清单、外部资源白名单等配套文档,给出可验证的规则依据与实操边界。读完本文,你将理解 Claude 何时该渲染页面、何时该主动发布、何时必须止步于文件交付,并掌握查看器沙箱限制、CSP 白名单等发布侧约束。
一、关联文档在 Claude Code 提示词体系中的角色
本仓库(claude-code-system-prompts)收录了 Claude Code 各版本的系统提示词、27 个内置工具描述、子代理提示词与实用提示词。其中tool-description-前缀的文件对应内置工具的"工具描述"片段,会在模型执行工具调用前注入上下文,直接影响模型的行为决策。
tool-description-artifact-publishing-introduction-app-wording.md 正是Artifact 发布机制的"开场介绍",对应ccVersion: 2.1.269。它以面向应用(app wording)的措辞,在一段话内交代了三件事:
- Artifact 是什么:把 HTML 文件渲染成托管在 claude.ai 上的网页,且默认私有;
- 何时使用:页面比终端文本更清晰,或者用户/团队会"使用"页面而不只是"阅读";
- 何时主动发布:Claude 可以不经询问发布自己的工作成果,但涉及可能误导或伤害的内容必须构建为文件,交由用户决定是否公开。
仓库内另有面向模型措辞的姊妹版本 tool-description-artifact-publishing-introduction.md(ccVersion: 2.1.281),两者语义一致,本文以指定文档为主体展开。
二、核心概念:Artifact 是一张"默认私有"的网页
指定文档开篇即定义:The Artifact tool renders an HTML file as an Artifact: a web page hosted on claude.ai that is private by default.
这句话包含两个关键事实:
- 渲染对象是 HTML 文件:Artifact 的输入是一个 HTML 文件,发布时会被包进完整的文档骨架(详见下文"发布侧约束");
- 托管在 claude.ai 且默认私有:页面一经创建即为私有状态,不会自动对任何外部人员可见,只有创建者(或按后续分享动作授权的对象)能看到。
"默认私有"是整段提示词的安全支点。正因为初始状态是私有的,Claude 才可以放心地主动发布自己的产出物——即使立刻被发布,也不存在向公众泄露的风险。用户在 claude.ai 侧可以通过 Share 菜单进一步调整可见范围(详见第五节)。
三、使用场景判断:什么时候该渲染成页面
指定文档给出的判据可以提炼为两条,任一满足即可考虑使用 Artifact:
1. 视觉表达比终端文本更清晰当结果以图形、布局、色彩、表格等可视化形式呈现时,比在终端里堆叠文本更易理解,例如图表、仪表盘、流程图、带有排版的文档等。
2. 用户或团队会"使用"这个页面,而不只是"阅读"文档给出了三类典型用例:
| 用例 | 说明 |
|---|---|
| 收集输入(collecting input) | 页面提供表单、选项或交互控件,让用户填写或选择,而不是在终端里回答 |
| 跟踪人们的变更(tracking what people change) | 页面用于记录、追踪协作中对内容的改动 |
| 展示实时数据(showing live data) | 页面持续反映最新数据状态,例如监控面板 |
对照 tool-description-artifact-publishing-introduction.md 的措辞("to collect input, track things people change, or see live data"),两者完全一致。反过来说,如果一段输出只是"给人读的文字",那么终端文本仍然是更轻量的选择。
四、主动发布策略:默认允许,但存在明确例外
4.1 主动发布的依据
指定文档明确写道:Claude may publish its own work without being asked, because artifacts start private.
也就是说,对于 Claude 自己的工作成果(如生成的报告、图表、交互原型),不必每次都征求用户同意即可直接发布成 Artifact。这在工程上减少了不必要的确认往返,让工作流更顺畅——前提正是"默认私有"带来的低风险。
4.2 必须保留为文件的例外情形
文档紧接着划出红线:The exception is content that could mislead or cause harm if shared further,具体分两类:
- 模仿真实组织、个人或记录的内容(anything that imitates a real organization, person or record);
- 用户明确标记为敏感的内容(anything the person presented as sensitive)。
对于这两类内容,Claude 的做法是:构建为文件(builds those as files),让用户自己决定是否获得 URL。也就是说,产出仍在本地产出、可以交付给用户查看,但不主动为其生成可分享的公开链接;是否对外暴露,决策权完全交还用户。
这一"本地保留"原则在配套文档中得到强化。仓库中的 tool-description-prohibited-artifact-publishing.md(ccVersion: 2.1.281)进一步列出禁止发布的内容清单:
- 冒充真实个人或组织的页面(使用其名称、品牌、署名或域名);
- 伪造并伪装成真实的记录、收据或评论;
- 以虚假名义收集凭证或支付信息的表单或流程;
- 针对特定私人的内容。
并且该文档特别强调:无论页面是 Claude 自创还是用户提供的,也无论声称的用途是什么("道具"、"仅测试"),只要页面会以真实形态发挥作用,就一律禁止发布;如果发布被拒绝,也不得建议用其他方式托管或分发该页面。可见"主动发布"的例外不是可以绕过的灰色地带,而是有配套的硬性约束。
五、发布与分享的边界:share 动作与可见范围
默认私有不等于"永远私有"。仓库中的 tool-description-artifact-share-action-reference.md 记录了 Artifact 的share动作参数:
- url:要分享的 Artifact(用户拥有的);
- mode:
"org"(分享给用户所在组织所有人)或"people"; - people:当 mode 为
"people"时,指定要分享的人(姓名或邮箱,按用户口述传递,宿主会在确认卡片上解析为组织成员); - access:
"view"或"comment",省略时默认为"comment";"org"分享则保持 Artifact 当前的组织访问权限不变。
关键约束有三点:
- 每次分享都会展示确认卡片,用户可在卡片上修改受众与权限,确认前不会真正分享,也没有任何允许规则或模式可以替用户批准;
- share 永远不会把 Artifact 变为公开,也不会触及组织外的人——"完全公开"和"对全组织只读"这两类操作只能由用户在 claude.ai 的 Share 菜单中完成;
- 返回结果反映实际生效的分享内容,可能与 Claude 提议的有出入。
这套设计把"发布动作"与"权限升级"分离:Claude 可以默认发布(因为私有),但任何扩大可见范围的动作都必须经过用户确认。
六、发布侧约束:从 HTML 骨架到沙箱限制(配套规则速览)
指定文档本身是"引言",其行为落地依赖仓库中一系列配套的工具描述。写作时了解这些约束,有助于理解"为什么 Artifact 是受控环境"。
6.1 自动包裹的 HTML 骨架
tool-description-artifact-html-document-skeleton.md 说明:发布时文件会被自动包裹进<!doctype html>+<head>+<body>骨架,因此作者只需写页面正文内容,不必自行输出 DOCTYPE、<html>、<head>、<body>标签。骨架的 head 只带 charset、viewport meta(含viewport-fit=cover)和一个轻量 reset(如img{max-width:100%}、[hidden]{display:none!important}),作者自己的<title>和<style>应放在文件顶部,并保留:root的安全区 padding。
6.2 CSP 强制的 CDN 白名单
tool-description-artifact-external-resource-allowlist.md 规定:外部脚本只允许从cdnjs.cloudflare.com(首选)、cdn.jsdelivr.net/npm/、unpkg.com、cdn.tailwindcss.com(Tailwind play-CDN 脚本)和code.jquery.com加载;外部样式表只允许从fonts.googleapis.com加载(字体文件来自fonts.gstatic.com,且每个字体都要有真实回退栈)。其他一切资源(包括 esm.sh,以及这些 CDN 上除脚本外的样式表、图片、媒体、fetch/XHR/WebSocket 等)都会被 CSP 静默拦截,因此其余 CSS/JS 必须内联、其余资源必须以 data: URI 内嵌。
6.3 查看器沙箱与运行时能力
tool-description-artifact-publishing-and-update-guidance.md 说明查看器运行在锁定框架中:window.print()无效(不要提供打印/存 PDF 按钮)、confirm()恒返回 false、prompt()恒返回 null(确认步骤要在页面内自建)、摄像头/麦克风/定位等设备 API 一律被拒(有运行时能力的场景除外)、不能内嵌其他站点 iframe、fetch()只能相对 URL 读取随页面发布的文件等。同时要求页面(含 data: URI 内嵌资源)不超过变量MAX_ARTIFACT_BYTES规定的尺寸上限,并在首次发布时传递一个简短普通词作为icon(例如"chart"、"calendar"、"recipe",不得是品牌名、emoji 或标记),后续重新部署时省略icon以保留原图标。
若页面需要读取实时数据、跨查看者共享状态、识别访客等能力,则需按 tool-description-artifact-runtime-capabilities-guidance-app-wording.md 的要求,先加载对应的 capabilities 技能,再通过capabilities输入声明,并优先用运行时能力承载持久状态,把localStorage留给单个查看者的便利性数据(它按 Artifact 独立 origin 隔离,只存在于查看者自己的浏览器中,可能为空或抛异常,读写必须 try/catch)。
七、总结:一条"私有默认 + 分层授权"的发布链路
将指定文档与配套文档串联起来,Claude Code 的 Artifact 发布机制是一条清晰的链路:
- 判断:页面是否比终端文本更清晰?用户或团队是否要"使用"而非"阅读"页面(收集输入、跟踪变更、展示实时数据)?
- 渲染与默认发布:Artifact 托管于 claude.ai 且默认私有,因此 Claude 可对自己的工作成果主动发布,无需逐次询问;
- 红线过滤:凡可能误导或造成伤害的内容——模仿真实组织/个人/记录、用户标记为敏感的内容,以及配套文档列出的冒充、伪造记录、虚假收集流程、针对私人内容——一律构建为文件,发布与否由用户决定;
- 授权分层:任何扩大可见范围的动作(组织内分享、按人分享)都通过
share动作并以用户确认卡片收口,永不自动公开; - 受控渲染:页面在 CSP 白名单、尺寸上限、沙箱限制与运行时能力声明等约束下渲染,保证"即使发布,也处于受控环境"。
这套机制的核心价值在于:用"默认私有"换取了发布效率,用"红线例外 + 用户确认"守住了安全边界。理解指定文档中的三段式判断(是什么、何时用、何时不主动发),即可准确预测 Claude 在 Artifact 工具上的行为,也便于你在自定义提示词或工作流中复用同样的发布决策逻辑。若需进一步对照,可继续阅读仓库中的 tool-description-artifact-publishing-and-update-guidance.md、tool-description-prohibited-artifact-publishing.md 与 tool-description-artifact-share-action-reference.md 获取完整规则原文。
- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
相关推荐
如何让你的镜面更美观:MagicMirror² CSS主题定制与AnimateCSS动画入门指南
如何让你的镜面更美观:MagicMirror² CSS主题定制与AnimateCSS动画入门指南 MagicMirror² 是一款开源的模块化智能镜子平台,能把
文档提示工程人工智能Claude Ads v2 发布策略解析:公开/私有内容分类、Clean-Room 规则与公共发布门禁
Claude Ads v2 发布策略解析:公开/私有内容分类、Clean Room 规则与公共发布门禁 control plane/PUBLISHING_POL
Claude Code 编辑器线程后续消息处理:Artifact 页面级编辑与重发布机制解析
Claude Code 编辑器线程后续消息处理:Artifact 页面级编辑与重发布机制解析 本文基于 agent prompt artifact editor
文档提示工程人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考