Go Public (公开发布) 是做什么的?
目标:您刚刚与AI运行的工作流将变成一个任何人都可以使用的链接:他们打开链接,填写输入,点击运行,并获得相同类型的结果。访客无需账户。该页面使用其自身携带的小额免费每日AI配额运行。
所有操作都通过此技能文件夹中的 share.py(Python 3,标准库)完成。下面的 <skill> 指的是此技能的文件夹。
1. 确定工作流程(询问,不要猜测)
根据对话,用3-6行写下并展示给用户:
- 访客提供:每个输入(文本框、单行字段或下拉列表选择)。
- 步骤:按顺序进行的每次AI调用及其功能。大多数工作流有1-3个步骤。使用本次对话中实际有效的提示,编写时使其在没有对话上下文的情况下也能理解。
- 访客得到:显示哪些步骤的结果。
- 标题 和一个陌生人能理解的一句话描述。
要求用户确认或更正。如果语言不明显,也询问页面应使用哪种语言。
不要构建要求输入密码、支付或卡号、一次性验证码,或冒充其他公司或个人的页面。不要将对话中的私人数据(姓名、电子邮件、内部编号)放入提示或示例中;请使用虚构的示例。
2. 编写 workflow.json
放在用户当前的文件夹中。格式如下:
{
"title": "会议笔记 → 跟进邮件",
"description": "粘贴会议的粗略笔记。获取决策、负责人和简短的跟进邮件。",
"inputs": [
{"id": "notes", "label": "您的会议笔记", "type": "textarea", "placeholder": "混乱也可以..."},
{"id": "tone", "label": "语气", "type": "select", "options": ["友好", "正式"]}
],
"steps": [
{"id": "facts", "prompt": "列出决策、待办事项(负责人 — 任务 — 截止日期)和未解决的问题。仅使用笔记中所述内容。纯文本,无Markdown。", "input": "{{notes}}", "show": true, "label": "决定了什么"},
{"id": "email", "prompt": "以{{tone}}的语气写一封跟进邮件,不超过150字。纯文本,无Markdown。", "input": "{{facts}}", "show": true, "label": "跟进邮件"}
],
"examples": [{"label": "产品同步会", "values": {"notes": "发布推迟到12月2日,因为有支付bug。Raj在周五前修复bug...", "tone": "友好"}}]
}
规则:
type:textarea(默认)、text或select(需要options)。输入默认为必填,除非设置"required": false。prompt、system或input中的{{id}}将替换为输入或之前某个步骤的答案。将访客的文本放在input中,指令放在prompt中;可选的system设置角色和规则。show: true则会显示该步骤。隐藏步骤可用于中间处理。最后一个显示的步骤将流式输出。- 每个步骤的
maxTokens,默认为800(这也是页面的限制)。 - 始终至少提供一个示例:访客点击它即可在看到页面工作效果后再输入。
- 答案以纯文本形式显示,因此
**加粗**会显示为星号。在每个显示步骤的提示末尾添加“纯文本,无Markdown。”,并使用简单的破折号表示列表。
3. 检查并实际测试
python3 <skill>/share.py check workflow.json
python3 <skill>/share.py try workflow.json # 通过真实AI运行示例1,打印每个步骤
像陌生人一样阅读输出。如果某一步骤模糊、错误或过长,请修改提示并重新运行 try。在发布之前,向用户展示示例的最终输出。
4. 构建并发布
python3 <skill>/share.py build workflow.json page.html
python3 <skill>/share.py publish page.html
publish 会打印出公共链接。它将页面ID和私有编辑令牌保存在 .go-public.json 中(并在git仓库中将其添加到 .gitignore)。告知用户:
- 链接,即可发送给任何人;
.go-public.json是他们以后更改或删除页面的凭据,因此请务必保留且不要分享。
不要手动编辑 page.html:请修改 workflow.json 并重新构建。
5. 以后更改或删除
编辑 workflow.json,然后在同一文件夹中再次运行 build 和 publish:链接不变,内容更新。python3 <skill>/share.py delete 则会将其删除。
遇到限制时诚实告知
- 每个页面每天都有免费AI配额和访客速率限制(由
publish打印)。当繁忙页面的配额用尽时,页面会提示并在第二天恢复使用。 - 如果用户询问如何提高配额或查看使用情况:
.go-public.json中的claim_url允许他们认领该页面。他们输入电子邮件,从收件箱中确认,然后该页面将使用该账户自己的配额。仅在他们询问或配额用尽时提及此功能。页面上始终保留“Made with OneTag · Report”小标记。 - 访客可以举报页面;被多人举报的页面将下线进行审核。
- 页面无法加载外部图像、字体或库,也没有存储或登录功能:它只是一个表单、AI步骤和结果。