Configuring thinking-effort switching after hooking the GOAT plan up to opencode

The previous post on the goat setup missed one piece: models like deepseek-v4-flash couldn't pick a thinking depth in /models. Digging in, it turned out the GOAT plan does support it — the problem was that the hand-written models in the custom provider were missing a reasoning capability declaration, so opencode's variant generation logic stopped them at the door. In the end I added reasoning:true to every model under goat and goat-zdr, and testing showed no side effects.

Tools

Paseo Solarized Light theme plugin: low contrast and easy on the eyes, installed from GitHub with a single command

I built a Solarized Light eye-friendly theme plugin for Paseo, implemented with the official addTheme plugin API — no need to modify any Paseo files, and nothing is lost on upgrade. Since Paseo 0.7.0, plugins can be installed straight from GitHub with a single command.

Tools

Wiring the CommandCode goat plan into opencode: two-step setup + a zdr custom request header

I bought CommandCode's goat plan and wanted to use it as my main plan in opencode. The whole integration takes just two steps: first /connect to save the API key, then declare the provider in opencode.json. The goat plan requires an x-cmd-zdr: 1 header on every request, and testing confirmed you can add that in the config too.

Tools

OpenCode Go plan usage estimate: see all models on one page

OpenCode Go's monthly quota is spread across several tables, and the official "5-hour quota" chart doesn't list all the models either. So I built a chart page that automatically scrapes the official pricing table, calculates the monthly available request count for each model using the same methodology as the official one, and plots it — hover for details.

Tools

Neither DeepSeek Harness nor Qwen3.8 is a must-have for me

DeepSeek Harness got a lot of people excited, but I used it once and didn't keep going; Qwen3.8 27B's capabilities have taken off, but I haven't deployed it locally either. Weighing the urge for new things against the need for stability, OpenCode + Paseo + OpenViking is already smooth enough. Anything new that doesn't offer real, controllable, reliable help is just noise.

AI

Integrating OpenViking to unify OpenCode and Hermes memory

I hand OpenCode all kinds of tasks piecemeal throughout the day, and at night I want to say one sentence and have it wrap up with a review and summary. But before, OpenCode's memory and Hermes's memory were each stored separately, with no way to unify them. I installed OpenViking with uv, hit two pitfalls (httpx[socks], the mcp 2.0 breaking upgrade), and finally linked up OpenCode's and Hermes's memory to get fully automatic archiving and review.

Tools

A Humanity Amusing Itself to Death, and the Media of the Next Generation

Explosive capacity growth on the production side, endlessly rising thresholds on the consumption side — the dumbing-down of web fiction is a microcosm of humanity drifting further and further down the road of amusing itself to death. Every new medium in history has reshuffled the deck, but text, images, sound, video, interactivity, VR/AR — the sensory channels are basically all covered by now. What is the next medium that can unlock new demand on the consumption side? Maybe the answer is "generative narrative along the time dimension" — the same story seed, but a different story for everyone who steps in.

Life Insights

Thoughts on the Feishu and Doubao merger

ByteDance announced that the Feishu product team and the Doubao product team are being merged into a new Doubao product team. My first reaction to the news was a bit of melancholy — the internet is like a giant steamroller. Digital tenant farmers, exploited by monopoly giants, riding the express train of the times, ready to be thrown off at any moment. In my eyes, all closed-source software and services can have only one final destination: the trash heap of history. The only thing humans truly grow is their inner wisdom; the only thing humans truly possess is their inner emotions.

Life Insights

Can LLMs Be Creative? An Answer from a Programmer Who Spent Three Months Writing Web Novels

In principle, autoregressive probabilistic prediction can never produce true creativity. I spent three months writing a novel with AI, took part in the entire journey of a book from signing to completion, and through countless rounds of practice mapped out the real boundaries of what AI can do. So where does humanity's true value lie? The answer isn't in what AI can do — it's in what AI can never do.

Life Insights

Paseo, the killer tool that connects multiple coding agents

Paseo is genuinely great — lately I've been using it with OpenCode every day to write code and articles.

Tools

cc-connect: Plugging Claude Code into Feishu

Installed a new tool today called cc-connect. It maps your local Claude Code to a Feishu bot, hooks it into a chat app, and lets you remote-control your coding directly from Feishu.

AI

Notes on Using the TRAE SOLO Standalone Edition

The new version of TRAE SOLO supports remote control from your phone, so you can have your home computer write code even when you're out and about — but compared with TRAE IDE, it still falls short on things like rule inheritance and skill installation.

AI

Fixing coreaudiod eating up to 45G of memory

The coreaudiod process was using 45G of memory. Digging into it, the leak came from a Claude Code hook playing sound effects. Fixed it by uninstalling PeonPing and switching to Ghostty's native terminal sound effects instead.

Tools

From Lobster to Hermes

Hermes has these advantages over Lobster: model errors get output to the console. The gateway has logs you can check, and crucially, I know where to look. The docs are thorough — no Chinese translation, sure, but they're complete; you can find clear documentation for any issue or command. Each agent has its own separate profile config and gateway, so combinations are more flexible, and the backend can be local or remote. It runs on Docker, so it's use-and-go, with automatic directory mounting. It comes with factory settings that are beginner-friendly — you can get it running smoothly without much configuration. Its built-in security mechanisms are just enough to run basic functionality; unlike Lobster, where you can't use it unless you crank permissions to the max, and maxing them out is unsafe. The difference in how much users have to understand just to get started is night and day. Memory operations are fast, and actions show up in the chat. You can clearly see exactly what she has remembered.

Tools

Getting Claude Code to talk: this sound-effect plugin turned my coding sessions into a game

Honestly, writing code with Claude Code is already a blast, but there's one pain point that's been nagging me — I have to keep my eyes glued to the terminal at all times.

Tools
12327