Introduction
I plan to record some weekly tech-related notes and insights starting from this issue. I’ll probably update every two to four weeks.
Migrating Personal Blog from Hexo to Hugo
This week, I migrated my blog from Hexo to Hugo, primarily because:
Hugo has better i18n support. Hexo doesn’t support i18n very well; I previously modified the template to implement Chinese and English switching, but the maintenance cost was high. I discovered that Hugo natively supports multiple languages.
After switching, I also found the following advantages:
Theme configuration is simpler. I’m using the Stack theme, which has been mostly problem-free. The official example configuration works well right out of the box. It also comes with Google Analytics integration and RSS feeds that automatically separate by language, making it very convenient.
During the migration process, I didn’t encounter any major obstacles. You just need your old Markdown files, copy them to the new project directory, and force push to your original GitHub Pages repository. After force pushing, you’ll need to reconfigure your custom domain in GitHub, and the upgrade will be seamless, including comments and other features.
The only difference is that Hugo uses lowercase links by default, while Hexo preserves case sensitivity, which might cause some old links to become invalid, requiring search engines to rebuild their indices.
Mysterious Optimus Alpha Model Appears on https://openrouter.ai/ and Dominates Rankings
Because this model was free and powerful, it was chosen as OpenRouter’s primary traffic handling model after launch.
After OpenAI officially announced GPT-4.1 on the 14th, the model was removed from OpenRouter. Obviously, this model was GPT-4.1.
GPT-4.1 is a model specialized in programming capabilities, with a 1M context window. Indeed, in the programming field, OpenAI has been struggling against Claude 3.7 and Gemini 2.5 Pro. Neither o1 nor o3 models have achieved a leading position in programming. Hopefully, OpenAI will keep improving.
OpenRouter is a middleware service platform that allows users to access multiple large language model APIs through a unified interface. You can think of it as a “proxy” or “router” that manages API calls to different large model providers (OpenAI, Anthropic, Mistral, Google Gemini, Cohere, etc.).
It seems that this time, OpenAI chose OpenRouter as its test release platform, rather than https://lmarena.ai/.
OpenRouter.ai
This is an LLM platform that includes many free/paid high-quality models.
Select “Prompt pricing” as 0, then choose “Top Weekly” to see the best free models currently available.
However, when using it, you need to enable logging and data usage for training.
Currently, Gemini 2.5 Pro is an option.
The Ranking feature allows you to view real-time traffic distribution across all models on the platform, making it easy to see which models perform best.
nanobrowser
A browser plugin for Chrome that can control browser automation operations.
I tested it and found it doesn’t support Arc browser. The experience was limited - page scrolling occasionally fails, it can’t summarize entire page content (only partial content is visible), and operations are sometimes incorrect.
Although I don’t particularly recommend this product, it might represent a future direction. It seems we’ll see many AI agents emerging.
Gray market industries like ticket scalping and point farming will probably be delighted.
markitdown
A tool for converting content in different formats to Markdown.
Offline, it can process different files into Markdown format. I tried it, and the conversion is fairly basic.
It also supports integration with LLMs to improve conversion results and handle images in documents.
This could potentially be a good MCP service in the future.
PDF search
An application that can quickly search content across multiple PDFs.
It uses a fuzzy search approach. The principle is to split PDFs and perform embedding vector calculations, then match them with search terms.
Suitable for searching documents during exam periods.
The downside is that indexing is done by page, so after searching, you need to find the corresponding part on the page yourself.