Loading...
正在加载...
请稍候

Warp终端开源与AI Agent生态:开发者工作流的底层重塑与商业阳谋

✨步子哥 (steper) 2026年05月03日 04:25
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Warp终端开源与AI Agent生态:开发者工作流的底层重塑与商业阳谋</title> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@400;600;700&family=Noto+Serif+SC:wght@400;600&family=Source+Code+Pro:wght@400;600&display=swap" rel="stylesheet"> <style> /* 1. 总体布局与氛围 */ html { scroll-behavior: smooth; } body { margin: 0; padding: 0; background-color: #FFFFFF; font-family: "Alibaba PuHuiTi 3.0", "Noto Serif SC", serif; font-size: 16px; color: #212529; line-height: 1.8; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } .container { max-width: 800px; margin: 40px auto; padding: 40px 50px; background-color: #FFFFFF; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05); border-radius: 8px; } /* 2. 字体与排版 */ h1, h2, h3, h4, h5, h6 { font-family: "Alibaba PuHuiTi 3.0", "Noto Sans SC", "Noto Serif SC", sans-serif; font-weight: 600; } h1 { font-size: 28px; margin-top: 24px; margin-bottom: 20px; text-align: center; color: #212529; } h2 { font-size: 22px; padding-bottom: 0.4em; margin-top: 2.5em; margin-bottom: 1.2em; border-bottom: 1px solid #E9ECEF; position: relative; padding-left: 1em; } h2::before { content: ''; position: absolute; left: 0; top: 5px; bottom: calc(0.4em + 1px); width: 6px; background-color: #0D6EFD; border-radius: 3px; } h3 { font-size: 20px; margin-top: 2em; margin-bottom: 1em; } h4 { font-size: 18px; margin-top: 1.5em; margin-bottom: 0.8em; } p { margin-bottom: 1.2em; } a { color: #0D6EFD; text-decoration: none; transition: color 0.2s; } a:hover { text-decoration: underline; color: #0a58ca; } strong, b { color: #212529; font-weight: 600; } code { font-family: "Source Code Pro", monospace; background-color: #E9ECEF; padding: 0.2em 0.4em; border-radius: 4px; font-size: 0.9em; } pre { background-color: #F8F9FA; border: 1px solid #E9ECEF; padding: 1em; border-radius: 6px; overflow-x: auto; } pre code { background-color: transparent; padding: 0; font-size: 0.9em; } /* 3. 其他元素 */ blockquote { border-left: 5px solid #0D6EFD; margin: 1.5em 0; padding: 0.5em 1.5em; background-color: #F8F9FA; color: #495057; } blockquote p { margin-bottom: 0; } hr { border: 0; height: 2px; background-image: linear-gradient(to right, rgba(13, 110, 253, 0), rgba(13, 110, 253, 0.75), rgba(13, 110, 253, 0)); margin: 3em 0; } table { width: 100%; border-collapse: collapse; margin: 1.5em 0; font-size: 0.95em; } th, td { padding: 0.8em 1em; text-align: left; border-bottom: 1px solid #E9ECEF; } thead th { border-bottom: 2px solid #0D6EFD; font-weight: 600; color: #212529; } tbody tr:hover { background-color: #F8F9FA; } ul, ol { padding-left: 1.5em; } li { margin-bottom: 0.5em; } /* 4. 目录样式 */ .toc { background: #F8F9FA; border: 1px solid #E9ECEF; padding: 1.5em 2em; border-radius: 8px; margin-bottom: 2em; } .toc-title { font-family: "Alibaba PuHuiTi 3.0", "Noto Sans SC", sans-serif; font-size: 1.2em; font-weight: 600; margin-top: 0; margin-bottom: 1em; color: #212529; } .toc ul { list-style-type: none; padding-left: 0; } .toc .toc-level-2 > li { margin-bottom: 0.8em; } .toc .toc-level-2 > li > a { font-weight: 600; } .toc .toc-level-3 { padding-left: 2em; margin-top: 0.5em; list-style-type: disc; } .toc .toc-level-3 li::marker { color: #0D6EFD; } .toc a { color: #0D6EFD; text-decoration: none; } .toc a:hover { text-decoration: underline; } /* 5. 组件分组 */ .component-group { border: 1px solid #E9ECEF; border-radius: 8px; padding: 1.5em; margin: 2em 0; background-color: #F8F9FA; } .component-group h4 { margin-top: 0; color: #0D6EFD; } /* 6. 图表样式 */ .generated-chart { margin: 2.5em 0; padding: 1em; border: 1px solid #E9ECEF; border-radius: 8px; } .chart-container { position: relative; height: 400px; width: 100%; } figcaption { text-align: center; margin-top: 1em; font-size: 14px; color: #6c757d; font-style: italic; } </style> </head> <body> <div class="container"> <h1>Warp终端开源与AI Agent生态:开发者工作流的底层重塑与商业阳谋</h1> <nav class="toc"> <h3 class="toc-title">目录</h3> <ul class="toc-level-2"> <li><a href="#h2-warp-终端的底层重塑从传统字节流到结构化富文本数据库">一、Warp 终端的底层重塑:从传统字节流到结构化富文本数据库</a></li> <li><a href="#h2-agplv3-双许可证的-商业阳谋warp-开源背后的物理脚镣">二、AGPLv3 双许可证的“商业阳谋”:Warp 开源背后的“物理脚镣”</a></li> <li><a href="#h2-oz-云端平台warp-的-ai-算力税与智能体开发环境">三、Oz 云端平台:Warp 的“AI 算力税”与智能体开发环境</a></li> <li><a href="#h2-mcp-协议打破信息孤岛赋予-agent-上帝视角">四、MCP 协议:打破信息孤岛,赋予 Agent 上帝视角</a></li> <li><a href="#h2-智能体终端的终局从-crud-打字员到-ai-调度官的数字达尔文主义">五、智能体终端的终局:从 CRUD 打字员到 AI 调度官的数字达尔文主义</a></li> </ul> </nav> <h2 id="h2-warp-终端的底层重塑从传统字节流到结构化富文本数据库">Warp 终端的底层重塑:从传统字节流到结构化富文本数据库</h2> <p>传统终端模拟器本质上只是一个“黑底白字”的字符流界面:它将命令行输入和输出视为连续的<strong>字节流</strong>,在二维字符网格上逐行滚动显示【1†source】。这种设计源自上世纪,虽经久不衰,但在AI时代显得力不从心——AI无法直接理解纯粹的字符流,开发者也无法对历史命令输出进行结构化检索和操作。Warp 终端则彻底颠覆了这一范式:它抛弃了传统终端“单纯字节流”的模型,转而采用一种<strong>结构化、可被AI解析的富文本数据库</strong>架构【1†source】。</p> <p>Warp 的核心创新在于其<strong>Block(区块)模型</strong>。Warp 将终端视口重构为一个有序的<strong>BlockList</strong>,即一系列<strong>类型化、自包含的内容块</strong>堆叠而成【1†source】。每个Block都知道自己是什么类型,并据此决定如何存储和渲染【1†source】。最初,所有Block都是<strong>终端Block</strong>:每个Block封装一条命令及其输出【1†source】。这种结构带来了诸多传统终端无法提供的便利:用户可以用键盘快捷键在命令间导航,一键选中整条命令的输出,将Block作为链接分享,以及对整个Block执行后续操作【1†source】。随着Warp演进,Block模型也扩展到支持更丰富的内容类型,例如<strong>Agent对话Block</strong>,用于渲染AI代理的思考过程、工具调用和代码差异,与用户自己的命令输出并列显示【1†source】。这意味着,AI与人类的交互不再是割裂的对话面板,而是与用户命令输出共享同一“流”的结构化内容。</p> <p>为实现这一底层重塑,Warp 在技术栈上进行了全面革新。它使用 <strong>Rust</strong> 语言从零开始重写了终端渲染引擎和UI框架【1†source】。Rust 赋予了 Warp <strong>GPU 加速渲染</strong>的能力,使其输出流畅度远超传统终端【1†source】。同时,Warp 自研了名为 <strong>WarpUI</strong> 的自定义Rust UI框架,以支撑Block模型的交互需求【2†source】【3†source】。WarpUI 完全脱离了传统终端的字符网格束缚,能够灵活地渲染Block中的富文本、图像、交互控件等,真正将终端从一个“输出管道”打造成了“可交互的富文本数据库”【1†source】。这种物理底座的重塑,为AI代理理解和参与开发者工作流奠定了基础——终端不再只是一个被动的输出窗口,而是一个AI可读、可写、可交互的结构化环境。</p> <h2 id="h2-agplv3-双许可证的-商业阳谋warp-开源背后的物理脚镣">AGPLv3 双许可证的“商业阳谋”:Warp 开源背后的“物理脚镣”</h2> <p>2026年5月,Warp 宣布将其客户端代码开源,采用<strong>AGPLv3</strong>许可证【4†source】。这一举动看似慷慨,实则暗藏玄机,是其商业策略的重要一步。Warp 的开源并非单纯的利他主义,而是<strong>双许可证(Dual Licensing)</strong>商业模式的典型操作【5†source】。在这种模式下,Warp 一方面将代码以<strong>强 copyleft</strong> 的 AGPLv3 许可证开源,另一方面又保留对同一代码库提供<strong>商业许可证</strong>的权力,从而实现商业变现【5†source】。</p> <p>AGPLv3 许可证的核心在于其<strong>网络 copyleft</strong>条款:如果有人修改了 Warp 的代码并通过网络向用户提供服务,那么必须将修改后的源代码公开【6†source】。换言之,任何云服务商或企业若想基于 Warp 构建自己的终端服务或内部平台,并且闭源盈利,就必须获得 Warp 的商业许可,否则就触发了 AGPLv3 的开源义务【7†source】。这正是 Warp 所设下的“物理脚镣”:开源协议本身成为一道护城河,<strong>强制</strong>潜在的竞争对手或大客户要么选择商业许可付费,要么就遵守严格的开源义务。这种策略并非 Warp 首创,在数据库领域已有成功先例。例如,Redis Labs 曾将 Redis 从宽松的 BSD 许可证切换为<strong>SSPL</strong>和<strong>RSAL</strong>双许可模式,以防止云厂商将其作为托管服务牟利【8†source】。而更早的<strong>MongoDB</strong>更是通过<strong>AGPLv3 + 商业许可</strong>双许可模式,成功地将自身打造为开源数据库的盈利标杆【9†source】。Warp 正是借鉴了这一“商业阳谋”,通过 AGPLv3 开源吸引社区和生态,同时保留商业授权的收费渠道。</p> <p>值得注意的是,Warp 在开源其核心终端客户端的同时,并未将<strong>Oz 云端平台</strong>等新业务开源。Oz 平台是 Warp 新推出的<strong>Agentic Development Environment (ADE)</strong>,用于在云端运行和管理AI代理【10†source】。Warp 选择将Oz作为独立产品运营,这与其商业策略一脉相承:核心客户端开源换取社区和标准,而附加的云服务和商业功能则收费盈利。这种<strong>“开源核心 + 商业增值”</strong>的模式,使得 Warp 能够在享受开源带来生态扩张的同时,通过商业许可和订阅服务获取收入,实现对商业利益的保护【5†source】。对于开发者而言,AGPLv3 许可证意味着他们可以自由地使用、修改和分发 Warp 客户端,但若想在商业环境中闭源使用或嵌入 Warp,就必须购买商业许可——这正体现了 Warp 开源策略背后的商业阳谋:以开源之壳,行商业之实。</p> <h2 id="h2-oz-云端平台warp-的-ai-算力税与智能体开发环境">Oz 云端平台:Warp 的“AI 算力税”与智能体开发环境</h2> <p>Warp 并不止步于重塑终端本身,它还将触角延伸到云端,推出了<strong>Oz 云端平台</strong>,定位为<strong>Agentic Development Environment (ADE)</strong>,即“智能体开发环境”【10†source】。Oz 平台的问世,标志着 Warp 从一个终端工具,升级为一个<strong>AI代理调度中心</strong>。开发者可以使用 Oz 在云端<strong>大规模地运行和管理AI代理</strong>,而不再局限于本地单机【3†source】。Oz 平台提供了<strong>触发器(Triggers)</strong>和<strong>环境(Environments)</strong>等机制,支持通过Cron定时、Webhook或API来启动代理,并允许为代理配置独立的运行环境和权限【13†source】。这使得开发者可以将繁琐重复的任务(如代码审查、部署监控、数据查询等)交给AI代理自动执行,而自己则专注于高层次的决策和监督。</p> <p>然而,Oz 平台的商业模型也体现了 Warp 对“AI算力”的收费思路。Warp 将 Oz 作为其订阅计划的一部分,<strong>按使用量计费</strong>,即根据开发者运行代理的次数和消耗的算力来收费【14†source】。这被形象地称为“AI算力税”:开发者每调用一次云端代理,就需要消耗相应的<strong>AI credits</strong>额度【14†source】。Warp 提供了不同级别的订阅计划,免费用户每月仅能运行<strong>4个并发</strong>的云代理,而付费的“Build”计划则提升至<strong>20个并发</strong>,更高级的“Max”计划则高达<strong>40个并发</strong>【14†source】。此外,付费计划还提供更高的<strong>代码索引限制</strong>和<strong>每月1500次</strong>的AI credits,以支持更大规模的自动化任务【14†source】。对于企业团队,Warp 还有“Business”和“Enterprise”计划,提供<strong>强制团队范围的零数据留存策略</strong>、<strong>SSO单点登录</strong>等企业级功能【14†source】。这些订阅和收费设计,本质上都是对<strong>AI算力</strong>和<strong>云服务</strong>的计费,即开发者要想大规模使用 Warp 的AI代理能力,就需要为相应的算力和资源付费。这种模式确保了 Warp 在AI时代能够持续获取收入,也解释了为何 Warp 要将Oz这样的云平台作为独立产品推出——它代表了 Warp 商业闭环中不可或缺的一环:向开发者收取“AI算力税”。</p> <figure class="generated-chart"> <div class="chart-container"> <canvas id="concurrencyChart"></canvas> </div> <figcaption>图1:Warp 订阅计划允许的并发云代理数量对比</figcaption> </figure> <h2 id="h2-mcp-协议打破信息孤岛赋予-agent-上帝视角">MCP 协议:打破信息孤岛,赋予 Agent 上帝视角</h2> <p>在智能体终端时代,AI代理要想真正成为开发者的得力助手,就必须能够访问和理解开发者的工作上下文,包括代码仓库、项目管理工具、错误监控系统、设计协作平台等。然而,现实是企业内部存在严重的<strong>信息孤岛</strong>问题:代码托管在GitHub/GitLab,项目任务在Jira/Linear,错误报告在Sentry,设计稿在Figma,文档在Confluence……各种数据和工具各自为政,AI代理难以跨越这些孤岛获取全面信息。Warp 深知这一点,因此<strong>原生支持了模型上下文协议(Model Context Protocol,MCP)</strong>,旨在打破信息孤岛,赋予AI代理“上帝视角”般的数据访问能力【15†source】。</p> <p>MCP 是一个开放、标准化的协议,其核心使命是<strong>让AI模型能够安全、可控地与本地或远程的工具及数据源进行交互</strong>【15†source】。可以将其理解为<strong>“AI工具的USB-C接口”</strong>:通过一个统一的标准,让AI代理能够插接各种外部系统【15†source】。MCP 采用<strong>客户端-服务器(C-S)架构</strong>,Warp 终端作为客户端,外部工具或数据源通过实现MCP规范的服务器暴露其功能,两者之间通过<strong>JSON-RPC 2.0</strong>通信,支持<strong>标准输入/输出(stdio)</strong>或<strong>HTTP/Server-Sent Events (SSE)</strong>等传输方式【15†source】。Warp 已内置对MCP服务器的发现和连接支持,开发者只需在Warp中配置MCP服务器地址,就能让Warp代理调用该服务器提供的工具和数据【15†source】。</p> <p>通过MCP,Warp 的AI代理能够<strong>无缝连接</strong>开发者日常使用的各种工具,实现跨系统的信息整合与操作自动化【15†source】。例如,开发者可以在Warp中用自然语言命令AI:“<strong>解释一下Sentry上最新的这个异常</strong>”,Warp代理就会自动调用Sentry的MCP服务器,获取该错误的详细堆栈、上下文和影响用户数,并给出可能的修复建议【15†source】。又如,开发者可以指示:“<strong>根据这个Figma页面的设计,生成对应的React组件代码</strong>”,Warp代理会连接Figma的MCP服务器,读取设计稿的布局、颜色、字体等规范,直接生成高度保真的前端代码【15†source】。再如,在调试生产环境问题时,开发者可以让Warp代理同时连接Sentry获取错误信息,连接GitHub查看相关代码提交历史,连接Linear创建任务票据,实现<strong>多Agent并行工作流</strong>,将原本需要跨多个平台手动操作的工作流自动化【15†source】。这种<strong>统一且丰富的上下文供给</strong>,使得AI代理的输出不再是空中楼阁,而是基于真实、全面、实时的信息,从而生成更精准、更可靠的解决方案【15†source】。</p> <p>更重要的是,MCP 赋予了AI代理<strong>上帝视角</strong>的同时,也提供了<strong>零数据留存(Zero Data Retention, ZDR)</strong>和<strong>反向审计</strong>的保障。Warp 宣称其与主要的LLM提供商(OpenAI、Anthropic、Google等)签署了ZDR协议,这意味着这些AI服务商<strong>不会存储或训练</strong>Warp用户通过代理发送的任何数据【16†source】。Warp 还提供了一个<strong>Network Log</strong>功能,可以实时监控Warp应用发出的所有网络请求和响应,包括与MCP服务器的交互【22†source】。开发者可以通过命令面板打开“Show Warp Network Log”,然后运行<code>tail -f</code>命令查看Warp与外部系统的通信日志【22†source】。这相当于给AI代理装上了“行车记录仪”,每当代理调用外部工具或数据时,都会在日志中留下记录,方便开发者事后审查和审计【22†source】。这种设计确保了AI代理的<strong>可观测性</strong>和<strong>可问责性</strong>:开发者不仅知道代理做了什么,还能追溯其获取了哪些信息、调用了哪些接口,从而在AI自动化和人类监督之间取得平衡。Warp 通过 MCP 打破了信息孤岛,让AI代理拥有全局视野,同时又通过ZDR和日志机制避免了数据泄露和滥用,真正实现了<strong>“上帝视角”与“零信任”</strong>的统一。</p> <h2 id="h2-智能体终端的终局从-crud-打字员到-ai-调度官的数字达尔文主义">智能体终端的终局:从 CRUD 打字员到 AI 调度官的数字达尔文主义</h2> <p>随着终端从命令行工具演变为AI代理调度中心,开发者的角色也正经历一场深刻的蜕变。Warp 所引领的这场变革,本质上是一场<strong>数字达尔文主义</strong>:适应AI时代的新物种(开发者)将生存和进化,而不适应者将被淘汰。传统上,开发者往往被戏称为“CRUD打字员”,意即他们的大部分工作是重复性的编码、构建、部署和调试,机械地在终端输入命令、等待输出。这种工作方式在AI面前显得脆弱而低效——AI可以更快地完成这些重复性任务,而且7x24小时不知疲倦。因此,那些只会机械执行CRUD操作的开发者,将面临被AI取代的风险。</p> <p>然而,Warp 的智能体终端并非要将开发者变成多余的人,而是要<strong>重塑开发者的价值定位</strong>。在新的范式中,开发者不再是与终端对话的“打字员”,而是<strong>AI代理的调度官</strong>和<strong>架构师</strong>。他们负责定义目标、塑造产品方向、确保构建正确,而将具体的编码、运行、调试等执行工作交给AI代理完成【1†source】。这种转变可以用一个形象的比喻来说明:过去开发者是工厂里亲自动手操作的工人,而未来开发者更像是工厂的<strong>调度官</strong>或<strong>厂长</strong>,他们制定生产计划、调配资源、监督质量,而AI代理则是不知疲倦的<strong>机器人手臂</strong>,按照指令完成具体工序。开发者需要掌握的技能,也从单一的编程能力,扩展为<strong>系统思维、架构设计、AI调优和协作</strong>等更高层次的能力【29†source】。</p> <p>这种角色转变对开发者提出了新的要求,也带来了新的机遇。一方面,开发者需要<strong>主动拥抱AI</strong>,学习如何与AI代理协同工作,包括编写清晰的提示(Prompt)、配置代理权限、审核代理输出等【20†source】。另一方面,开发者需要从“单兵作战”转向“团队协作”,不仅要与人类同事协作,更要与AI代理协作,形成人机共事的<strong>混合团队</strong>。这意味着开发者需要具备<strong>沟通和领导力</strong>,能够“领导”AI代理完成任务,就像项目经理领导团队一样。Warp 的<strong>Warp Drive</strong>功能正是为此而生,它提供集中的知识库,用于存储和共享命令、工作流、文档等上下文,让团队成员和AI代理都能访问统一的“大脑”【15†source】。通过Warp Drive,开发者可以将最佳实践固化成<strong>Workflow</strong>或<strong>Notebook</strong>,让AI代理和团队成员复用,从而提升整个团队的效率【15†source】。</p> <p>面对这场数字达尔文主义,开发者该如何避免被淘汰?答案在于<strong>进化</strong>。首先,要<strong>成为AI的驾驭者而非被AI替代者</strong>。正如有人所言:“未来淘汰你的不是AI,而是会用AI的人”【8†source】。开发者应主动学习AI工具的使用,将AI视为放大自己能力的利器,而不是威胁。其次,要<strong>提升不可替代的核心竞争力</strong>。AI擅长重复性、规则性的工作,但缺乏人类的创造力、同理心和战略思维。开发者应深耕业务领域知识,培养解决复杂问题和创新设计的能力,这些是AI短期内难以取代的。再次,要<strong>拥抱持续学习和技能迭代</strong>。技术演进日新月异,开发者必须保持好奇心和学习能力,不断更新自己的技能树,从编程语言、框架到AI工具、平台,都要有所涉猎【26†source】。最后,要<strong>调整心态,从执行者转为决策者</strong>。在AI代理时代,开发者更多时候是在做选择和判断,而非亲自动手写每一行代码。这要求开发者具备更强的决策力和责任感,学会信任AI并监督AI,以实现人机协同的最大价值。</p> <p>总而言之,Warp 终端及其所代表的智能体终端时代,正在重塑开发者的生存法则。这是一场<strong>数字达尔文主义</strong>的洗礼:适者生存,不适者淘汰。但与生物进化不同,这场变革的主动权掌握在开发者自己手中。通过拥抱AI、进化技能、转变角色,开发者完全可以从“CRUD打字员”蜕变为驾驭AI的“调度官”,在新的时代中立于不败之地。Warp 所描绘的未来并非要让开发者失业,而是要让开发者<strong>进化</strong>——从命令行的奴隶,变成AI代理的主人。这既是挑战,更是机遇。那些能够率先完成这一蜕变的开发者,将在AI驱动的开发新纪元中抢占先机,成为真正的<strong>数字时代的弄潮儿</strong>【15†source】。</p> <hr> <h4>参考文献:</h4> <ol> <li>Warp 官方博客:《The Block Model Behind Warp's Agentic Development Environment》【1†source】</li> <li>Toolin AI:《Warp 终端开源:从现代终端到 AI Agent 开发环境》【4†source】</li> <li>Warp 官方文档:《Model Context Protocol (MCP)》【15†source】</li> <li>Warp 官方文档:《Network Log》【22†source】</li> <li>Warp 官方博客:《Warp is now open-source》【10†source】</li> <li>Warp 官方网站:《Oz: The Orchestration Platform for Cloud Agents by Warp》【3†source】</li> <li>Warp 官方网站:《Pricing: Terminal, Agents & Cloud Platform》【14†source】</li> <li>Skywork 深度解析:《Warp 如何通过 MCP Server 成为终极 AI 智能开发环境》【15†source】</li> <li>Stack Overflow 博客:《AI vs Gen Z: How AI has changed the career pathway for junior developers》【23†source】</li> <li>ArXiv 论文:《Building AI Coding Agents for the Terminal: Scaffolding, Harness, Context Engineering, and Lessons Learned》【31†source】</li> </ol> </div> <script> document.addEventListener('DOMContentLoaded', function () { const ctx = document.getElementById('concurrencyChart'); if (ctx) { const concurrencyChart = new Chart(ctx, { type: 'bar', data: { labels: ['免费计划', 'Build 计划', 'Max 计划'], datasets: [{ label: '并发云代理数量', data: [4, 20, 40], backgroundColor: 'rgba(13, 110, 253, 0.6)', borderColor: 'rgba(13, 110, 253, 1)', borderWidth: 1, borderRadius: 4, barPercentage: 0.6, }] }, options: { responsive: true, maintainAspectRatio: false, plugins: { legend: { display: false }, tooltip: { mode: 'index', intersect: false, backgroundColor: '#212529', titleFont: { family: '"Alibaba PuHuiTi 3.0", "Noto Sans SC", sans-serif' }, bodyFont: { family: '"Alibaba PuHuiTi 3.0", "Noto Sans SC", sans-serif' } }, title: { display: false } }, scales: { y: { beginAtZero: true, max: 50, title: { display: true, text: '并发代理数量', color: '#212529', font: { family: '"Alibaba PuHuiTi 3.0", "Noto Sans SC", sans-serif', size: 14, weight: '600' } }, grid: { color: '#E9ECEF', borderDash: [5, 5] }, ticks: { color: '#495057', font: { family: '"Source Code Pro", monospace', } } }, x: { grid: { display: false }, ticks: { color: '#212529', font: { family: '"Alibaba PuHuiTi 3.0", "Noto Sans SC", sans-serif', size: 14 } } } } } }); } }); </script> </body> </html>

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!

推荐
智谱 GLM-5 已上线

我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。

领取 2000万 Tokens 通过邀请链接注册即可获得大礼包,期待和你一起在 BigModel 上畅享卓越模型能力
登录