<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[aiFetchly]]></title><description><![CDATA[aiFetchly]]></description><link>https://aifetchly-app.hashnode.dev</link><generator>RSS for Node</generator><lastBuildDate>Sun, 01 Nov 2026 11:10:24 GMT</lastBuildDate><atom:link href="https://aifetchly-app.hashnode.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Step-by-Step: Creating Custom Prompt Macros in aiFetchly]]></title><description><![CDATA[Direct Answer: Developers eliminate repetitive prompt typing and standardize agent interactions by authoring custom slash command prompt macros in…]]></description><link>https://aifetchly-app.hashnode.dev/step-by-step-creating-custom-prompt-macros-in-aifetchly</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/step-by-step-creating-custom-prompt-macros-in-aifetchly</guid><category><![CDATA[AI]]></category><category><![CDATA[Slash commands]]></category><category><![CDATA[desktop apps]]></category><category><![CDATA[Prompt Engineering]]></category><category><![CDATA[agent-architecture]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Sat, 31 Oct 2026 15:20:32 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://hedgedoc.envs.net/uploads/27a399e1-36f8-4631-aa10-b154387f547d.jpg" alt="Step-by-Step: Creating Custom Prompt Macros in aiFetchly" /></p>
<blockquote>
<p><strong>Direct Answer:</strong> Developers eliminate repetitive prompt typing and standardize agent interactions by authoring custom slash command prompt macros in aiFetchly. By defining lightweight Markdown files with YAML frontmatter in <code>~/.aifetchly/commands/</code>, developers bind complex multi-clause prompts to simple <code>/</code> keystroke shortcuts with dynamic argument interpolation (<code>{{arg}}</code>) and instant hot-reloading in AI Chat V2.</p>
</blockquote>
<h3>The Friction of Repetitive Agent Prompts</h3>
<p>In 2026, software engineers rely on autonomous coding agents and terminal copilots to audit codebases, inspect pull requests, and orchestrate automated web scrapers. However, interacting with advanced models repeatedly requires entering lengthy, multi-clause instructions.</p>
<p>Developers frequently experience operational friction:</p>
<ol>
<li><strong>Prompt Inconsistency:</strong> Typing complex instructions manually from memory introduces prompt variance, causing subtle discrepancies in agent outputs.</li>
<li><strong>Context Switching:</strong> Toggling between secondary browser windows, text files, or snippet managers to copy-paste prompts interrupts flow.</li>
<li><strong>Rigid Web Interfaces:</strong> Cloud chat applications do not support project-scoped macros or filesystem-level shortcut bindings.</li>
</ol>
<p>The <a href="https://www.aifetchly.com/features">aiFetchly desktop platform</a> solves this in AI Chat V2 through its native Slash Command Engine, turning any Markdown file into an executable prompt macro.</p>
<p>Here is a 4-step tutorial to create and deploy your own custom slash command prompt macros.</p>
<p><img src="https://hedgedoc.envs.net/uploads/4ccb1c33-7baa-47a3-9131-f87def83db6b.jpg" alt="Authoring Custom Slash Command Prompt Macros in aiFetchly" /></p>
<h3>Step 1: Select Your Command Scope</h3>
<p>aiFetchly organizes commands into a clear priority hierarchy: <code>built-in</code> → <code>workspace</code> → <code>user</code> → <code>plugin</code>. </p>
<p>To create a global command accessible across every session, navigate to your user configuration directory:</p>
<pre><code class="language-bash">mkdir -p ~/.aifetchly/commands
</code></pre>
<p>For project-specific macros shared with your team via git, create <code>.aifetchly/commands/</code> inside your trusted project root.</p>
<h3>Step 2: Define the Markdown Frontmatter</h3>
<p>Create a new file named <code>refactor.md</code> in your commands directory. Add YAML frontmatter declaring the command name, description, and argument expectations:</p>
<pre><code class="language-markdown">---
name: refactor
description: Perform AST-aware code refactoring and enforce security patterns
type: prompt
argumentHint: &lt;target file or function&gt;
aliases:
  - rf
---
</code></pre>
<p>The <code>argumentHint</code> displays helpful placeholder text inside AI Chat V2 when typing arguments.</p>
<h3>Step 3: Write the Parameterized Prompt Body</h3>
<p>Below the frontmatter, compose your structured engineering instructions. Use the <code>{{arg}}</code> token where dynamic user input should be inserted:</p>
<pre><code class="language-markdown">Analyze the code provided in: {{arg}}

Please execute the following refactoring steps:
1. Identify memory leaks, blocking I/O calls, and unhandled promise rejections.
2. Refactor the logic into strongly typed TypeScript functions.
3. Validate parameters against strict schema boundaries.
4. Output the updated code alongside comprehensive unit tests.
</code></pre>
<p>When you type <code>/refactor src/auth.ts</code>, aiFetchly automatically substitutes <code>{{arg}}</code> with <code>src/auth.ts</code> before passing the payload to the active model.</p>
<h3>Step 4: Hot Reload and Execute in AI Chat V2</h3>
<p>Save the file. Launch AI Chat V2 and reload your configuration without restarting the application by executing:</p>
<pre><code class="language-text">/reload-config
</code></pre>
<p>Click into the composer and type <code>/</code>. The autocomplete popup instantly displays <code>/refactor</code> tagged with a distinct <code>user</code> source badge. Select it, provide your target argument, and press <code>Enter</code> to run your macro.</p>
<p>Complete schema options and advanced command features are documented in the <a href="https://docs.aifetchly.com/docs/getting-started/introduction">aiFetchly documentation</a>.</p>
<h3>Streamline Your Engineering Loops</h3>
<p>By codifying repetitive instructions into version-controlled slash commands, developers turn verbose prompting into precise, single-keystroke workflows on their local workstations.</p>
<hr />
<p><em>aiFetchly is a local-first desktop AI business agent (free to download). Home: <a href="https://www.aifetchly.com">aifetchly.com</a> · features: <a href="https://www.aifetchly.com/features">www.aifetchly.com/features</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Inside Plugin Manager: Composable Agentic Extension Bundles]]></title><description><![CDATA[Direct Answer: The aiFetchly Plugin Manager provides developers with an integrated package management system that bundles AI Skills, Subagents, Slash…]]></description><link>https://aifetchly-app.hashnode.dev/inside-plugin-manager-composable-agentic-extension-bundles</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/inside-plugin-manager-composable-agentic-extension-bundles</guid><category><![CDATA[AI]]></category><category><![CDATA[plugins]]></category><category><![CDATA[mcp]]></category><category><![CDATA[desktop apps]]></category><category><![CDATA[agent-architecture]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Fri, 30 Oct 2026 15:33:28 GMT</pubDate><content:encoded><![CDATA[<h1>Inside Plugin Manager: Composable Agentic Extension Bundles</h1>
<blockquote>
<p><strong>Direct Answer:</strong> The aiFetchly Plugin Manager provides developers with an integrated package management system that bundles AI Skills, Subagents, Slash Commands, Lifecycle Hooks, and MCP servers into unified, declarative extensions. Supporting six distribution sources—including Git, GitHub releases, and npm—the engine guarantees supply chain safety through zero-script installations and pre-install risk flag gates.</p>
</blockquote>
<p><img src="https://hedgedoc.envs.net/uploads/3ea2f182-df2b-4988-8ac6-b65b500d4032.jpg" alt="aiFetchly Plugin Manager Interface and Agentic Bundles" /></p>
<p>As autonomous AI agents scale across software engineering workflows in 2026, developers face severe "extension sprawl." Configuring an agent typically requires juggling disparate components: custom Python scripts, terminal aliases, MCP JSON configurations, and pre-execution shell hooks across scattered folders. Maintaining and sharing these fragmented pieces across engineering teams is friction-heavy.</p>
<p>The <a href="https://www.aifetchly.com">aiFetchly desktop application</a> solves this architectural challenge with its native <strong>Plugin Manager</strong>. It introduces a unified package system that bundles heterogeneous agent capabilities into a single atomic artifact.</p>
<p><img src="https://hedgedoc.envs.net/uploads/a9e4e795-d8c4-457a-97cb-8f78edfd9076.jpg" alt="aiFetchly Plugin Architecture and Security Sandbox Pipeline" /></p>
<h3>1. Unified Capability Bundling Under One Manifest</h3>
<p>Instead of configuring multiple standalone subsystems, a single aiFetchly plugin bundles up to five distinct capabilities governed by one declarative manifest:</p>
<ul>
<li><strong>AI Skills:</strong> Modular JavaScript or Python tool runtimes.</li>
<li><strong>Subagents:</strong> Specialized autonomous worker personas configured with isolated system instructions.</li>
<li><strong>Slash Commands:</strong> Keyboard-driven prompt macros and interactive chat utilities.</li>
<li><strong>Lifecycle Hooks:</strong> Pre- and post-tool middleware that inspects, rewrites, or blocks execution.</li>
<li><strong>MCP Servers:</strong> Local or remote Model Context Protocol socket and SSE endpoints.</li>
</ul>
<p>When a team member installs a plugin, all bundled capabilities register simultaneously; uninstalling cleans them up atomically.</p>
<h3>2. Multi-Source Ingestion Engine</h3>
<p>Documented in the <a href="https://docs.aifetchly.com/docs/ai-outreach/plugin-manager">Plugin Manager specification</a>, aiFetchly supports six distribution channels:</p>
<ol>
<li><strong>Local ZIP &amp; Local Folder:</strong> Direct installation from disk, caching assets without altering source directories.</li>
<li><strong>Git &amp; GitHub:</strong> Clone public/private repositories via system SSH agents, or download tagged GitHub release assets.</li>
<li><strong>npm Registries:</strong> Ingest packages from public npm or private scoped registries via temporary, non-persisted authentication tokens.</li>
<li><strong>Direct URLs:</strong> Paste arbitrary HTTPS package links with automated protocol routing.</li>
</ol>
<h3>3. Zero-Script Supply Chain Security</h3>
<p>Allowing AI assistants to run third-party extensions introduces supply chain risks. aiFetchly enforces strict sandbox boundaries during ingestion:</p>
<ul>
<li><strong>Zero Script Execution:</strong> The installer never runs <code>npm install</code>, <code>pip install</code>, or post-install scripts. Package tarballs are unpacked using <code>--ignore-scripts</code>.</li>
<li><strong>Resource Ceilings:</strong> Strict quotas enforce a 50 MB compressed cap, a 250 MB unpacked ceiling, and a 5,000 file limit.</li>
<li><strong>Process Watchdogs:</strong> Background git and extraction processes terminate after a 60-second timeout.</li>
</ul>
<h3>4. Marketplace Cataloging &amp; Risk Flag Gating</h3>
<p>When browsing community marketplaces, aiFetchly scans manifests for sensitive capabilities before installation. It flags high-impact behaviors—such as spawning MCP servers, declaring system hooks, or unpinned commits—requiring explicit developer confirmation before activating tools.</p>
<p>By pairing atomic capability packaging with deterministic supply chain safeguards, aiFetchly gives developers a reliable framework to share and scale modular agent workflows.</p>
<hr />
<p><em>aiFetchly is a local-first desktop AI business agent (free to download). Home: <a href="https://www.aifetchly.com">aifetchly.com</a> · plugin manager: <a href="https://docs.aifetchly.com/docs/ai-outreach/plugin-manager">docs.aifetchly.com/docs/ai-outreach/plugin-manager</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Inside Custom AI Providers: Multi-Model Routing in aiFetchly]]></title><description><![CDATA[Direct Answer: Power users optimize LLM latency, reasoning quality, and API expenses by configuring aiFetchly's Custom AI Provider engine to route distinct…]]></description><link>https://aifetchly-app.hashnode.dev/inside-custom-ai-providers-multi-model-routing-in-aifetchly</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/inside-custom-ai-providers-multi-model-routing-in-aifetchly</guid><category><![CDATA[AI]]></category><category><![CDATA[Local LLM]]></category><category><![CDATA[multi-model]]></category><category><![CDATA[desktop apps]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Wed, 28 Oct 2026 15:27:02 GMT</pubDate><content:encoded><![CDATA[<p><img src="https://hedgedoc.envs.net/uploads/0c000cb3-37d3-4edb-9700-a26ae8ff3716.jpg" alt="Inside Custom AI Providers: Multi-Model Routing in aiFetchly" /></p>
<blockquote>
<p><strong>Direct Answer:</strong> Power users optimize LLM latency, reasoning quality, and API expenses by configuring aiFetchly's Custom AI Provider engine to route distinct tasks across local and cloud models. By supporting arbitrary OpenAI-compatible endpoints, local Ollama or vLLM instances, and direct BYOK credentials, aiFetchly enables users to dynamically assign fast local models for text extraction while reserving frontier reasoning models for complex synthesis—all within a single unified desktop interface.</p>
</blockquote>
<h3>The Fragmentation of AI Workflows in 2026</h3>
<p>In 2026, relying on a single monolithic AI model is an architectural anti-pattern. Power users understand that different generative tasks demand vastly different operational profiles: parsing 500 web pages requires high-throughput and zero marginal token cost, drafting short emails demands sub-second latency, and architectural debugging requires frontier reasoning models.</p>
<p>Juggling multiple browser portals, SaaS subscriptions, and command-line scripts fractures attention. Worse, rigid SaaS aggregators lock users into predefined model selections and mark up API pricing. The <a href="https://www.aifetchly.com/features">aiFetchly desktop platform</a> solves this fragmentation with its Custom AI Provider engine, providing an open, configurable routing layer directly on your workstation.</p>
<h3>Universal OpenAI-Compatible Endpoint Support</h3>
<p>At the core of aiFetchly’s provider architecture is universal compatibility. Any inference backend adhering to the standard OpenAI chat completions API can be registered in seconds:</p>
<ul>
<li><strong>Local Inference Engines:</strong> Connect local runtimes like Ollama, LM Studio, llama.cpp, or vLLM via <code>http://localhost:11434/v1</code>. Background data extraction, DOM parsing, and tagging execute completely offline on your GPU or NPU with zero API bills.</li>
<li><strong>Specialized Cloud Providers:</strong> Integrate ultra-fast inference networks (Groq, Together AI, DeepSeek) or routing aggregators (OpenRouter) using Bring Your Own Key (BYOK) authentication. You pay wholesale provider rates rather than bundled SaaS markups.</li>
<li><strong>Granular Hyperparameter Control:</strong> Configure custom model identifiers, context window ceilings, temperature defaults, and streaming parameters on a per-provider basis, fine-tuning model behavior for specific analytical tasks.</li>
</ul>
<p><img src="https://hedgedoc.envs.net/uploads/a479f640-1744-4a9d-929f-d500d408c698.jpg" alt="Multi-Model Routing Architecture in aiFetchly" /></p>
<h3>Task-Specific Dynamic Routing</h3>
<p>Registering multiple providers unlocks intelligent multi-model orchestration. Within aiFetchly, power users decouple operational stages across specialized backends:</p>
<ol>
<li><strong>Extraction &amp; Chunking:</strong> Route high-volume web scraping and document normalization to local small language models (SLMs), preserving API budgets and protecting private corporate data.</li>
<li><strong>Interactive Brainstorming:</strong> Assign lightning-fast hosted endpoints to AI Chat V2 for instant, low-latency conversational queries.</li>
<li><strong>Complex Synthesis &amp; Coding:</strong> Delegate multi-source research reviews and code refactoring to top-tier reasoning models.</li>
</ol>
<p>Setup guides and connection templates are available in the <a href="https://docs.aifetchly.com/docs/getting-started/introduction">aiFetchly documentation</a>.</p>
<h3>Reclaim Your Model Independence</h3>
<p>Closed AI platforms force users into rigid models and recurring subscription tiers. By transforming your desktop into an agnostic multi-model control plane, aiFetchly puts power users in complete command of cost, privacy, and performance.</p>
<hr />
<p><em>aiFetchly is a local-first desktop AI business agent (free to download). Home: <a href="https://www.aifetchly.com">aifetchly.com</a> · AI provider settings: <a href="https://docs.aifetchly.com/docs/settings/ai-provider">docs.aifetchly.com/docs/settings/ai-provider</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Inside AI Providers: Zero-Cloud Ollama & vLLM in aiFetchly]]></title><description><![CDATA[Direct Answer: aiFetchly allows software engineers to bypass cloud LLM subscriptions by routing AI Chat through custom OpenAI-compatible inference servers…]]></description><link>https://aifetchly-app.hashnode.dev/inside-ai-providers-zero-cloud-ollama-vllm-in-aifetchly</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/inside-ai-providers-zero-cloud-ollama-vllm-in-aifetchly</guid><category><![CDATA[desktop apps]]></category><category><![CDATA[AI]]></category><category><![CDATA[Local LLM]]></category><category><![CDATA[ollama]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Tue, 27 Oct 2026 15:25:49 GMT</pubDate><content:encoded><![CDATA[<blockquote>
<p><strong>Direct Answer:</strong> aiFetchly allows software engineers to bypass cloud LLM subscriptions by routing AI Chat through custom OpenAI-compatible inference servers including Ollama, vLLM, and LM Studio. The desktop backend establishes direct socket connections to localhost without proprietary cloud SDKs, automatically normalizes endpoints, and validates streaming, vision, and tool-calling capabilities via real-time telemetry badges.</p>
</blockquote>
<p><img src="https://hedgedoc.envs.net/uploads/7835a103-43bc-4e93-bd78-bb638986762d.jpg" alt="Configuring Local AI Providers in the aiFetchly Desktop Application" /></p>
<p>In 2026, data sovereignty regulations and enterprise compliance mandates (such as the EU AI Act and GDPR) have fundamentally altered AI engineering. Transmitting proprietary source code, internal schemas, and confidential client data to third-party model APIs incurs high token costs and introduces severe legal exposure.</p>
<p>At the same time, high-throughput local inference engines—such as Ollama, vLLM, and LM Studio—now run state-of-the-art open-weight models (Llama 3.3, Qwen 2.5, DeepSeek-V3) locally on developer workstations with impressive token-per-second velocity.</p>
<p>The <a href="https://www.aifetchly.com">aiFetchly desktop application</a> embraces this shift through its native <strong>AI Provider subsystem</strong>, allowing developers to point the entire chat interface to private, on-device inference runtimes with zero cloud egress.</p>
<p><img src="https://hedgedoc.envs.net/uploads/8183876f-9228-4593-8ffc-69efafea16ce.jpg" alt="aiFetchly AI Provider Architecture and Execution Flow" /></p>
<h3>1. Subscription-Free Local Chat Architecture</h3>
<p>As detailed in the <a href="https://docs.aifetchly.com/docs/settings/ai-provider">AI Provider manual</a>, aiFetchly decouples AI Chat from hosted cloud tiers. While managed features like server-side reranking and cloud embedding generation require an active subscription, the entire interactive chat canvas can be powered completely free of charge by your own local endpoint.</p>
<p>Because aiFetchly speaks the standard OpenAI REST contract (<code>/v1/chat/completions</code> and <code>/v1/models</code>), it avoids bulky vendor-specific SDK wrappers. The application’s local desktop process communicates directly with your target port over raw HTTP sockets, ensuring API keys, confidential query payloads, and code snippets never leave your physical workstation.</p>
<h3>2. Zero-Friction Presets &amp; URL Normalization</h3>
<p>Developers can switch between runtime engines using built-in presets:</p>
<ul>
<li><strong>Ollama:</strong> <code>http://localhost:11434/v1</code> (ideal for developer laptops, no API key required).</li>
<li><strong>vLLM:</strong> <code>http://localhost:8000/v1</code> (high-concurrency GPU inference with PagedAttention).</li>
<li><strong>LM Studio:</strong> <code>http://localhost:1234/v1</code> (one-click local model serving and visual quantization management).</li>
<li><strong>Custom Gateways:</strong> Connect to corporate reverse proxies, LocalAI, or private cloud clusters.</li>
</ul>
<p>aiFetchly automatically normalizes Base URLs, stripping errant trailing slashes and appending <code>/v1</code> paths transparently so manual formatting errors never break connectivity.</p>
<h3>3. Automated Handshake &amp; Capability Telemetry Badges</h3>
<p>Before routing developer prompts to a newly registered endpoint, aiFetchly’s <strong>Test Connection</strong> suite dispatches a lightweight JSON probe to detect runtime capabilities:</p>
<ul>
<li><strong>Models Catalog:</strong> Verifies active catalog synchronization with the provider’s <code>/models</code> endpoint, populating the model selection combobox automatically.</li>
<li><strong>Token Streaming:</strong> Validates Server-Sent Events (SSE) token streaming for responsive conversational output.</li>
<li><strong>Tool Calling:</strong> Tests function calling schema compatibility for agentic workflows and local subagent delegation.</li>
<li><strong>Context Size Overrides:</strong> Allows developers to override token context ceilings (e.g., 32k or 128k) to match physical VRAM allocations.</li>
<li><strong>On-Device Voice Pipeline:</strong> Integrates local speech-to-text (push-to-talk) and audio synthesis completely independently of your LLM provider.</li>
</ul>
<p>By pairing open-weight local inference with native desktop execution, aiFetchly gives developers total architectural control over their daily AI toolchain.</p>
<hr />
<p><em>aiFetchly is a local-first desktop AI business agent (free to download). Home: <a href="https://www.aifetchly.com">aifetchly.com</a> · AI Provider docs: <a href="https://docs.aifetchly.com/docs/settings/ai-provider">docs.aifetchly.com/docs/settings/ai-provider</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Inside AI Hooks: Intercepting & Gating Tool Calls in aiFetchly]]></title><description><![CDATA[Direct Answer: The aiFetchly lifecycle hooks subsystem provides developers with deterministic, in-process runtime governance over AI tool calling. By…]]></description><link>https://aifetchly-app.hashnode.dev/inside-ai-hooks-intercepting-gating-tool-calls-in-aifetchly</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/inside-ai-hooks-intercepting-gating-tool-calls-in-aifetchly</guid><category><![CDATA[Local LLM]]></category><category><![CDATA[AI]]></category><category><![CDATA[automation]]></category><category><![CDATA[desktop apps]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Mon, 26 Oct 2026 15:28:42 GMT</pubDate><content:encoded><![CDATA[<h1>Inside AI Hooks: Intercepting &amp; Gating Tool Calls in aiFetchly</h1>
<blockquote>
<p><strong>Direct Answer:</strong> The aiFetchly lifecycle hooks subsystem provides developers with deterministic, in-process runtime governance over AI tool calling. By intercepting tool execution at PreToolUse and PostToolUse events, custom command hooks can inspect JSON payloads via standard I/O, apply wildcard tool matchers, rewrite sensitive arguments, and block dangerous operations before local OS execution.</p>
</blockquote>
<p><img src="https://hedgedoc.envs.net/uploads/815c98d5-f0cb-47d9-92e7-5cfc0cd578da.jpg" alt="AI Agent Lifecycle Hook Interception and Gating in aiFetchly" /></p>
<p>In 2026, autonomous tool calling has become the backbone of developer productivity. Yet, granting language models unconstrained execution access introduces severe operational hazards: models can hallucinate destructive shell commands, query unauthorized database tables, or leak private credentials in outbound web scraping payloads. While cloud guardrail middleboxes exist, they add hundreds of milliseconds of latency and lack local system context.</p>
<p>The <a href="https://www.aifetchly.com">aiFetchly desktop platform</a> solves this architectural challenge with native <strong>Lifecycle Hooks</strong>. Operating directly at the inter-process boundary between the AI assistant and its tools, hooks provide programmatic, zero-latency governance.</p>
<p><img src="https://hedgedoc.envs.net/uploads/b1e67f84-6c3c-44c4-9c75-7f596ecf66bb.jpg" alt="aiFetchly Lifecycle Hook Execution Pipeline" /></p>
<h3>1. The Core Lifecycle Events</h3>
<p>As detailed in the <a href="https://docs.aifetchly.com/docs/settings/hooks">Hooks configuration manual</a>, aiFetchly establishes explicit hook trigger points across the agent execution loop:</p>
<ul>
<li><strong>PreToolUse:</strong> Fires immediately before a requested tool executes. This is the primary security gatekeeper: a hook can allow the execution, rewrite arguments on the fly, or drop the call entirely (<code>block</code>).</li>
<li><strong>PostToolUse:</strong> Executes after successful tool completion. While it cannot un-run an action, it can rewrite output payloads or inject follow-up instructions into the model’s context window.</li>
<li><strong>PostToolUseFailure:</strong> Fires when an underlying tool throws an unhandled exception, enabling automatic fallback injection or self-healing instructions.</li>
</ul>
<h3>2. Standard I/O Command Hooks</h3>
<p>aiFetchly avoids bloated runtime dependencies by communicating with user hooks over standard input and standard output (<code>stdin</code>/<code>stdout</code> JSON):</p>
<ol>
<li><strong>Event Dispatch:</strong> When the model invokes a tool, aiFetchly serializes event metadata (tool name, arguments, conversation ID) into a JSON object sent to your command via <code>stdin</code>.</li>
<li><strong>Deterministic Processing:</strong> Your script (written in Python, Node.js, or Go) parses the payload, applies security logic, and returns a JSON decision block:</li>
</ol>
<pre><code class="language-json">{
  "decision": "rewrite",
  "modified_arguments": {
    "query": "SELECT id, email FROM users WHERE active = 1"
  }
}
</code></pre>
<ol start="3">
<li><strong>Action Enforcement:</strong> aiFetchly applies the decision instantly. If your script outputs <code>"decision": "block"</code>, the tool never executes, and the model receives a clean explanatory refusal.</li>
</ol>
<h3>3. Wildcard Tool Matchers</h3>
<p>Developers target specific subsystems using flexible glob matchers:</p>
<ul>
<li><code>*</code>: Universal interceptor across all tools.</li>
<li><code>shell_execute</code>: Strict single-tool isolation for terminal command filtering.</li>
<li><code>scrape_*</code>: Catch-all pattern for web scrapers to enforce rate limits and domain allowlists.</li>
</ul>
<h3>4. Local SQLite Audit Telemetry</h3>
<p>Every hook trigger, argument modification, and block event is recorded in local SQLite audit tables. Developers inspect raw JSON input/output traces locally, providing complete visibility into automated agent actions.</p>
<p>By combining deterministic event interception with language-agnostic command scripts, aiFetchly ensures AI tool calling remains safe and compliant.</p>
<hr />
<p><em>aiFetchly is a local-first desktop AI business agent (free to download). Home: <a href="https://www.aifetchly.com">aifetchly.com</a> · Hooks docs: <a href="https://docs.aifetchly.com/docs/settings/hooks">docs.aifetchly.com/docs/settings/hooks</a></em></p>
]]></content:encoded></item><item><title><![CDATA[Step-by-Step: Packaging Custom AI Skills for aiFetchly]]></title><description><![CDATA[Direct Answer: Power users can extend aiFetchly by packaging modular Python or JavaScript AI Skills inside standard ZIP archives containing a validated…]]></description><link>https://aifetchly-app.hashnode.dev/step-by-step-packaging-custom-ai-skills-for-aifetchly</link><guid isPermaLink="true">https://aifetchly-app.hashnode.dev/step-by-step-packaging-custom-ai-skills-for-aifetchly</guid><category><![CDATA[AI]]></category><category><![CDATA[Python]]></category><category><![CDATA[JavaScript]]></category><category><![CDATA[automation]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[aiFetchly]]></dc:creator><pubDate>Mon, 12 Oct 2026 15:42:13 GMT</pubDate><content:encoded><![CDATA[<blockquote>
<p><strong>Direct Answer:</strong> Power users can extend aiFetchly by packaging modular Python or JavaScript AI Skills inside standard ZIP archives containing a validated manifest.json. This step-by-step guide walks through defining input schemas, implementing entry point logic, declaring permission tiers (pure, network, filesystem, automation), and importing skills into aiFetchly for governed conversational execution.</p>
</blockquote>
<p>In 2026, automation power users require customized tools tailored to proprietary local databases, internal CLI binaries, and domain-specific APIs. While web chatbots restrict users to pre-packaged vendor plugins, desktop AI engines unlock direct host machine extensibility.</p>
<p>The <a href="https://www.aifetchly.com">aiFetchly desktop application</a> introduces a modular extension engine called <strong>AI Skills</strong>. Skills are portable, lightweight bundles that allow the desktop assistant to autonomously execute specialized tasks under strict human supervision.</p>
<p>Here is a step-by-step tutorial on building, packaging, and importing your own custom AI Skill into aiFetchly.</p>
<h3>Step 1: Author the <code>manifest.json</code> Specification</h3>
<p>Every AI Skill requires a root <code>manifest.json</code> that defines its metadata, runtime, and parameter types. Create a new directory and draft your manifest:</p>
<pre><code class="language-json">{
  "name": "csv-sales-analyzer",
  "version": "1.0.0",
  "description": "Parses local sales CSV files and extracts quarterly revenue totals.",
  "runtime": "python",
  "entry": "main.py",
  "parameters": {
    "type": "object",
    "properties": {
      "file_path": { "type": "string", "description": "Absolute path to CSV file" }
    },
    "required": ["file_path"]
  },
  "permissions": ["filesystem"]
}
</code></pre>
<p>As detailed in the <a href="https://docs.aifetchly.com/docs/ai-outreach/ai-skills">AI Skills documentation</a>, the first entry in <code>permissions</code> establishes the skill’s security tier (<code>pure</code>, <code>network</code>, <code>filesystem</code>, or <code>automation</code>).</p>
<h3>Step 2: Implement the Entry Logic</h3>
<p>Write your executable script matching your chosen runtime (<code>runtime: "python"</code> or <code>runtime: "javascript"</code>):</p>
<ul>
<li><strong>Input Parsing:</strong> aiFetchly passes invocation parameters to your entry script as command-line arguments or via standard input.</li>
<li><strong>Structured Output:</strong> Print the resulting data to standard output. The AI assistant ingests this output directly into its conversational context window to formulate its response.</li>
</ul>
<h3>Step 3: Bundle into a <code>.zip</code> Archive</h3>
<p>When packaging your skill, compress the <strong>contents</strong> of the folder directly, rather than the parent directory itself:</p>
<ol>
<li>Ensure <code>manifest.json</code> and your entry file (<code>main.py</code> or <code>index.js</code>) reside at the archive root.</li>
<li>Include any local dependencies or helper scripts within the package.</li>
<li>Save the resulting archive as <code>csv-sales-analyzer.zip</code>.</li>
</ol>
<p><em>Tip for Advanced Users:</em> You can also drop unzipped skill folders directly into your local discovery directory at<code> ~/.aifetchly/skills/&lt;skill-name&gt;/</code>.</p>
<h3>Step 4: Import and Configure Approval Policies</h3>
<ol>
<li>In aiFetchly, navigate to <strong>System Settings</strong> → <strong>Manage Skills</strong>.</li>
<li>Click <strong>Import</strong> (upload icon) in the upper-right corner and select your <code>.zip</code> archive.</li>
<li>aiFetchly validates the schema, verifies declared permissions, and registers the skill in your active catalog.</li>
<li>When testing the tool inside AI Chat, the assistant displays an interactive approval card: select <strong>Allow Once</strong> for single runs or <strong>Always Allow</strong> to authorize subsequent invocations.</li>
</ol>
<p>By authoring custom AI Skills, power users turn repetitive desktop data processing into secure, autonomous conversational workflows.</p>
]]></content:encoded></item></channel></rss>