Simon Willison 用 Codex 语音模式为博客开发新功能
A new feature for my blog, built using my voice
Simon Willison 在 ChatGPT 桌面应用的 Codex 标签页里用语音对话模式,对着本地开发环境让 GPT-6 Astra High 为他的博客开发了一个 Django 新功能,边做饭边聊了约半小时就基本完成。随后他在 GitHub PR 中审查代码,又用半小时打字提示把导入脚本从 Git 子进程改为 API 方式并调整页面显示,最终合并部署。他认为视觉预览加键盘补充让语音交互更强,但细节仍靠打字,最大价值是能一边做饭一边干活。
正文
当前显示原文,中文全文译文尚未就绪。
A new feature for my blog, built using my voice
9th October 2026
Codex voice mode
I used the ChatGPT desktop app for this, in the Codex tab, using the voice conversation mode, running against a local development environment. Here’s what that looks like:
I started the session against my local simonwillisonblog checkout by typing:
Start dev server and open in browser
This gave me a preview of the site that it would be working on, and meant that I could later ask it to show me the new pages so I could visually track its progress.
Then I clicked the “Start new voice chat” button—that’s not the microphone button, it’s the one to the right of it—and set my laptop up in the kitchen so I could talk to it while I cooked.
Talking to my computer
I had a pretty good idea of what I wanted to build, and it’s a simple enough Django feature that I was certain the model (in this case GPT-6 Astra High) would be able to do it. A new model, a migration, some view code, templates, and a couple of import functions to populate the database from external sources.
Here’s an extract of my voice transcript that was captured by Codex:
We went on like this for about half an hour (the time it took to cook dinner). The model would reply and occasionally ask clarifying questions, then get to work modifying the code.
What we built
We got a surprisingly long way entirely by voice:
It was almost ready to ship. The catch was the imports: Astra offered to export data from my local copy so I could import that into production, but I wanted it to work like my other import scripts. Since some of the data lived in a private GitHub repository, this would involve creating a new API key, and for that I knew I’d have to sit at the keyboard for a while.
Finishing it with a review
Once I had finished cooking and judged it mostly feature-complete, I had Codex create a branch and open a pull request.
I reviewed the code in the GitHub PR interface. It was nearly what I needed, except it had chosen to use Git in a subprocess for one of the import scripts. I needed one of the imports to pull from a private Git repository, so I figured the API would be a better bet. I switched to typing and had Codex swap that out for an API-based import instead.
You can see the changes I made during the review in the extra commits on the PR. I fixed the import mechanism and made a few tweaks to the display of those public pages. It took an additional half hour of typing-based prompting to get to the point where I was happy to deploy it to production by landing the PR.
The end result
GPT-6 Astra designed the page, and then tweaked that design based on my vocal feedback from glancing at the local preview across the kitchen.
Better for multi-tasking than as a daily driver
OpenAI love using voice-driven demos like this one for things like DevDay—and they do work well in that environment. I don’t think this is going to be a daily driver for me though.
I’ve written before about how much “work” I get done using ChatGPT voice mode on my phone while walking the dog—mostly research and brainstorming, but occasionally actual development work by having ChatGPT write and test out snippets of code.
This feels different. The addition of the visual preview, plus being able to type or paste things in via the keyboard when I need to communicate something that doesn’t work vocally, makes this a much more powerful way of interacting with a coding agent.
I still switch back to typing once I get down to the details of things though. Being able to paste in examples and error messages, or directly highlight the code or feature that needs changing, remains more efficient than trying to describe it in words.
I mainly work from home, which is good because there’s no way I’d want to talk to my computer like this in a shared workspace!
The killer feature for me is the ability to multi-task. I usually cook with a podcast or TikTok running; now I can actually build stuff instead.
More recent articles
Claude Haiku 5.5 - 7th October 2026; We're going to need default hard budget caps on pretty much everything - 3rd October 2026
This is A new feature for my blog, built using my voice by Simon Willison, posted on 9th October 2026.
Part of series How I use LLMs and ChatGPT
Two new Showboat tools: Chartroom and datasette-showboat - Feb. 17, 2026, 12:43 a.m; Vibe coding SwiftUI apps is a lot of fun - March 27, 2026, 8:59 p.m; Porting the Moebius 0.2B image inpainting model to run in the browser with Claude Code - June 22, 2026, 11:43 p.m; A new feature for my blog, built using my voice - Oct. 9, 2026, 12:54 p.m