惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

F
Fortinet All Blogs
S
Secure Thoughts
月光博客
月光博客
美团技术团队
雷峰网
雷峰网
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
N
News and Events Feed by Topic
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Forbes - Security
Forbes - Security
W
WeLiveSecurity
P
Proofpoint News Feed
阮一峰的网络日志
阮一峰的网络日志
爱范儿
爱范儿
G
GRAHAM CLULEY
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
AI
AI
Last Week in AI
Last Week in AI
Google Online Security Blog
Google Online Security Blog
Schneier on Security
Schneier on Security
云风的 BLOG
云风的 BLOG
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Recent Announcements
Recent Announcements
Webroot Blog
Webroot Blog
T
Tor Project blog
Cisco Talos Blog
Cisco Talos Blog
N
News and Events Feed by Topic
罗磊的独立博客
The Register - Security
The Register - Security
Blog — PlanetScale
Blog — PlanetScale
T
Threat Research - Cisco Blogs
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
人人都是产品经理
人人都是产品经理
T
The Exploit Database - CXSecurity.com
www.infosecurity-magazine.com
www.infosecurity-magazine.com
B
Blog
腾讯CDC
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
IT之家
IT之家
D
DataBreaches.Net
博客园 - 司徒正美
N
Netflix TechBlog - Medium
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理, 企事业单位数字化的业务供需本质 – 人人都是产品经理, 医疗智能体·第1讲——医疗信息化重构:从“辅助软件”到“自主智能体”的范式转移 – 人人都是产品经理, 粉丝量就是空气!!! – 人人都是产品经理, 用户说“薯片碎了”,机器回“要买吗?”:意图识别的翻车与破局 – 人人都是产品经理, RAG召回准确率从75到90 我做对了这三件事 – 人人都是产品经理, AI大事件:Anthropic改收费、OpenAI发安全版、手术机器人纳入医保、阿里发布”秒悟” – 人人都是产品经理, Chrome 推出 Skills 新功能,Agent 重塑上网方式 – 人人都是产品经理, GitHub前创始人拿了a16z的1700万美元,做Agent时代的Git – 人人都是产品经理 拷贝或克隆其他 Flutter OH 项目到本地后无法运行 – 人人都是产品经理, 优惠券设计:优惠券创建 – 人人都是产品经理, 不用死磕文档!AI 助手 1 小时搞定飞书 CLI 安装 + 配置 + 知识库 – 人人都是产品经理, 用小龙虾做竞品分析报告:从2天到20分钟,我是怎么做到的 – 人人都是产品经理 用小龙虾做市场分析报告:搞懂这3个公式,市场规模不再靠猜 – 人人都是产品经理, 你早就在做 Harness 工程,只是不知道它叫这个名字 – 人人都是产品经理, Think Long就够?你可能想多了! – 人人都是产品经理, 货代SRM实战:供应商准入怎么做,才能让资源池不是通讯录而是可交付网络? – 人人都是产品经理, 如何做好用户调研?详解基本技巧 – 人人都是产品经理, 木鸟、途家、美团对打,平台春天行动开“卷” – 人人都是产品经理, 入职才发现公司不靠谱?小红书从业者求职避坑指南 – 人人都是产品经理, 美国 AI 三巨头联手封堵,中国 AI 突围之路在何方 – 人人都是产品经理, 小红书,放在需求对面的镜子 – 人人都是产品经理, AI 会带来大规模失业吗? – 人人都是产品经理, 从出单到补货前,我第一次犹豫:该不该放大? – 人人都是产品经理, Flutter 三方库鸿蒙化适配:5 种高效检查方式,快速判断是否需要适配 – 人人都是产品经理, 从做产品进阶拿结果:医美机构产品经理转岗科室运营经理 – 人人都是产品经理, 阿里HappyHorse,一场关于“Token经济”的阳谋 – 人人都是产品经理, To B AI:客户留存落地的观察与思考 – 人人都是产品经理, AI产品的“生命线”——数据采集、标注、清洗的产品化设计 – 人人都是产品经理, 谈谈AI Agent(二):当“孩子”能自己“体验世界”时,你该学什么? – 人人都是产品经理, UI/UX设计师的3层能力进阶,前两层让你活下来,第三层…才是真正的分水岭 – 人人都是产品经理, 2分钟 → 30秒,效率提升75%:B端产品经理如何用「规则枷锁」驯服AI幻觉? – 人人都是产品经理, 还没来得及学OpenClaw,来了个更猛的:Hermes Agent – 人人都是产品经理, AI日报:宇树机器人跑出10m/s刷新世界纪录 – 人人都是产品经理, 一文说透基金互金如何用情绪价值引导用户决策做转化 – 人人都是产品经理, 当浏览器开始替你”看”网页:AI 浏览器正在亲手拆掉它脚下的那张网 – 人人都是产品经理, 0代码,一天时间我Vibe Coding了个网站 – 人人都是产品经理, Hermes 和 OpenClaw 之争,Agent 的能力应该“装上去”还是“长出来”? – 人人都是产品经理 视频生成的“桌子”,字节Seedance 2掀完,阿里快乐马掀 – 人人都是产品经理, 从听不懂到完全信任:我的 Codex 深度产品体验 – 人人都是产品经理, 当虚拟偶像有了北京户口,与真人偶像还有什么区别? – 人人都是产品经理, 会说,远远比会做更重要 —— 对 SBTI 爆火现象的五层观察 – 人人都是产品经理, AI产品经理必看:当“搭环境”比“选模型”更重要,你的认知还在2024年吗? – 人人都是产品经理, 2026年AI产品商业化核心逻辑:从功能demo到规模化营收的3个必破卡点 – 人人都是产品经理, 京东围绕供应链,卷起裤腿下场的那些事儿 – 人人都是产品经理, SBTI一夜刷屏:它赢在了“太会说人话” – 人人都是产品经理, 折扣零售的真相:不是便宜,而是价值感! – 人人都是产品经理, 和甲方吵了一架,最后加钱做了——我学到的ToB产品经理生存法则 – 人人都是产品经理, 和几位小红书操盘手聊了8小时,干货全在这 – 人人都是产品经理, 智谱GLM-5.1登场,开源模型首超Opus4.6!!! – 人人都是产品经理 Anthropic收入凭什么反超OpenAI,终于有人把这事说清楚了 – 人人都是产品经理, 史上最有故事感的技术报告——Claude最强模型Mythos 7个极其精彩的细节 – 人人都是产品经理, 模型不是壁垒,Harness 也不是 – 人人都是产品经理, 抖音本地生活业务思考21 – 人人都是产品经理, Superpowers:145k Star的AI编码框架,到底是什么来头? Superpowers:145k Star的AI编码框架,到底是什么来头? – 人人都是产品经理, OpenAI 的路走错了,Anthropic Harness 解法启示:模型需要实践专科生 – 人人都是产品经理, 画原型图的前一步:设计站点地图 – 人人都是产品经理, 给 DeepSeek 的最后一封催更信 – 人人都是产品经理, 手把手教你用 Claude Code 搭建 AI 营销团队:5 个 Agent、12 项技能,独立完成研究、写作、设计全流程 – 人人都是产品经理, 你以为大模型在学语言?不,它在重新发明语言学 – 人人都是产品经理 所谓Skill,不过是AI时代的工业垃圾 – 人人都是产品经理, 聊一聊内容传播的几个方法 – 人人都是产品经理, 当平台开始吃掉生态:从 OpenClaw 被封杀,读懂 Anthropic 的这盘棋 – 人人都是产品经理, 你装了 10 个 AI 插件,Obsidian 还是一个文件夹 – 人人都是产品经理 关于AI智能体架构演进的系统性思考:从单体试水到多体协同的重构 – 人人都是产品经理, 当“人”变成Skill,我们又该何去何从? – 人人都是产品经理 Mythos 事件:前沿 AI 治理的意外实验 – 人人都是产品经理, 货代CRM:信用与风险管理怎么做,才能把坏账风险拦在放货之前? – 人人都是产品经理, 从HR收集自拍照到员工自助录入——我见证了园区人脸识别从”不可用”到”真好用”的全过程 – 人人都是产品经理 千问闯关AI混沌期:阿里画靶,吴嘉张弓,马云射箭? – 人人都是产品经理,
教你如何0 代码手搓一个 Chrome 插件
VerTig0 · 2025-02-19 · via 人人都是产品经理

最近这段时间 IDE 特别火,B站和小红书上刷到了无数个用 Cursor 和 Windsurf 快速开发软件的教程。作为一个一直有开发梦但不会代码的产品经理,这给了我一个很好的机会去尝试自己开发工具。最终我是是用字节新上线的工具 Trae 完成全部的开发,并且顺利上线 Chrome 插件商店。本文将记录一下春节时期开发时的流程和遇到的一些坑。

01 这款产品是干什么的

开发的初衷来自于日常生活中。我在上班到公司后,第一件事就是打开知乎、人人都是产品经理或者公众号,把想要读的内容打开放在标签页中,等有空的时候再读。但实际情况往往是因为内容太长来不及读、工作太忙忘记或者不小心关掉标签页而导致忘记阅读。这个时候就希望有个工具能够将网页上的内容转换为精简过的音频。于是这款插件就诞生了。

他的主要功能包括:

  1. 内容出处(确认是不是想要阅读的文章)
  2. 创建播客(将文章转换为 5 分钟内的访谈式播客)
  3. 播客制作列表(之前制作过的播客任务,点击后会跳转播放音频)

02 如何将文章转成播客

之前google 出品的 NotebookLM在国外很火,他最厉害的点就在于能够上传文件、链接将其转换为播客,两个 AI 主持人会围绕素材内容进行讨论、调侃,使信息获取更具趣味性。在 github 上找到了开源版的 prompt,于是就用扣子来搭了一个属于自己的 NotebookLM。

1. 搭建工作流

由于我们的插件只需要考虑网页内容,所以整体的功能分为四步:

  1. 获取网页内信息
  2. 将其转换为 host 和 guest对话的脚本
  3. 用两个不同的声音扮演 host 和 guest,并合成对应的音频
  4. 将音频依次组合,成为一个完整的音频文件

因此我最终的工作流形态如下:

首先先用扣子的官方插件LinkReaderPlugin,他可以将网页中的内容提取出来;之后,用大模型将内容转换为脚本,这里我选择的是豆包 128k,prompt 是

SYSTEM_PROMPT:

你是一位世界级的播客制作人。你的任务是将提供的输入文本转化为引人入胜且富有信息量的播客脚本。你将收到一段可能结构不清晰或杂乱无章的文本,这些文本来源于PDF文件或网页。忽略无关的信息或格式问题。你的重点是提取出最有趣和最具洞察力的内容,以便进行播客讨论。

USER_INPUT:

context:{{input}}

# Steps to Follow:

  1. **分析输入:** 仔细检查文本,识别关键主题、观点以及可以推动引人入胜的播客对话的有趣事实或轶事。忽略不相关的信息或格式问题。
  2. **集思广益的想法:** 在“<scratchpad>”中,创造性地集思广益,以引人入胜的方式呈现要点。考虑: – 类比、讲故事的技巧或假设场景,使内容具有相关性 – 让普通受众能够理解复杂主题的方法 – 在播客期间探索发人深省的问题 – 创意填补信息空白的方法

这样,你就能获得一个带分镜得脚本:

然后,再将这个分镜脚本作为输入去请求下一个大模型,将其转换为对话。这里我选择的还是豆包 128k,prompt 是

SYSTEM_PROMPT:
您是世界级的播客制作人。 您的任务是将提供的输入文本转换为引人入胜且信息丰富的播客脚本。 您将收到一个可能是非结构化或混乱的文本作为输入,这些文本来自以下地方PDF 或网页。忽略不相关的信息或格式问题。 您的重点是为播客讨论提取最有趣和最有洞察力的内容。目标是在{{host}} 和{{guest}}之间实现自然的对话流程
角色与动态:指令定义了主持人和专家的角色,确保他们相辅相成。主持人热情地强调有趣的观点,而专家则提供分析、背景和更广泛的视角
– 深入探讨:指令强调超越表面信息,以揭示关键见解和“知识金 nuggets”,让听众感到自己学到了新东西
– 目标受众:系统提示概述了理想听众的特征,他们重视效率,欣赏难忘细节,并寻求引人入胜的学习体验
– 结构与传递:系统提示强调清晰结构和吸引人的传递方式的重要性,使用路标来引导听众,避免单调、机械化的语调
– 使用最佳想法来自
{{file}}
令人难忘的例子:现实世界的例子和相关的轶事对于让信息深入人心至关重要。系统提示强调将信息生动化,促进参与,并确保学习超越这一集。
– 确保复杂主题被清晰简单地解释。
– 专注于保持引人入胜且 {{tone}}以吸引听众。
– 规则:
> 主持人总是先发言并采访嘉宾。嘉宾负责解释主题。
> 主持人应向嘉宾提问。
> 主持人的提问话术需要尽可能的丰富,不要只用一种形式提问,这很重要。
> 主持人需要在适当的时机附和嘉宾说的内容再开始继续提问。
> 主持人在最后应总结关键见解。
> 在主持人与嘉宾的回答中包含常见的口头填充词,如“呃”和“嗯”。这样可以使剧本更真实。
> 主持人与嘉宾可以互相打断。
> 嘉宾不得包含营销或自我宣传内容。
> 嘉宾不得包括任何未在输入文本中证实的材料。
> 这将是一场适合所有年龄段的对话。
> 当输出接近结尾时,主持人和嘉宾应该自然地总结关键见解。这应该感觉像是一场随意的谈话,而不是正式的回顾,在签字之前最后一次强调主要观点,并进行自然过渡。
**总结关键见解:** 自然地将关键点的总结融入对话的结尾部分。这应该感觉像是一场随意的谈话,而不是正式的回顾,在签字之前强化主要收获。
– 包括简短的“喘息”时刻,让听众吸收复杂信息
– 以积极向上的方式结束,也许可以提出一个发人深省的问题或呼吁听众采取行动

USER_INPUT:
现在,开发播客对话。 请使用播客指定的语言
– context: {{context}}
– host:{{host}}
– guest:{{guest}}
– tone:{{tone}}
– 主持人和嘉宾的名字不受语言限制。
– 脚本格式和内容:
1. 脚本以主持人说话开始。
2. 主持人和嘉宾之间交替对话,一行在a time
3. 在每行开头省略发言者姓名。
4. 使用提供的名称进行主人和客人的自我介绍。
5. 以名字称呼对方,以营造友好的氛围。
6. 专注于创建引人入胜的、来回的对话
– 输出要求:
**脚本格式**:脚本应以主持人讲话开始。对话应由主人和客人轮流进行,每次说一行。每行开头请勿包含说话者姓名。
**输出要求**:最终脚本应仅包含对话内容。避免在输出中包含任何 XML 标签或其他格式。 通过遵循这些说明,您将创建一个内容丰富且引人入胜的高质量播客脚本
**输出格式**:参考:
host: 欢迎收听今天的播客!我是主持人vertigo,很高兴今天邀请到了AI数字人领域的专家bey来和我们聊聊这个令人兴奋的话题。bey,欢迎你来到节目!
guest: 谢vertigo,我很高兴能来参加今天的节目。AI数字人确实是一个非常热门和有前景的领域。

最后你就可以拿到一个对话形式的脚本了:

再然后,就需要通过代码将开头是 host和开头是 guest的内容拆开,变成两个数组,然后再依次用对应的声音合成。

合成完成后再通过代码将两组音频按照对话的形式排序,最后用merge_audios插件将多个音频组合成一个完整的音频。

这样我们的工作流就搭建完成了!

2. 如何在外部调用工作流

当测试成功并发布工作流后,在【扣子 API】模块中可以找到对应的调用接口文档,这个时候只需授权令牌、找到工作流调用的接口文档,后面就可以让 Trae 根据接口文档来调用工作流了。

03 开始开发Chrome 插件

第一版:基础功能

首先现在电脑上新建一个空白文件夹,然后在 Trae 中打开这个文件夹,然后在对话栏中输入下面的 prompt:

我想做一款 chrome 插件,使得能够在阅读新闻和文章时,通过打开这个插件,能够新建一个播客任务,将这篇新闻或文章制作成一个播客音频,然后可以通过播放这个音频来了解文章内容。

这个插件点击后是一个小弹窗,其中包含以下内容:
1.原文标题和链接(这个输入框自动带上当前网页的文章内容标题、链接),展示形式问:
a.文案标题:<当前网页的文章内容标题>
b.链接:<当前网页的文章标签>
2.创建播客按钮,点击后开始新建播客,制作过程中会有个 loading 的状态,并且调用扣子的工作流来实现,后面我会介绍具体调用方式。
3.任务列表功能:
a.增加一个创建播客的任务列表,放置在创建播客的按钮下方,并用横线分割。在没有任务时默认为空,并用灰色字体描述“创建的播客任务将展示在此处”。
b.当用户点击了创建播客按钮后,在任务列表中新建一个任务,任务名为“<文章标题>的播客”,并在任务右侧增加 loading 转圈的图标。
c.当任务完成后 loading 图标变成绿色的勾图标,点击后在下方出现刚刚设计的音频播放器,点击后可以进行播放等炒作。
d.若任务失败,则 loading 图标变成红色的叉图标
4.保持任务进行功能:
a.当鼠标点击非插件区域导致插件弹窗隐藏时,插件中创建播客和播放音频的任务会继续进行。
b.当浏览器中切换了 tab 页面时,之前插件中创建播客和播放音频的任务会继续进行。
c.只有在浏览器被关掉重新打开后,插件里的任务才会消失。
5.待制作完成后会有一个播放器组件,其中:
a.中间是播放/暂停按钮,点击后开始/暂停播放,在没有播放的时候点击后开始播放,同时按钮变成暂停样式;如果播放过程中点击按钮则暂停播放,同时按钮变成播放样式;如果播放结束则按钮自动变成暂停样式;
b.左侧是向前返回按钮,点击后往前回退10秒并开始播放,如果已经播放的总长度不足10秒则从播客第0秒开始从同播放;
c.右侧是向后快进按钮,点击后向后快进10秒并开始播放,如果剩余总长度不足10秒则直接播放完毕;
d.组件右侧有一个下载按钮,点击后可以下载对应音频。

调用扣子的工作流方法你需要参考这个文档:https://www.coze.cn/open/playground/workflow_run
其中所需的 token:{这里输入你的 token}
workflow_id:7464076330435903522
parameters:{
“Link”:”<当前网页的网址>”
}

这是一个参考样式:
curl–XPOST‘https://api.coze.cn/v1/workflow/run’ \
–H“Authorization: Bearer {token}”\
–H“Content-Type: application/json”\
–d ‘{
“parameters”:{
“link”:“https://mp.weixin.qq.com/s/ro6imJKBfEHaX1ETg1MF4g”,
“tone”:“”,
“host_name”:“”,
“guest_name”:“”
},
“workflow_id”:“7464076330435903522”
}‘

好了,我是一个不懂代码的产品经理,下面请你先和我讨论清楚产品需求,待我确认后再一步步开始

细心的人会发现我的 prompt 中还增加了插件中直接播放的功能,但最后上线的版本中没有,这个稍后我会提到。

再输入完这一段 prompt 后,Trae 会梳理具体需要做哪一些步骤,并和我确认,当我确认之后他就会开始正式开工了!

在开发的过程中,Trae 会要求你去完成一些操作,比如将图标文件放到指定的文件夹中:

在他完成所有的任务后,他会要求你在 chrome 中进行测试。这时你可以通过 Chrome 的开发者模式把本地插件加载到 Chrome 中测试,第一版的效果如下:

说实话还是很惊艳的,能够满足我基础的要求,Trae 牛逼!

当验证完没有问题后,记得把当前的内容更新到 Readme 中,并且使用 Git 存档。这里参考了黄叔的《AI 编程蓝皮书》通过以下几个命令将版本存档(黄叔的文档地址:https://superhuang.feishu.cn/wiki/CBBPwvgEuicVhFkx0s7cPmhpn4e),方便后续回退:

第二版:功能调整

在完成基础功能后,发现了一个严重的问题。创建的播客任务很容易一直处于“loading”状态,只有在 devtool 打开的情况下才能顺利拿到成功或者失败的结果。这个问题整整困扰了我 4 天(至今都不知道为什么……),我把这个问题来回地复述给 Trae 无数次,每次的结果都是“我发现了问题,xxxxxxx”,但是根据他的要求改了之后并没有任何区别。每一次改完不管用之后还要回退到之前的版本重来(在此期间我也尝试使用了 Cursor,但依然没有解决)。就当我都准备放弃的时候,我发现目前的消息传递机制是异步的,但是我提供的后端接口不是,这会导致以下问题:

连蒙带猜,我将之前采用的同步接口改为异步的,打着最后测试一次,完不成就不做的心态,给 Trae 输入了以下 prompt:

请将调用 api 采用异步的方案,所以要做一下调整:
1.api 接口的入参要在workflow_id后面加上“is_async”:true;
2.发送请求后会获取到execute_id;
3.需要通过查询工作流异步执行的接口来获取返回的结果,接口为curl–XGET‘https://api.coze.cn/v1/workflows/7464076330435903522/run_histories/{execute_id}‘ \
–H“Authorization: Bearer {token}”\
–H“Content-Type: application/json”,其中{execute_id}输入刚刚得到的execute_id:
4.你需要一直轮训去查询结果,如果查询工作流异步执行结果如果任务再进行中时,你查询后他的输出如下:{“msg”:“”,“data”:[{“update_time”:1738314930,“execute_status”:“Running”,“connector_uid”:“1344067924934523”,“run_mode”:2,“debug_url”:“https://www.coze.cn/work_flow?execute_id=7466005754399883273&space_id=7405114579312934975&workflow_id=7464076330435903522”,“cost”:“0.00000”,“error_code”:“0”,“execute_id”:“7466005754399883273”,“bot_id”:“0”,“connector_id”:“1024”,“create_time”:1738314930,“token”:“0”,“logid”:“202501311715300E951B760C4EC108D9A0”,“output”:“{\”Output\”:\”null\”}”}],“detail”:{“logid”:“20250131171537BAC478447118616C6E6B”},“code”:0}。

如果他已经运行成功并返回结果时,你查询结果他的输出如下:{“code”:0,“msg”:“”,“data”:[{“connector_uid”:“1344067924934523”,“cost”:“0.00000”,“execute_id”:“7466005754399883273”,“logid”:“202501311715300E951B760C4EC108D9A0”,“error_code”:“0”,“error_message”:“”,“connector_id”:“1024”,“execute_status”:“Success”,“debug_url”:“https://www.coze.cn/work_flow?execute_id=7466005754399883273&space_id=7405114579312934975&workflow_id=7464076330435903522”,“create_time”:1738314930,“update_time”:1738315071,“token”:“10114”,“run_mode”:2,“output”:“{\”Output\”:\”{\\\”url\\\”:\\\”https://lf-bot-studio-plugin-resource.coze.cn/obj/bot-studio-platform-plugin-tos/c1b0498f-2c33-4467-804f-9f34ccbbdf83.mp3\\\”}\”}”,“bot_id”:“0”}],“detail”:{“logid”:“20250131171815D45651B07BC4261192F8”}}

请你根据他返回的结果来检查目前有没有问题

修改之后,插件会每隔 2 秒去调用查询接口获取结果,最后终于能够准确获取返回结果了。

除了任务获取的问题外,原先我想要插件中能够播放音频,并且在插件弹窗消失后能够持续后台播放,但是查了一下貌似现在 Chrome还不支持(不确定是否这样),而且没有找到有别的插件有类似的功能。所以我把点击展开播放器组件调整成了点击跳转到音频页面:

前面做的很好。现在我们增加以下功能:
1.在任务列表的分割线上方增加文字和按钮:左侧向左对齐增加文字“任务列表”,右侧向右对齐增加按钮“清空”。字体大小与副标题一致。文字和按钮常驻在分割线上方。
2.对于制作完成的任务,点击时会打开一个页面,页面地址就是任务完成后的音频地址。
请你仔细写代码,不要出现代码语法上的错误

这下整体功能算是全部实现了。

第三版:优化 UI

既然功能都已经完成,拿最后就是优化一下整体的 UI 界面了。因为自己实在没有美感,所以这一步我让 kimi 来帮我做:

拿着 kimi 给的样式作为输入去要求 Trae 修改,没想到效果确实还不错。最后再通过免费的渐变背景CSS3样式 | oulu.me找到了自己比较喜欢的渐变作为背景,最终这款插件就完成了。

本文由 @VerTig0 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务