<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: chowyu</title>
    <description>The latest articles on DEV Community by chowyu (@chowyu12).</description>
    <link>https://dev.to/chowyu12</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3971363%2F1a718455-75dc-463a-940e-b06417e82f97.png</url>
      <title>DEV Community: chowyu</title>
      <link>https://dev.to/chowyu12</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/chowyu12"/>
    <language>en</language>
    <item>
      <title>AIClaw v1.10.5: Configurable Web Search With Visible Execution Logs</title>
      <dc:creator>chowyu</dc:creator>
      <pubDate>Tue, 09 Jun 2026 16:33:40 +0000</pubDate>
      <link>https://dev.to/chowyu12/aiclaw-v1105-configurable-web-search-with-visible-execution-logs-514m</link>
      <guid>https://dev.to/chowyu12/aiclaw-v1105-configurable-web-search-with-visible-execution-logs-514m</guid>
      <description>&lt;p&gt;AIClaw is a self-hosted AI agent platform, and one of the recurring problems in agent products is how to give an agent fresh web information without turning the whole search path into a black box.&lt;/p&gt;

&lt;p&gt;In AIClaw &lt;code&gt;v1.10.5&lt;/code&gt;, the project added configurable web search engines and made that flow visible in both agent setup and execution logs. This is a concrete feature in the current repository, not a roadmap idea: the backend added search-engine models, storage, handlers, and a &lt;code&gt;web_search&lt;/code&gt; tool implementation, while the web console added a new Search Engine page and agent-side selection for external search.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem
&lt;/h2&gt;

&lt;p&gt;There are really two different "web search" cases in agent systems:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The model itself supports built-in search.&lt;/li&gt;
&lt;li&gt;The model does not, or you want to route search through your own provider and credentials.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Those are not operationally equivalent. Built-in search is convenient, but external search gives you explicit provider choice, saved credentials, per-agent configuration, and a clearer execution boundary.&lt;/p&gt;

&lt;p&gt;AIClaw now supports both modes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two search modes in one agent config
&lt;/h2&gt;

&lt;p&gt;The current README describes the behavior clearly:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built-in mode sends &lt;code&gt;extra_body: {"enable_search": true}&lt;/code&gt; to models whose capability profile supports web search.&lt;/li&gt;
&lt;li&gt;External mode exposes a &lt;code&gt;web_search&lt;/code&gt; tool and routes the call through a selected search engine configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That matters because the agent prompt and runtime behavior stay aligned with the actual path:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;In built-in mode, AIClaw records a &lt;code&gt;web_search&lt;/code&gt; execution step showing that model-native search was enabled for the LLM request.&lt;/li&gt;
&lt;li&gt;In external mode, AIClaw only exposes the &lt;code&gt;web_search&lt;/code&gt; tool when that mode is active, and the tool call is resolved through the selected search engine config.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This separation is visible in the current backend code around &lt;code&gt;internal/agent/run.go&lt;/code&gt;, &lt;code&gt;internal/agent/prompt.go&lt;/code&gt;, and &lt;code&gt;internal/agent/executor.go&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the new feature actually adds
&lt;/h2&gt;

&lt;p&gt;The feature is broader than "call one API". The repository now includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A new search-engine configuration model with &lt;code&gt;provider&lt;/code&gt;, &lt;code&gt;name&lt;/code&gt;, &lt;code&gt;base_url&lt;/code&gt;, &lt;code&gt;api_key&lt;/code&gt;, and &lt;code&gt;enabled&lt;/code&gt; fields.&lt;/li&gt;
&lt;li&gt;Storage and CRUD handlers for search engine configs.&lt;/li&gt;
&lt;li&gt;A new web console page for Search Engine management.&lt;/li&gt;
&lt;li&gt;Agent form support for choosing built-in vs external web search and binding an enabled search engine.&lt;/li&gt;
&lt;li&gt;A &lt;code&gt;web_search&lt;/code&gt; tool handler that reads the selected &lt;code&gt;search_engine_id&lt;/code&gt; from runtime context.&lt;/li&gt;
&lt;li&gt;Tests for request shaping, result normalization, provider-specific behavior, limits, and missing-config handling.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Supported external providers in the current codebase are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tavily&lt;/li&gt;
&lt;li&gt;SerpAPI&lt;/li&gt;
&lt;li&gt;Aliyun IQS&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why this design is useful
&lt;/h2&gt;

&lt;p&gt;The best part of this implementation is that it does not pretend all search is the same.&lt;/p&gt;

&lt;p&gt;If your chosen model already supports native search, AIClaw can use that path directly. If you need a controlled external path, AIClaw lets you configure search as a first-class resource and then attach that resource to the agent.&lt;/p&gt;

&lt;p&gt;That gives you a few practical advantages:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;You can keep provider API keys on the server side instead of pushing them into prompts or ad hoc scripts.&lt;/li&gt;
&lt;li&gt;You can save multiple search configs, enable or disable them independently, and test them before using them in a live agent run.&lt;/li&gt;
&lt;li&gt;You can see search activity in chat progress and execution logs, including input, output, duration, and errors.&lt;/li&gt;
&lt;li&gt;You can keep the agent contract explicit: use built-in search for supported models, or use an external &lt;code&gt;web_search&lt;/code&gt; tool with a selected engine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For teams running local or self-hosted agents, that operational clarity matters more than a generic "AI can browse the web" checkbox.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the external path works
&lt;/h2&gt;

&lt;p&gt;The current implementation routes external search through a dedicated handler in &lt;code&gt;internal/tools/websearch/search.go&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;A few details stand out:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Search requests are rejected if the query is empty.&lt;/li&gt;
&lt;li&gt;Disabled configs are not usable for live execution.&lt;/li&gt;
&lt;li&gt;Missing API keys fail fast.&lt;/li&gt;
&lt;li&gt;Result limits are normalized and capped.&lt;/li&gt;
&lt;li&gt;Response size is bounded.&lt;/li&gt;
&lt;li&gt;Snippets are cleaned and truncated before being returned to the agent.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Provider handling is explicit rather than abstract hand-waving:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tavily uses a JSON POST body.&lt;/li&gt;
&lt;li&gt;SerpAPI uses query parameters for organic results.&lt;/li&gt;
&lt;li&gt;Aliyun IQS uses Bearer authentication and the &lt;code&gt;LiteAdvanced&lt;/code&gt; engine.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That kind of provider-specific normalization is exactly what turns a feature from demo-worthy to production-usable.&lt;/p&gt;

&lt;h2&gt;
  
  
  The web console flow
&lt;/h2&gt;

&lt;p&gt;The UI side is also practical.&lt;/p&gt;

&lt;p&gt;The new Search Engine page lets you:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create multiple configs&lt;/li&gt;
&lt;li&gt;Toggle them enabled or disabled&lt;/li&gt;
&lt;li&gt;Test saved configs from the list&lt;/li&gt;
&lt;li&gt;Test a config directly inside the create/edit dialog before saving&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then, in the agent form, you can:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enable web search&lt;/li&gt;
&lt;li&gt;Choose &lt;code&gt;builtin&lt;/code&gt; or &lt;code&gt;external&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Select one of the enabled search engines when using external mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This avoids one common agent-platform failure mode: features exist in backend code, but the operator workflow is awkward enough that nobody uses them correctly.&lt;/p&gt;

&lt;h2&gt;
  
  
  Observability is the real feature
&lt;/h2&gt;

&lt;p&gt;The technical headline is configurable web search, but the deeper value is observability.&lt;/p&gt;

&lt;p&gt;AIClaw does not just say "search happened." It models search as an execution step:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;built-in search is recorded as a &lt;code&gt;web_search&lt;/code&gt; step attached to the LLM request&lt;/li&gt;
&lt;li&gt;external search appears as a tool call with provider-backed results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That makes debugging much easier. When an answer is wrong, you can inspect whether the issue came from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;no search being enabled&lt;/li&gt;
&lt;li&gt;the wrong mode being selected&lt;/li&gt;
&lt;li&gt;a disabled or missing external config&lt;/li&gt;
&lt;li&gt;poor upstream results&lt;/li&gt;
&lt;li&gt;or model reasoning after the search results were returned&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is a better operational story than hiding everything behind a generic browse capability.&lt;/p&gt;

&lt;h2&gt;
  
  
  A practical example
&lt;/h2&gt;

&lt;p&gt;Imagine an AIClaw agent that tracks "latest Go release notes" or "today's AI infrastructure news".&lt;/p&gt;

&lt;p&gt;With built-in mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;choose a model with native search support&lt;/li&gt;
&lt;li&gt;enable web search&lt;/li&gt;
&lt;li&gt;let AIClaw send &lt;code&gt;enable_search=true&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;With external mode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;configure Tavily, SerpAPI, or Aliyun IQS in the Search Engine page&lt;/li&gt;
&lt;li&gt;enable the config&lt;/li&gt;
&lt;li&gt;bind that config to the agent&lt;/li&gt;
&lt;li&gt;let the agent call &lt;code&gt;web_search&lt;/code&gt; when the question is time-sensitive&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In both cases, the execution path is inspectable afterward.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I like about this release
&lt;/h2&gt;

&lt;p&gt;This feature is a good example of product discipline in an agent codebase:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;it added backend data structures&lt;/li&gt;
&lt;li&gt;it added runtime wiring&lt;/li&gt;
&lt;li&gt;it added UI workflow&lt;/li&gt;
&lt;li&gt;it added tests&lt;/li&gt;
&lt;li&gt;and it documented the behavioral contract in the README&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That is the difference between "we support search" and "operators can actually run this in a controlled way."&lt;/p&gt;

&lt;p&gt;If you are building self-hosted agents, configurable web search is not just about freshness. It is about choosing where search happens, how credentials are managed, and how much of the execution trail remains visible after the run.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>agents</category>
    </item>
    <item>
      <title>AIClaw v1.10.5: Configurable Web Search for Tool-Using Agents</title>
      <dc:creator>chowyu</dc:creator>
      <pubDate>Tue, 09 Jun 2026 12:00:27 +0000</pubDate>
      <link>https://dev.to/chowyu12/aiclaw-v1105-configurable-web-search-for-tool-using-agents-1bdl</link>
      <guid>https://dev.to/chowyu12/aiclaw-v1105-configurable-web-search-for-tool-using-agents-1bdl</guid>
      <description>&lt;p&gt;AIClaw just shipped two updates that make the agent runtime more reliable and more useful for real-world research workflows.&lt;/p&gt;

&lt;p&gt;Project: &lt;a href="https://github.com/chowyu12/aiclaw" rel="noopener noreferrer"&gt;https://github.com/chowyu12/aiclaw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The short version:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;v1.10.4&lt;/code&gt; hardens Runtime Plan State so agent plans behave more predictably across tool failures and final message saves.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;v1.10.5&lt;/code&gt; adds configurable web search engines, including Tavily, SerpAPI, and Aliyun IQS.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is a meaningful step for AIClaw because search is no longer treated as a hidden model-side feature only. It can now be configured, tested, observed, and audited as part of the agent runtime.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters
&lt;/h2&gt;

&lt;p&gt;AI agents often need fresh information: latest releases, pricing, recent policy changes, news, documentation updates, and project status. Previously, this usually depended on either model-native search support or ad hoc browser/web fetch behavior.&lt;/p&gt;

&lt;p&gt;AIClaw now supports two web search modes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Built-in model search&lt;/li&gt;
&lt;li&gt;External search engines exposed through a &lt;code&gt;web_search&lt;/code&gt; tool&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;For models that support native web search, AIClaw can send the model request with search enabled. For external search, AIClaw exposes a real tool call and routes it through the selected search engine configuration.&lt;/p&gt;

&lt;p&gt;That difference matters. External search becomes visible in execution logs, streams back like other tools, records input/output/duration/errors, and can be managed from the console.&lt;/p&gt;

&lt;h2&gt;
  
  
  New Search Engine console
&lt;/h2&gt;

&lt;p&gt;The web console now includes a Search Engine page. You can create multiple search configurations and enable or disable them independently.&lt;/p&gt;

&lt;p&gt;Supported providers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tavily&lt;/li&gt;
&lt;li&gt;SerpAPI&lt;/li&gt;
&lt;li&gt;Aliyun IQS&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The UI supports:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;creating and editing search engine configs;&lt;/li&gt;
&lt;li&gt;storing provider, base URL, API key, and enabled status;&lt;/li&gt;
&lt;li&gt;testing an existing search engine from the list;&lt;/li&gt;
&lt;li&gt;testing a new or edited config before saving;&lt;/li&gt;
&lt;li&gt;showing whether an API key has been configured without exposing the key value.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;For Aliyun IQS, AIClaw calls:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;POST https://cloud-iqs.aliyuncs.com/search/unified
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;with Bearer API key authentication and the &lt;code&gt;LiteAdvanced&lt;/code&gt; engine.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent-level search mode
&lt;/h2&gt;

&lt;p&gt;Agents now have web search settings in the Agent form.&lt;/p&gt;

&lt;p&gt;Each agent can choose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;web search disabled;&lt;/li&gt;
&lt;li&gt;built-in search, when the selected model supports it;&lt;/li&gt;
&lt;li&gt;external search, using one enabled Search Engine configuration.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If an agent uses external mode, it must select an enabled search engine. Disabled search configs can still be tested from the Search Engine page, but they are not available during live agent execution.&lt;/p&gt;

&lt;p&gt;This keeps runtime behavior explicit: the agent does not silently use an unknown search backend.&lt;/p&gt;

&lt;h2&gt;
  
  
  A real &lt;code&gt;web_search&lt;/code&gt; tool
&lt;/h2&gt;

&lt;p&gt;AIClaw now includes a built-in &lt;code&gt;web_search&lt;/code&gt; tool for external mode. The backend normalizes search requests, limits result count, trims long snippets, and returns structured search results:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"query"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"provider"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"tavily"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"results"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"title"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"url"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"snippet"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"..."&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The implementation includes provider-specific adapters for Tavily, SerpAPI organic results, and Aliyun IQS page items.&lt;/p&gt;

&lt;h2&gt;
  
  
  Search observability
&lt;/h2&gt;

&lt;p&gt;Search is also part of the execution trace now.&lt;/p&gt;

&lt;p&gt;For built-in model search, AIClaw records a &lt;code&gt;web_search&lt;/code&gt; execution step showing the search input and request configuration. For external search, the &lt;code&gt;web_search&lt;/code&gt; tool call is tracked like other tools, including output, duration, and errors.&lt;/p&gt;

&lt;p&gt;That makes search behavior easier to debug. If an answer depends on web results, you can inspect how the search was executed instead of treating it as a black box.&lt;/p&gt;

&lt;h2&gt;
  
  
  Plan State hardening in v1.10.4
&lt;/h2&gt;

&lt;p&gt;The previous patch release focused on Runtime Plan State reliability.&lt;/p&gt;

&lt;p&gt;Key changes include:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stronger validation for plan item states;&lt;/li&gt;
&lt;li&gt;duplicate plan item ID rejection;&lt;/li&gt;
&lt;li&gt;normalization so only one item can be &lt;code&gt;running&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;safer failure transitions when a tool or LLM call fails;&lt;/li&gt;
&lt;li&gt;final message linking that completes or fails active plan items correctly;&lt;/li&gt;
&lt;li&gt;compact Plan State prompt text truncation to avoid injecting oversized plan fields into the model context.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This matters because AIClaw treats plans as runtime state, not as chat-visible TODO text. The harness owns lifecycle transitions, persistence, streaming, and failure recovery. The new tests make that contract harder to accidentally break.&lt;/p&gt;

&lt;h2&gt;
  
  
  Tests added
&lt;/h2&gt;

&lt;p&gt;The update adds coverage for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Tavily search parsing;&lt;/li&gt;
&lt;li&gt;SerpAPI search parsing;&lt;/li&gt;
&lt;li&gt;Aliyun IQS search parsing;&lt;/li&gt;
&lt;li&gt;disabled or missing search engine configuration;&lt;/li&gt;
&lt;li&gt;selected search engine routing;&lt;/li&gt;
&lt;li&gt;built-in search request configuration;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;web_search&lt;/code&gt; execution step recording;&lt;/li&gt;
&lt;li&gt;plan state normalization, validation, failure handling, and final message linking.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Install or update
&lt;/h2&gt;

&lt;p&gt;AIClaw publishes prebuilt binaries for Linux and macOS:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/chowyu12/aiclaw/master/install.sh | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Common commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aiclaw start
aiclaw stop
aiclaw status
aiclaw update
aiclaw version
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  What is AIClaw?
&lt;/h2&gt;

&lt;p&gt;AIClaw is a self-hosted AI agent platform for building, operating, and observing tool-using agents. It combines a Go backend, Vue 3 admin console, multi-provider model support, runtime Plan State, tools, skills, sub-agents, memory, and messaging-channel integrations in one deployable binary.&lt;/p&gt;

&lt;p&gt;GitHub: &lt;a href="https://github.com/chowyu12/aiclaw" rel="noopener noreferrer"&gt;https://github.com/chowyu12/aiclaw&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are working on agent runtime design, tool execution, MCP, Plan State, or observable web search, feedback and issues are very welcome.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>webdev</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
