用 Python 接入火山方舟:从 AK/SK 到两套 Plan 密钥
我用同一个火山引擎账号,把 Coding Plan 和 Agent Plan 分别接到了 Python。两套配置各调用一次 Chat Completions、一次 Responses,四次请求都返回了 PLAN_OK。
这篇文章保留完成这件事所需的步骤:在哪里拿 Key、AK/SK 如何参与密钥管理、两个地址怎样区分,以及代码究竟返回了什么。示例里的凭据均为占位符;完整密钥不进入文章、仓库或下载包。
我用同一个火山引擎账号,把 Coding Plan 和 Agent Plan 分别接到了 Python。两套配置各调用一次 Chat Completions、一次 Responses,四次请求都返回了 PLAN_OK。
这篇文章保留完成这件事所需的步骤:在哪里拿 Key、AK/SK 如何参与密钥管理、两个地址怎样区分,以及代码究竟返回了什么。示例里的凭据均为占位符;完整密钥不进入文章、仓库或下载包。
给出一段描述,调用图像工具,得到一张可以直接放进课件的图片——这篇指南把这个过程落实到配置和代码。
下面这张快速排序示意图,就是通过 CRS API Key → Responses API → image_generation 实际生成的。客户端只需要服务地址和一把 CRS 调用 Key。

本次生成使用 gpt-5.5 承载工具调用、gpt-image-2 绘图,返回一张 1536 × 1024 的 PNG,请求约 57 秒完成。图中的输入数组、基准 4、左右分区和最终排序均经过核对。
如果从传统数学史看,数学的发展可以讲成代数、几何、分析、概率、拓扑、逻辑不断分化又统一。但如果从计算机和 AI4Math 看,近十年的主线更像一部数据集形态变化史。
一开始,AI 做数学主要是在回答题:给出最终答案,算 exact match。后来,数据集开始要求模型写过程、生成多条解法、接受 verifier 打分、调用代码执行器、进入 Lean/Coq/Isabelle 这样的 proof assistant,最后又发展出 live leaderboard、去污染评测、研究级问题和提交制 formalization 平台。
换句话说,前沿不只是“模型更会做题了”,而是数学数据集本身从静态题库变成了可执行、可验证、可审计、可持续更新的数学工作流。
这几年 AI 研究的节奏明显变了:模型能力、工具链、论文、开源项目、benchmark 和应用场景都在高速迭代。很多过去需要专家慢慢写、慢慢查的东西,现在可以由模型在几分钟内生成一个看起来很像样的版本:代码、实验计划、定理证明草稿、综述、数据分析、系统设计,甚至新的 conjecture。
这当然是巨大的生产力提升。但它也带来一个更尖锐的问题:当生成速度远远超过人工验证速度时,我们到底靠什么维持可信度?
形式化的重要性,正是在这个背景下突然变得现实起来。
过去两年,语音克隆已经从早期的 Bark、Tortoise、VALL-E-X、XTTS-v2 时代,明显切换到“大模型 TTS + zero-shot/few-shot voice cloning”路线。现在主流体验不再只是“能不能模仿音色”,而是看它能不能稳定说长文本、能不能跨语言、能不能控制情绪和语速、能不能本地跑,以及有没有好用的 WebUI 或 Hugging Face demo。
如果是自用场景,许可证不一定是第一过滤条件。更实际的筛选标准是:效果体验、中文/多语能力、上手成本、长文本稳定性、是否适合长期做自己的声音库。 本文按 2025 年以后仍活跃或有新版路线的项目做一次集中梳理。
上一篇文章走完了 Remotion 的最小闭环。但要真正发挥 Remotion 的威力,关键在参数化——用 zod schema 定义参数,一份代码换不同数据,批量渲染出不同版本。
这篇文章用柱状图动画演示:同一个 <DataBars> 组件,给它换三组参数,渲染出三份不同内容、不同配色的视频。
Remotion(github.com/remotion-dev/remotion,约 5.7 万 star)是一个用 React 写代码来制作视频的框架。它的核心心智模型是:React 代码就是视频的"源文件"——你写一个 React 组件,Remotion 会按时间轴把它一帧一帧渲染出来,最终编码成真正的 MP4 视频。
这篇文章不追求大片质感,只走一遍最小闭环:脚手架 → 理解代码 → 真实渲染 → 分享 MP4 → 嵌入博客。
我们最早只是想做一个顺手的网页录音页:打开浏览器,允许麦克风,然后一边说一边看到文字。真正开始使用以后,事情很快变复杂了。录音能不能暂停,结束后能不能接着录,临时识别结果为什么会反复变化,两小时的会议会不会把浏览器或 GPU 撑满,这些都比“接一个语音模型”更接近真实问题。
现在这套网站放在 speakr.public.wzhecnu.cn。页面中文名仍是“声笺”,代码来自我们持续改造的 Qwen Audio Demo 仓库。它目前有三个相互独立的工作区:会议记录、声音工作室和实时对话。
这里的 Speakr 指 ChatArch 当前部署的这套语音工作台,并不是把同名开源项目原样部署后换了一个页面。
DeepSeek Harness 发布后,我花了一轮把它跑起来。版本组合是 Node v22.19.0 和 @deepseek-ai/dsh@0.1.0-rc.6。我跑了四段:启动 dsh web,用 headless 做最小 smoke;让 Web UI 修一个带测试的小仓库;处理一次 workspace API 403;再写一个最小 Cordis 插件,用 --patch 插进 headless profile。
这篇记录按实践顺序写。UI 能打开只能算入口。能读写 workspace、跑测试、留下 session/event、加载 patch 插件,才碰到了 Harness 的运行时。

如果要给 ChatGlance 增加一个新标签页,最重要的问题不是“要不要重写一个前端”,而是:这个页面的数据从哪里来、怎么变成 Glance 能消费的配置、怎么验证不会把坏配置或敏感信息发布到 live 站点。
ChatGlance 的答案是把页面做成一条 repo-owned pipeline:源码负责生成和验证页面,runtime 只保存可再生成的数据快照,真正的 Web 服务仍由 upstream Glance 读取 glance.yml 提供。