<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Bailian on Chen Kai Blog</title><link>https://www.chenk.top/en/tags/bailian/</link><description>Recent content in Bailian on Chen Kai Blog</description><generator>Hugo</generator><language>en</language><lastBuildDate>Thu, 07 May 2026 09:00:00 +0000</lastBuildDate><atom:link href="https://www.chenk.top/en/tags/bailian/index.xml" rel="self" type="application/rss+xml"/><item><title>Alibaba Cloud Full Stack (10): Bailian and DashScope — The LLM Layer</title><link>https://www.chenk.top/en/aliyun-fullstack/10-bailian-llm/</link><pubDate>Thu, 07 May 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/aliyun-fullstack/10-bailian-llm/</guid><description>&lt;p>When I first needed an LLM API for a production app in China, my options were limited and expensive. Most international providers had no mainland endpoint, billing required a foreign credit card, and latency from calling US-based APIs was 800ms+ before a single token came back. Then Qwen showed up on DashScope with an OpenAI-compatible endpoint, and suddenly building AI products in China became as straightforward as anywhere else. Same SDK, same request shape, same streaming protocol — just a different &lt;code>base_url&lt;/code> and a key from the Bailian console. I have been running production workloads against it for over a year now, and this article is the comprehensive walkthrough I wish I had on day one.&lt;/p></description></item><item><title>OpenClaw QuickStart (4): Configuration, Model Providers, and the Coding Plan Trick</title><link>https://www.chenk.top/en/openclaw-quickstart/04-configuration/</link><pubDate>Sat, 11 Apr 2026 09:00:00 +0000</pubDate><guid>https://www.chenk.top/en/openclaw-quickstart/04-configuration/</guid><description>&lt;p>If you only edit one file in OpenClaw, this is it.&lt;/p>
&lt;p>&lt;code>~/.openclaw/openclaw.json&lt;/code> controls models, tools, channels, memory, cron, and skill loading. The onboarding wizard wrote a default; this piece walks the parts you will actually touch.&lt;/p>
&lt;p>&lt;figure class="article-figure">
 &lt;img src="https://blog-pic-ck.oss-cn-beijing.aliyuncs.com/posts/en/openclaw-quickstart/04-configuration/illustration_1.png" alt="OpenClaw QuickStart (4): Configuration, Model Providers, and the Coding Plan Trick — Chapter overview" loading="lazy" decoding="async" class="content-image">
 
&lt;/figure>
&lt;/p>
&lt;hr>
&lt;h2 id="the-minimal-viable-config" class="heading-anchor">The minimal viable config&lt;a href="#the-minimal-viable-config" class="heading-link" aria-label="Permalink to this section" title="Copy link to this section">#&lt;/a>
&lt;/h2>&lt;p>&lt;figure class="article-figure">
 &lt;img src="https://blog-pic-ck.oss-cn-beijing.aliyuncs.com/posts/en/openclaw-quickstart/04-configuration/fig_config.png" alt="Configuration hierarchy and provider resolution order" loading="lazy" decoding="async" class="content-image">
 
&lt;/figure>
&lt;/p>
&lt;p>Strip away the comments and the default sets, and a working config is about 25 lines:&lt;/p></description></item></channel></rss>