<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Go on KnightLi Blog</title>
        <link>https://knightli.com/en/tags/go/</link>
        <description>Recent content in Go on KnightLi Blog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>en</language>
        <lastBuildDate>Sat, 06 Jun 2026 22:26:00 +0800</lastBuildDate><atom:link href="https://knightli.com/en/tags/go/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>How to use DeepSeek-Reasonix? DeepSeek native terminal programming agent</title>
        <link>https://knightli.com/en/2026/06/06/deepseek-reasonix-terminal-coding-agent/</link>
        <pubDate>Sat, 06 Jun 2026 22:26:00 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/06/06/deepseek-reasonix-terminal-coding-agent/</guid>
        <description>&lt;p&gt;&lt;code&gt;esengine/DeepSeek-Reasonix&lt;/code&gt; is a terminal-oriented AI programming agent. It is different from many &amp;ldquo;CLIs with a layer of OpenAI API&amp;rdquo;. The project is positioned as DeepSeek-native: designed around the stability of DeepSeek&amp;rsquo;s prefix cache, making long sessions cheaper and more suitable for always-on work.&lt;/p&gt;
&lt;p&gt;The description in the README is very straightforward: a config- and plugin-driven harness, a single static Go binary, and models, agents, tools and plug-ins are all declared in &lt;code&gt;reasonix.toml&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;what-problem-does-it-solve&#34;&gt;What problem does it solve?
&lt;/h2&gt;&lt;p&gt;There are many terminal programming agents now, but the common problems are also obvious:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The configuration is hard-coded and it is inconvenient to change the model;&lt;/li&gt;
&lt;li&gt;The tool access method is not uniform;&lt;/li&gt;
&lt;li&gt;In long sessions, the prompt keeps changing and the cache hit rate is poor;&lt;/li&gt;
&lt;li&gt;Each mission is restarted, and the token cost is high;&lt;/li&gt;
&lt;li&gt;I want to use DeepSeek, but the existing tools may not be optimized according to the characteristics of DeepSeek.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The focus of Reasonix is ​​not &amp;ldquo;yet another chat CLI&amp;rdquo;, but rather using DeepSeek&amp;rsquo;s prefix cache as the centerpiece of its design. If the prefix is ​​stable in a long session, cache hits are better, and the cost and speed will be more controllable.&lt;/p&gt;
&lt;h2 id=&#34;core-design&#34;&gt;Core Design
&lt;/h2&gt;&lt;p&gt;Several features listed in the project README are worthy of attention:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Config-driven: provider, agent, tools, and plugins are all configured through &lt;code&gt;reasonix.toml&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Multi-model: DeepSeek flash/pro and MiMo have presets, and can also be connected to any OpenAI-compatible endpoint;&lt;/li&gt;
&lt;li&gt;Composable: allows the two models of executor and planner to divide the work;&lt;/li&gt;
&lt;li&gt;Plugin-driven: External tools are accessed through the stdio JSON-RPC sub-process, compatible with MCP ideas;&lt;/li&gt;
&lt;li&gt;Built-in tools: built-in tools self-register during compilation;&lt;/li&gt;
&lt;li&gt;Single static Go binary: Simple to deploy, no need to drag a bunch of runtimes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For those who like to put the development environment in the terminal, this direction is very refreshing. The configuration file is the console, and the plug-in is the capability boundary.&lt;/p&gt;
&lt;h2 id=&#34;suitable-for-how-to-use&#34;&gt;Suitable for how to use
&lt;/h2&gt;&lt;p&gt;Reasonix is ​​more suitable for these scenarios:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You are already using DeepSeek for coding tasks;&lt;/li&gt;
&lt;li&gt;I hope there is a resident programming agent in the terminal;&lt;/li&gt;
&lt;li&gt;Want to optimize long session costs around prefix cache;&lt;/li&gt;
&lt;li&gt;Want to combine tools and plug-ins through configuration;&lt;/li&gt;
&lt;li&gt;Want to use OpenAI-compatible endpoint to switch between different models;&lt;/li&gt;
&lt;li&gt;Like Go&amp;rsquo;s single-file binary deployment approach.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&amp;rsquo;s not necessarily suitable for users who don&amp;rsquo;t touch the terminal at all. If you prefer the built-in IDE experience, Cursor, Copilot, or Claude Code may be more convenient. Reasonix&amp;rsquo;s temperament is more of an engineer&amp;rsquo;s toolbox: configuration, plug-ins, terminal, long sessions.&lt;/p&gt;
&lt;p&gt;The difference between ## and Claude Code / Codex&lt;/p&gt;
&lt;p&gt;Tools such as Claude Code and Codex are more like complete products, while Reasonix is ​​more like a configurable Agent harness.&lt;/p&gt;
&lt;p&gt;You can understand it this way:&lt;/p&gt;
&lt;table&gt;
  &lt;thead&gt;
      &lt;tr&gt;
          &lt;th&gt;Tools&lt;/th&gt;
          &lt;th&gt;What is more like&lt;/th&gt;
          &lt;th&gt;Who is it suitable for&lt;/th&gt;
      &lt;/tr&gt;
  &lt;/thead&gt;
  &lt;tbody&gt;
      &lt;tr&gt;
          &lt;td&gt;Claude Code / Codex&lt;/td&gt;
          &lt;td&gt;Out-of-the-box programming Agent&lt;/td&gt;
          &lt;td&gt;People who want to complete tasks quickly&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;Cursor&lt;/td&gt;
          &lt;td&gt;AI development environment within IDE&lt;/td&gt;
          &lt;td&gt;Heavy graphical interface and project editing users&lt;/td&gt;
      &lt;/tr&gt;
      &lt;tr&gt;
          &lt;td&gt;DeepSeek-Reasonix&lt;/td&gt;
          &lt;td&gt;Agent framework for DeepSeek and endpoint workflows&lt;/td&gt;
          &lt;td&gt;People who want to control configuration, tools and costs&lt;/td&gt;
      &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;The advantage of Reasonix is ​​controllability and DeepSeek optimization, but the price is that you need to understand the configuration and plug-ins, and you won&amp;rsquo;t have to do it bit by bit like a commercial IDE.&lt;/p&gt;
&lt;h2 id=&#34;think-clearly-before-using&#34;&gt;Think clearly before using
&lt;/h2&gt;&lt;p&gt;The stronger the terminal programming agent&amp;rsquo;s ability, the greater the risk:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;There must be boundaries for file reading and writing, command execution and network access;&lt;/li&gt;
&lt;li&gt;The source of the plug-in must be trustworthy;&lt;/li&gt;
&lt;li&gt;Long session caching is not permission isolation;&lt;/li&gt;
&lt;li&gt;Pay attention to the responsibilities of planner and executor when collaborating with multiple models;&lt;/li&gt;
&lt;li&gt;Do not expose production keys and server credentials directly to Agent;&lt;/li&gt;
&lt;li&gt;After automatically modifying the code, you still need to run tests and reviews.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you plan to use it for a long time, it is recommended to run it in your personal project first, and then gradually connect it to the official warehouse. Especially for Agents that can execute shells, permissions should be given starting from a small age.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;The value of DeepSeek-Reasonix is ​​that it combines the cost-effectiveness of DeepSeek with a terminal programming agent. It is not the most &amp;ldquo;fool-like&amp;rdquo; tool, but it is very attractive to people who are willing to adjust configurations, connectors, and long-term terminals.&lt;/p&gt;
&lt;p&gt;If your goal is to &amp;ldquo;use DeepSeek to make a controllable, low-cost, long-session local terminal programming agent&amp;rdquo;, Reasonix is ​​worth trying. If you only occasionally let AI change a few lines of code, it may be more worry-free to directly use a ready-made IDE plug-in.&lt;/p&gt;
&lt;h2 id=&#34;reference-sources&#34;&gt;Reference sources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/esengine/DeepSeek-Reasonix&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;esengine/DeepSeek-Reasonix - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        <item>
        <title>What do you think of the Go language official repository? Understand the evolution of Go from source code</title>
        <link>https://knightli.com/en/2026/06/06/golang-go-official-repository-guide/</link>
        <pubDate>Sat, 06 Jun 2026 22:26:00 +0800</pubDate>
        
        <guid>https://knightli.com/en/2026/06/06/golang-go-official-repository-guide/</guid>
        <description>&lt;p&gt;&lt;code&gt;golang/go&lt;/code&gt; is the official repository for the Go programming language. It is not only a source code repository, but also an important entrance to the Go compiler, runtime, standard library, tool chain, issue discussions and language proposals.&lt;/p&gt;
&lt;p&gt;If you just write business code, you may not necessarily read it every day; but if you want to understand why Go is designed this way, the official repository cannot be avoided.&lt;/p&gt;
&lt;h2 id=&#34;whats-in-the-warehouse&#34;&gt;What’s in the warehouse
&lt;/h2&gt;&lt;p&gt;The official Go repository contains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go compiler;&lt;/li&gt;
&lt;li&gt;runtime;&lt;/li&gt;
&lt;li&gt;Standard library;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;go&lt;/code&gt; commands and toolchains;&lt;/li&gt;
&lt;li&gt;test and build scripts;&lt;/li&gt;
&lt;li&gt;issue and proposal discussion;&lt;/li&gt;
&lt;li&gt;release related changes.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Many of the capabilities you usually use, such as goroutine, channel, GC, standard library network package, and module tool chain, can all be found here.&lt;/p&gt;
&lt;h2 id=&#34;suitable-for-whom-to-watch&#34;&gt;Suitable for whom to watch
&lt;/h2&gt;&lt;p&gt;Suitable for these people:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Go backend developer;&lt;/li&gt;
&lt;li&gt;People who want to understand Go runtime and scheduling;&lt;/li&gt;
&lt;li&gt;People who follow the evolution of Go versions;&lt;/li&gt;
&lt;li&gt;People who write high-performance services;&lt;/li&gt;
&lt;li&gt;People who do language, compiler or standard library research;&lt;/li&gt;
&lt;li&gt;People who encounter standard library boundary issues and need to check the implementation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It is not recommended to go through the entire warehouse from the beginning. You can start with standard library packages that you are familiar with, such as &lt;code&gt;net/http&lt;/code&gt;, &lt;code&gt;context&lt;/code&gt;, and &lt;code&gt;sync&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;learning-go-is-not-just-about-grammar&#34;&gt;Learning Go is not just about grammar
&lt;/h2&gt;&lt;p&gt;The core of Go is not the complexity of syntax, but the engineering trade-offs:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Concise syntax;&lt;/li&gt;
&lt;li&gt;Strong standard library;&lt;/li&gt;
&lt;li&gt;Concurrency model;&lt;/li&gt;
&lt;li&gt;Quick build;&lt;/li&gt;
&lt;li&gt;Uniform format;&lt;/li&gt;
&lt;li&gt;Easy to deploy;&lt;/li&gt;
&lt;li&gt;Restraint in language evolution.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Understanding these design trade-offs is more useful than memorizing the syntax.&lt;/p&gt;
&lt;h2 id=&#34;summary&#34;&gt;Summary
&lt;/h2&gt;&lt;p&gt;&lt;code&gt;golang/go&lt;/code&gt; is the root of the Go ecosystem. Ordinary developers can use it as an entry point to check the behavior of the standard library, pay attention to version changes, and learn the runtime.&lt;/p&gt;
&lt;p&gt;If you have been writing Go for a while, occasionally reading the official source code will be more solid than just watching the tutorials.&lt;/p&gt;
&lt;h2 id=&#34;reference-sources&#34;&gt;Reference sources
&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a class=&#34;link&#34; href=&#34;https://github.com/golang/go&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;
    &gt;golang/go - GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</description>
        </item>
        
    </channel>
</rss>
