<?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: Ruslan Atnagulov</title>
    <description>The latest articles on DEV Community by Ruslan Atnagulov (@metaguru).</description>
    <link>https://dev.to/metaguru</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4176671%2F3bb59917-14ff-4cb4-ab2c-341c91a3e97f.png</url>
      <title>DEV Community: Ruslan Atnagulov</title>
      <link>https://dev.to/metaguru</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/metaguru"/>
    <language>en</language>
    <item>
      <title>Local classification in OpenClaw with Ollama and Tev1</title>
      <dc:creator>Ruslan Atnagulov</dc:creator>
      <pubDate>Sun, 11 Oct 2026 09:09:01 +0000</pubDate>
      <link>https://dev.to/metaguru/local-classification-in-openclaw-with-ollama-and-tev1-g6n</link>
      <guid>https://dev.to/metaguru/local-classification-in-openclaw-with-ollama-and-tev1-g6n</guid>
      <description>&lt;p&gt;Some agent tasks have a small, structured output: choose a department, estimate whether an incident needs escalation, or place a message on an urgency rubric.&lt;/p&gt;

&lt;p&gt;OpenClaw's developers added native support for a separate Decision model role. Our plugin connects local Tev1 models running in Ollama to that existing infrastructure.&lt;/p&gt;

&lt;p&gt;We built &lt;strong&gt;Ollama Decision&lt;/strong&gt;, an independent MIT-licensed community plugin supporting Tev1 0.8B and 4B through Ollama's System One API. The agent keeps its conversational model; a Decision call evaluates the supplied state against explicit questions.&lt;/p&gt;

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

&lt;p&gt;Use this synthetic state:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Checkout is failing for all customers.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Ask three independent questions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boolean: Does this require incident response?&lt;/li&gt;
&lt;li&gt;Choice: Is Support or Billing responsible?&lt;/li&gt;
&lt;li&gt;Score: Is the impact no disruption, one blocked workflow, or a widespread outage?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;A real captured OpenClaw call with &lt;code&gt;tev1:0.8b&lt;/code&gt; returned &lt;code&gt;support&lt;/code&gt;, an escalation probability of about &lt;code&gt;0.8888&lt;/code&gt;, and an impact score of about &lt;code&gt;1.9096&lt;/code&gt; on a zero-based 0–2 rubric. These are observed outputs for one synthetic input, not a benchmark. The full request and answer are in &lt;a href="https://github.com/brightbrothers/openclaw-ollama-decision/blob/main/docs/example.md" rel="noopener noreferrer"&gt;the reproducible example&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Boolean answers remain probabilities rather than thresholded decisions. Choice preserves the option distributions. Score preserves the fractional vendor score and ordered probabilities. Confidence describes distribution concentration; it is not the probability of being correct.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try the adapter
&lt;/h2&gt;

&lt;p&gt;Requirements: Node.js 22+, an OpenClaw version exposing Decision provider contract v1 and &lt;code&gt;registerDecisionProvider&lt;/code&gt;, and local Ollama with &lt;code&gt;/v1/systemone&lt;/code&gt;. The model publisher requires Ollama 0.35+. Our current adapter smokes used Ollama 0.40.2 and Node 24.18.0.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/brightbrothers/openclaw-ollama-decision.git
&lt;span class="nb"&gt;cd &lt;/span&gt;openclaw-ollama-decision
npm &lt;span class="nb"&gt;test
&lt;/span&gt;ollama pull tev1:0.8b
npm run smoke
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;For the larger model:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;ollama pull tev1:4b
npm run smoke &lt;span class="nt"&gt;--&lt;/span&gt; &lt;span class="nt"&gt;--model&lt;/span&gt; tev1:4b &lt;span class="nt"&gt;--timeout-ms&lt;/span&gt; 120000
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Both commands evaluate the same synthetic three-question batch and write the actual outcome to a local evidence file. When Node uses environment proxies, make loopback bypass them, for example with &lt;code&gt;NO_PROXY=localhost,127.0.0.1,::1&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Connect it to OpenClaw
&lt;/h2&gt;

&lt;p&gt;After reviewing the source, install using the &lt;a href="https://github.com/brightbrothers/openclaw-ollama-decision#install" rel="noopener noreferrer"&gt;README&lt;/a&gt;. Choose &lt;code&gt;ollama-decision/tev1:0.8b&lt;/code&gt; or &lt;code&gt;ollama-decision/tev1:4b&lt;/code&gt; in the intended agent's Decision picker. Keep the chat-model selection unchanged.&lt;/p&gt;

&lt;p&gt;The historical full integration check used OpenClaw 2026.9.8 with 0.8B. A real 0.8B tool call was repeated on October 11 using the installed v0.1.0 adapter. v0.2.0 separately passed local adapter smokes for both models and static ClawHub validation against 2026.9.8. The 4B host/picker integration has not been independently rerun. Other OpenClaw versions need their own compatibility check.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the adapter guarantees
&lt;/h2&gt;

&lt;p&gt;The adapter validates answer types, question IDs, distribution keys, labels, numerical ranges and usage counters. It limits bodies to 1 MiB and preserves caller cancellation and monotonic deadlines. It accepts HTTP loopback origins and rejects remote endpoints, credentials in URLs and redirects.&lt;/p&gt;

&lt;p&gt;It has no runtime dependencies, telemetry or cloud API key. State and criteria go to the configured local Ollama service; that service's logging is outside the plugin's control.&lt;/p&gt;

&lt;p&gt;The adapter supports explicit Decision calls. It does not automatically route tickets, filter tools, replace chat, or establish model accuracy. Add and validate those consumers separately.&lt;/p&gt;

&lt;h2&gt;
  
  
  Feedback
&lt;/h2&gt;

&lt;p&gt;The next useful evidence is another developer reproducing the example. Compatibility reports with versions, the selected model and a synthetic failing input are welcome in GitHub issues. Please omit private data and credentials.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/brightbrothers/openclaw-ollama-decision" rel="noopener noreferrer"&gt;Source, installation and demo&lt;/a&gt; · &lt;a href="https://github.com/brightbrothers/openclaw-ollama-decision/releases/tag/v0.2.0" rel="noopener noreferrer"&gt;v0.2.0&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
