<?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: Fahim</title>
    <description>The latest articles on DEV Community by Fahim (@eror-0).</description>
    <link>https://dev.to/eror-0</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%2F1102541%2F02b94796-a8f9-43a9-91d0-400a36ebcfc8.jpeg</url>
      <title>DEV Community: Fahim</title>
      <link>https://dev.to/eror-0</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eror-0"/>
    <language>en</language>
    <item>
      <title>Multiharness: Orchestrating Autonomous Multi-Agent Workflows Across Open-Source Coding Harnesses</title>
      <dc:creator>Fahim</dc:creator>
      <pubDate>Tue, 13 Oct 2026 08:34:01 +0000</pubDate>
      <link>https://dev.to/eror-0/multiharness-orchestrating-autonomous-multi-agent-workflows-across-open-source-coding-harnesses-3b40</link>
      <guid>https://dev.to/eror-0/multiharness-orchestrating-autonomous-multi-agent-workflows-across-open-source-coding-harnesses-3b40</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/hacktoberfest-week2-2026-10-12"&gt;Hacktoberfest Open-Source AI Challenge Week 2: Side Hustle&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;Most developer setups force engineers to choose a single coding assistant harness or manually copy-paste context between different agentic environments. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Multiharness&lt;/strong&gt; solves this fragmentation. It is an open-source multi-agent orchestration framework written in Go designed to delegate tasks, manage iterative review loops, and coordinate coding sessions seamlessly across environments like Codex, OpenCode, and local LLM backends. &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;The Problem:&lt;/strong&gt; Single-agent harnesses often get stuck in local optima, struggle with verification loops without consuming massive context windows, and create lock-in around closed ecosystems.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Who It’s For &amp;amp; Why They'd Pay:&lt;/strong&gt; Engineering teams, technical founders, and freelance developers looking to automate complex refactoring, test-generation pipelines, and cross-model code review loops without being tied to a single proprietary vendor or incurring massive API markups.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Documentation &amp;amp; Overview:&lt;/strong&gt; &lt;a href="https://multiharness.mdfahimhossen.space/" rel="noopener noreferrer"&gt;multiharness.mdfahimhossen.space&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CLI in Action:&lt;/strong&gt; Run delegator and reviewer agents side-by-side with automatic state syncing across sessions.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Code
&lt;/h2&gt;

&lt;p&gt;Multiharness is fully open-source. Explore the architecture, inspect agent harnesses, or contribute:&lt;/p&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://assets.dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/ErOr-0" rel="noopener noreferrer"&gt;
        ErOr-0
      &lt;/a&gt; / &lt;a href="https://github.com/ErOr-0/Multiharness-Core" rel="noopener noreferrer"&gt;
        Multiharness-Core
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      Multiharness-Core is a central orchestration framework driven by an agentic workflow.Codex acts as the lead Planner to design architecture and delegate tasks, while Opencode serves as the Executor to implement the codebase according to Codex's blueprints.
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Multiharness Core&lt;/h1&gt;
&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;&lt;code&gt;magent&lt;/code&gt; coordinates coding tasks across Codex, Claude Code and Muse Code.&lt;/strong&gt;
Choose a folder and one agent. In &lt;strong&gt;direct mode (the default)&lt;/strong&gt;, Multiharness
passes your task to that CLI, lets it handle planning/editing/testing, and shows
its final response. Follow-ups reuse the same agent session; &lt;code&gt;/new&lt;/code&gt; starts fresh.&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;/set mode team&lt;/code&gt; (or &lt;code&gt;--mode team&lt;/code&gt;) when you want separate planning
implementation, deterministic validation, review and bounded repair. The team
workflow also owns folder snapshots and independent change evidence.&lt;/p&gt;
&lt;p&gt;Both modes support folders without Git.&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;Muse Code (Meta subscription)&lt;/h2&gt;
&lt;/div&gt;
&lt;p&gt;Select &lt;code&gt;muse&lt;/code&gt; independently for planner, implementer or reviewer in &lt;code&gt;/config&lt;/code&gt;.
Each role has its own model and reasoning setting. For an all-Muse team:&lt;/p&gt;
&lt;div class="snippet-clipboard-content notranslate position-relative overflow-auto"&gt;&lt;pre class="notranslate"&gt;&lt;code&gt;/set mode team
/set planner-harness muse
/set planner-reasoning low
/set implementer-harness muse
/set implementer-reasoning medium
/set reviewer-harness muse
/set reviewer-reasoning high
/login muse
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;The default model is &lt;code&gt;muse-spark-1.3&lt;/code&gt;. Use each role's &lt;code&gt;*-model&lt;/code&gt; setting to…&lt;/p&gt;&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/ErOr-0/Multiharness-Core" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;h2&gt;
  
  
  How I Built It
&lt;/h2&gt;

&lt;p&gt;Multiharness is built with performance and composability at its core:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Engineered in Go:&lt;/strong&gt; Selected for low-latency concurrency, deterministic process management, and native cross-platform binaries with zero external runtime dependencies.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open-Source AI &amp;amp; Local Inference:&lt;/strong&gt; Multiharness supports self-hosted open-weight models (via vLLM and Ollama) alongside open harnesses like OpenCode. It routes architecture, implementation, and test-review roles across specialized models depending on context window and reasoning requirements.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Delegation &amp;amp; Review Loops:&lt;/strong&gt; Uses structured task state machines where lead agents break down feature requests into atomic diffs, dispatch them to worker agents, and trigger automatic linting and test validation stages before merge proposals.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Does Open Innovation Matter?
&lt;/h2&gt;

&lt;p&gt;Open innovation is critical when building developer tooling:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Avoiding Vendor Lock-In:&lt;/strong&gt; Developers should not be trapped within a single closed harness API that changes pricing, rate limits, or deprecates models overnight.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Privacy &amp;amp; Local Execution:&lt;/strong&gt; Engineering teams often handle sensitive codebases that cannot leave internal infrastructure. Open-weight models and open agent harnesses allow Multiharness to execute entirely on-prem or on developer workstations.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;True Modularity:&lt;/strong&gt; Open architectures let developers plug in customized prompt templates, custom evaluation harnesses, and distinct model weights tailored for specific languages and domain logic.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Prize Categories
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Hacktoberfest Open-Source AI Challenge: Week 2 Side Hustle&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>hf26challenge</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Closiq Discord Agent: An AI Customer Support Monolith 🚀</title>
      <dc:creator>Fahim</dc:creator>
      <pubDate>Thu, 28 May 2026 01:08:53 +0000</pubDate>
      <link>https://dev.to/eror-0/closiq-discord-agent-an-ai-customer-support-monolith-51nn</link>
      <guid>https://dev.to/eror-0/closiq-discord-agent-an-ai-customer-support-monolith-51nn</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/github-2026-05-21"&gt;GitHub Finish-Up-A-Thon Challenge&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What I Built
&lt;/h2&gt;

&lt;p&gt;I built the &lt;strong&gt;&lt;a href="https://github.com/ErOr-0/closiq-discord-bot" rel="noopener noreferrer"&gt;Closiq Discord Agent&lt;/a&gt;&lt;/strong&gt;, a full-stack modular monolith engineered to transform a Discord channel into an automated, AI-driven customer support inbox and lead management system. &lt;/p&gt;

&lt;p&gt;When a customer messages your Discord support channel, the backend captures the conversation, handles data persistence, and fetches highly relevant context from a self-hosted Qdrant vector database (which indexes knowledge base documents stored in MinIO). It then leverages OpenRouter or OpenAI-compatible models to dynamically draft and deliver accurate, context-aware responses right back to the customer via a Discord bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Demo
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;GitHub Repository:&lt;/strong&gt; &lt;a href="https://github.com/ErOr-0/closiq-discord-bot" rel="noopener noreferrer"&gt;ErOr-0/closiq-discord-bot&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Local Web Dashboard:&lt;/strong&gt; &lt;code&gt;http://localhost:5173&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;(Tip: Insert a GIF or a couple of screenshots here showing off your React dashboard interface, your MongoDB message log view, or the Discord bot replying live in a channel!)&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;h3&gt;
  
  
  Tech Stack At A Glance
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Frontend:&lt;/strong&gt; React + Vite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Backend:&lt;/strong&gt; Node.js + Express + TypeScript&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Databases &amp;amp; Storage:&lt;/strong&gt; MongoDB (Metadata), Qdrant (Vector Embeddings), and MinIO (Object Storage)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integrations:&lt;/strong&gt; &lt;code&gt;discord.js&lt;/code&gt; &amp;amp; OpenRouter / OpenAI SDK&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The Comeback Story
&lt;/h2&gt;

&lt;p&gt;This project started as an ambitious idea but quickly stalled out. Before dusting it off for this challenge, it was just a loose collection of database models, basic tools, and a primitive, unoptimized LangChain loop sitting in a graveyard of unfinished local folders. It completely lacked a front-end management layer, and the architecture was fragile.&lt;/p&gt;

&lt;p&gt;To bring this project to life and cross the finish line, I focused heavily on stability, user experience, and structural boundaries:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Modular Monolith Refactoring:&lt;/strong&gt; Reorganized the entire Express backend into strict, clean module boundaries (&lt;code&gt;messages&lt;/code&gt;, &lt;code&gt;knowledgebase&lt;/code&gt;, &lt;code&gt;agent&lt;/code&gt;, &lt;code&gt;infrastructure&lt;/code&gt;) to make the codebase highly maintainable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Built the Web Dashboard:&lt;/strong&gt; Created a comprehensive React interface from scratch so users can visually monitor incoming customer messages and manage knowledge base files without touching terminal commands.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixed Edge Cases &amp;amp; UI:&lt;/strong&gt; Fixed broken message handling logic loops in the AI generation workflow and completely updated the Channel Message UI components for smoother interactions.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cascading Deletion Sync:&lt;/strong&gt; Implemented robust file lifecycle management. Now, deleting a knowledge document triggers a clean, sequential purge across the entire stack: removing the object from MinIO, unindexing the vector from Qdrant, and dropping the metadata from MongoDB.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  My Experience with GitHub Copilot
&lt;/h2&gt;

&lt;p&gt;GitHub Copilot acted as an invaluable pair-programmer during this sprint, especially when it came to tying multiple disjointed storage microservices together.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Docker Scaffold Speed:&lt;/strong&gt; Copilot instantly generated the local environment infrastructure configurations inside the &lt;code&gt;docker-compose.yml&lt;/code&gt;, getting MongoDB, Qdrant, and MinIO talking to each other effortlessly.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Handling Streams and Upload Boilerplate:&lt;/strong&gt; Writing multipart file upload endpoints that simultaneously stream files to MinIO and pass text data to vector embeddings involves writing a lot of repetitive error-handling code. Copilot predicted the stream-piping logic accurately, saving me hours of debugging.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Maintaining Architecture Boundaries:&lt;/strong&gt; Because Copilot quickly grasped the modular monolith layout, it suggested accurate imports across different domain workspaces (like pulling from &lt;code&gt;shared/errors&lt;/code&gt; or &lt;code&gt;config/logging&lt;/code&gt;) without muddying up the structural boundaries I put in place.&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>devchallenge</category>
      <category>githubchallenge</category>
    </item>
  </channel>
</rss>
