{"slug": "show-hn-felan-an-open-source-coding-agent-focused-on-efficiency", "title": "Show HN: Felan – an open source coding agent focused on efficiency", "summary": "Felan, an open-source coding agent focused on efficiency, reports a 36.6% reduction in API costs across six controlled comparisons, with individual cost reductions ranging from 5.2% to 66.0% while maintaining quality. The agent, which supports Node.js 22.19.0 or newer, combines model routing, progressive context, and compact tool output to minimize token usage without sacrificing task success.", "body_md": "**Get the job done. Waste less.**\n\n  An open-source, model-portable coding agent built for cost-efficient,\n  verifiable software work.\n\nFelan is built around one rule: an optimization only counts when the task still succeeds. It combines model routing, progressive context, compact tool output, explicit task state, and estimated API-equivalent savings for supported optimizations.\n\n**Correctness first. Efficiency by design.**\n\nImportant\n\nThe local agent runs with your user's filesystem and process permissions. It is a host application, not a sandbox. Use an isolated host for untrusted projects or commands.\n\nAcross six controlled, extension-specific comparisons, candidate\nconfigurations used `$13.7132` versus `$21.6297` for their baselines when\nsumming median-reduced case costs—a **36.6% reduction**. Individual results\nranged from 5.2% to 66.0%. Each extension was measured separately against its\ndisabled baseline, not as one all-enabled configuration. Every candidate met\nits configured quality gate.\n\n| Extension | Quality vs baseline | Cost vs baseline | Secondary result | \n|---|---|---|---|\n| [Subagents](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/subagents/results.html) | 100% | **23.7% lower** | — | \n| [MarkItDown](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/markitdown-cost/results.html) | 100% | **31.0% lower** | 13.8% fewer prompt tokens | \n| [Concise output](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/output-style-concise/results.html) | 100% | **14.5% lower** | 16.4% fewer output tokens | \n| [Prewalk](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/prewalk/results.html) | 100% | **66.0% lower** | — | \n| [RTK](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/rtk/results.html) | 83.3% | **26.6% lower** | 40.6% fewer prompt tokens | \n| [Codebase Memory](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/benchmarks/codebase-memory/results.html) | 100% | **5.2% lower** | 3.0% shorter agent-step duration | \n\n[View the methodology, cases, and full benchmark results](https://felan-ai.github.io/harness-bench/results/2026-09-felan-extensions/)\n\nFelan supports Node.js 22.19.0 or newer. Run the published package without a global installation:\n\n```\nnpx @felan-ai/felan\n```\n\nOr install the `felan` command:\n\n```\nnpm install --global @felan-ai/felan\nfelan\n```\n\nConnect a provider inside the TUI with `/login`, then start working:\n\n```\nfelan \"inspect this project and explain how to run its tests\"\nfelan --continue\nfelan savings\nfelan --diagnostics\nfelan update\n```\n\nInitial messages start the interactive TUI by default. Use `--mode text` for a\none-shot final response or `--mode json` for Pi-compatible JSONL session events.\nBoth modes support `--continue` and exact `--provider`, `--model`, and\n`--thinking` selection. A verified global npm installation also supports the finite\n`felan update` command. See [Getting started](/felan-ai/felan/blob/main/docs/getting-started.md) for\nfirst-run setup and [Local CLI](/felan-ai/felan/blob/main/docs/user-guide/local-cli.md) for all accepted\ncommands, flags, and local state.\n\nFelan treats correctness as the constraint and cost as the optimization target. Fewer tokens can support that goal, but they are not the outcome: a cheaper run that fails is not an efficiency win.\n\n| Boundary | What Felan does | \n|---|---|\n| **Model routing** | Prewalk can start a task with a stronger planner and continue the same conversation trajectory on a configured implementation model. | \n| **Context control** | Progressive nested instructions, scoped subagents, lazy MCP discovery, and bounded research keep context focused on the current work. | \n| **Tool output** | RTK-backed command rewriting and post-tool compaction reduce noisy model input while preserving failures, complete JSON, and recoverable output. | \n| **Explicit state** | Dependency-aware tasks, structured questions, retained subagent records, and local project memory keep decisions and progress inspectable. | \n| **Measurement** | `/savings` ,`felan savings` , and the Powerline footer report estimated API-equivalent cost avoided by supported optimizations. | \n\nFelan is developed against **cost per verified task**, not token count alone.\nThe public [harness-bench](https://github.com/felan-ai/harness-bench) project\nholds the task, starting repository, verifier, timeout, and environment\nequivalent when comparing configurations. Correctness is primary; cost, token\nusage, and latency are supporting measurements. Read\n[Efficient execution and savings](/felan-ai/felan/blob/main/docs/concepts/efficient-execution.md) for the\nmeasurement boundaries and claim limits.\n\n`@felan-ai/felan` is the account-free local terminal agent. The Felan cloud\nplatform at [felan.ai](https://felan.ai) and\n[app.felan.ai](https://app.felan.ai) composes the same portable core and\nextensions as a managed host. Each host owns the boundaries that cannot be\nportable:\n\n| Local Felan | Felan cloud platform | \n|---|---|\n| Runs on your machine from `@felan-ai/felan` | Runs as managed background agents | \n| Uses provider-owned local credentials; no Felan account required | Adds tenant/team workflows, integrations, visibility, and guardrails | \n| Stores sessions and project memory under the local agent directory | Provides host-managed storage, credentials, and integrations | \n| Applies a fixed source-controlled built-in and resource policy | Chooses the managed host's policy and integrations | \n\nRead [Architecture](/felan-ai/felan/blob/main/docs/concepts/architecture.md) for the ownership boundary\nand [Local memory architecture](/felan-ai/felan/blob/main/docs/concepts/local-memory.md) for the local\nversus host-managed memory lifecycle.\n\n| Workflow | What Felan adds | \n|---|---|\n| **Delegate and inspect** | Tracked asynchronous subagents with bounded nesting, live transcripts, steering, continuation, cancellation, and completion notices. | \n| **Plan and hand off** | A shared task graph with prerequisites, ownership, acceptance criteria, ready/blocked views, verified results, and same-session Prewalk model routing. | \n| **Ask instead of guessing** | Searchable one-question and one-to-four-question wizards with multi-select, freeform answers, comments, and timeout handling. | \n| **Load context where it applies** | Cwd instructions plus progressive nested `AGENTS.md` /`CLAUDE.md` discovery and explicit Agent Skills. | \n| **Remember locally** | An account-free, project-scoped Markdown wiki with bounded evidence ingestion, validation, citations, and retryable host-owned publication. | \n| **Retrieve web evidence** | Provider-backed URL discovery, bounded matching text/PDF passages, and explicit SSRF-untrusted remote content boundaries. | \n| **Connect external tools carefully** | A lazy OAuth-only remote MCP gateway, explicit credential ownership, and bounded untrusted remote results. | \n| **Use the right model tools** | GPT-specific structured command/patch/image tools, detached Background Bash for other providers, and RTK-backed command/output optimization. | \n| **Inspect efficiency** | Session, project, and retained local estimates through `/savings` ,`felan savings` , and the default Powerline footer. | \n| **Keep the TUI readable** | Grouped tool activity, full-call inspection, agent/task/process overlays, and an ANSI-aware Powerline footer. | \n\nThe [extension catalog](/felan-ai/felan/blob/main/docs/reference/extension-catalog.md) maps each workflow\nto its package, host boundary, commands, and runtime conditions.\n\nFelan keeps the local host narrow in some places on purpose:\n\n- only source-controlled built-in extensions are loaded;\n- ambient Pi packages, extensions, prompts, themes, project settings, and package resources are filtered;\n- model credentials and MCP OAuth tokens belong to the local host;\n- web, document, browser, MCP, memory, and model-facing remote content are bounded and treated as untrusted; and\n- missing binary dependencies degrade safely and require explicit interactive installation or disablement.\n\nThese controls do not sandbox ordinary shell or filesystem operations. Read the\n[runtime and security guide](/felan-ai/felan/blob/main/docs/concepts/runtime-and-security.md) before\nusing Felan with sensitive repositories.\n\n**Felan wraps [Pi](https://github.com/earendil-works/pi); it does not fork Pi.**\nPinned Pi packages provide the model, session, extension, and TUI primitives;\nFelan owns the host contracts, feature behavior, policy, storage, and\npresentation around them.\n\nBehavior stays in its owning layer: `apps/tui` owns local policy, storage, and\npresentation; `ext-*` packages own portable feature behavior; and Agent Core\nowns adapter-neutral runtime contracts and base composition.\n\nThe [documentation hub](/felan-ai/felan/blob/main/docs/README.md) routes readers by audience:\n\n| Package | Purpose | Documentation | \n|---|---|---|\n| [`@felan-ai/felan`](/felan-ai/felan/blob/main/apps/tui/README.md) | Cost-efficient, model-portable local coding agent and `felan` binary | [Local CLI](/felan-ai/felan/blob/main/docs/user-guide/local-cli.md) | \n| [`@felan-ai/agent-core`](/felan-ai/felan/blob/main/packages/agent-core/README.md) | Portable runtime contracts, prompt, tools, model tiers, and Pi composition | [Architecture](/felan-ai/felan/blob/main/docs/concepts/architecture.md) | \n| [`@felan-ai/ext-subagents`](/felan-ai/felan/blob/main/packages/ext-subagents/README.md) | Tracked asynchronous subagent protocol | [Agents and tasks](/felan-ai/felan/blob/main/docs/user-guide/agents-tasks-and-prewalk.md) | \n| [`@felan-ai/ext-tasks`](/felan-ai/felan/blob/main/packages/ext-tasks/README.md) | Dependency-aware root-session task graph | [Agents and tasks](/felan-ai/felan/blob/main/docs/user-guide/agents-tasks-and-prewalk.md) | \n| [`@felan-ai/ext-prewalk`](/felan-ai/felan/blob/main/packages/ext-prewalk/README.md) | Same-session planner-to-implementation handoff | [Agents and tasks](/felan-ai/felan/blob/main/docs/user-guide/agents-tasks-and-prewalk.md) | \n| [`@felan-ai/ext-ask-user`](/felan-ai/felan/blob/main/packages/ext-ask-user/README.md) | Structured one-to-four-question input | [Commands](/felan-ai/felan/blob/main/docs/user-guide/commands-and-shortcuts.md) | \n| [`@felan-ai/ext-context`](/felan-ai/felan/blob/main/packages/ext-context/README.md) | Progressive nested project context | [Context and memory](/felan-ai/felan/blob/main/docs/user-guide/context-and-memory.md) | \n| [`@felan-ai/ext-context-view`](/felan-ai/felan/blob/main/packages/ext-context-view/README.md) | Estimated context-window usage inspector | [Context and memory](/felan-ai/felan/blob/main/docs/user-guide/context-and-memory.md) | \n| [`@felan-ai/ext-insights`](/felan-ai/felan/blob/main/packages/ext-insights/README.md) | Local session analytics reports | [Commands](/felan-ai/felan/blob/main/docs/user-guide/commands-and-shortcuts.md) | \n| [`@felan-ai/ext-prompt-history`](/felan-ai/felan/blob/main/packages/ext-prompt-history/README.md) | TUI prompt-history picker | [Commands](/felan-ai/felan/blob/main/docs/user-guide/commands-and-shortcuts.md) | \n| [`@felan-ai/ext-memory`](/felan-ai/felan/blob/main/packages/ext-memory/README.md) | Portable local-first memory contracts | [Memory architecture](/felan-ai/felan/blob/main/docs/concepts/local-memory.md) | \n| [`@felan-ai/ext-output-style`](/felan-ai/felan/blob/main/packages/ext-output-style/README.md) | Validated concise, explanatory, and custom response instructions | [Configuration](/felan-ai/felan/blob/main/docs/user-guide/configuration.md#output-style) | \n| [`@felan-ai/ext-web-access`](/felan-ai/felan/blob/main/packages/ext-web-access/README.md) | Bounded web discovery and matching text/PDF passages | [Web access](/felan-ai/felan/blob/main/docs/user-guide/web-mcp-and-browser.md) | \n| [`@felan-ai/ext-mcp`](/felan-ai/felan/blob/main/packages/ext-mcp/README.md) | Portable OAuth-only remote MCP gateway | [MCP](/felan-ai/felan/blob/main/docs/user-guide/web-mcp-and-browser.md) | \n| [`@felan-ai/ext-felan-api`](/felan-ai/felan/blob/main/packages/ext-felan-api/README.md) | Single authenticated Felan API gateway | [Configuration](/felan-ai/felan/blob/main/docs/user-guide/configuration.md#felan-api) | \n| [`@felan-ai/ext-browser`](/felan-ai/felan/blob/main/packages/ext-browser/README.md) | Reviewed `agent-browser` CLI integration | [Browser](/felan-ai/felan/blob/main/docs/user-guide/web-mcp-and-browser.md) | \n| [`@felan-ai/ext-markitdown`](/felan-ai/felan/blob/main/packages/ext-markitdown/README.md) | Bounded office-document conversion | [Documents](/felan-ai/felan/blob/main/docs/user-guide/web-mcp-and-browser.md) | \n| [`@felan-ai/ext-background-bash`](/felan-ai/felan/blob/main/packages/ext-background-bash/README.md) | Detached Bash processes and logs | [Commands](/felan-ai/felan/blob/main/docs/user-guide/commands-and-shortcuts.md) | \n| [`@felan-ai/ext-codex`](/felan-ai/felan/blob/main/packages/ext-codex/README.md) | GPT-specific structured tools and request controls | [Configuration](/felan-ai/felan/blob/main/docs/user-guide/configuration.md) | \n| [`@felan-ai/ext-rtk-optimizer`](/felan-ai/felan/blob/main/packages/ext-rtk-optimizer/README.md) | RTK command rewriting and output compaction | [Runtime dependencies](/felan-ai/felan/blob/main/docs/reference/runtime-dependencies.md) | \n| [`@felan-ai/ext-codebase-memory`](/felan-ai/felan/blob/main/packages/ext-codebase-memory/README.md) | Structural code search, symbol reads, and bounded grep augmentation | [Runtime dependencies](/felan-ai/felan/blob/main/docs/reference/runtime-dependencies.md) | \n| [`@felan-ai/ext-powerline`](/felan-ai/felan/blob/main/packages/ext-powerline/README.md) | ANSI-aware local TUI footer | [Local CLI](/felan-ai/felan/blob/main/docs/user-guide/local-cli.md) | \n| [`@felan-ai/ext-session-title`](/felan-ai/felan/blob/main/packages/ext-session-title/README.md) | Automatic first-prompt session names | [Local CLI](/felan-ai/felan/blob/main/docs/user-guide/local-cli.md) | \n\nRepository development and CI use Node.js 22.20.0 and pnpm 9.15.5:\n\n```\ngit clone https://github.com/felan-ai/felan.git\ncd felan\ncorepack enable\npnpm install --frozen-lockfile\npnpm build\nnode apps/tui/dist/cli.js\n```\n\nRun the complete build, type-check, test, license, packaging, and packed installation suite with:\n\n```\npnpm verify\n```\n\nTo review the Felan Pi themes in a browser, run `pnpm theme:preview` and open\n`http://127.0.0.1:4173`. Use `pnpm theme:preview:check` for a no-write\nvalidation or `pnpm theme:preview:build` to generate the ignored local artifact\nat `.artifacts/theme-preview/index.html`. The preview is a visual review aid;\nthe Pi TUI remains the runtime source of truth.\n\nSee [Contributing](/felan-ai/felan/blob/main/CONTRIBUTING.md) and the\n[maintainer architecture map](/felan-ai/felan/blob/main/docs/maintainers/architecture-map.md) before\nchanging a shared runtime or public package.\n\n[Join the Felan Discord community](https://discord.gg/skNd4GSzZ) to connect with\nusers and contributors.\n\nFelan is licensed under the [MIT License](/felan-ai/felan/blob/main/LICENSE). See [NOTICE](/felan-ai/felan/blob/main/NOTICE) for\nthird-party attribution and immutable upstream review details.", "url": "https://wpnews.pro/news/show-hn-felan-an-open-source-coding-agent-focused-on-efficiency", "canonical_source": "https://github.com/felan-ai/felan", "published_at": "2026-09-08 18:31:59+00:00", "updated_at": "2026-09-08 18:49:06.387013+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools"], "entities": ["Felan", "Node.js"], "alternates": {"html": "https://wpnews.pro/news/show-hn-felan-an-open-source-coding-agent-focused-on-efficiency", "markdown": "https://wpnews.pro/news/show-hn-felan-an-open-source-coding-agent-focused-on-efficiency.md", "text": "https://wpnews.pro/news/show-hn-felan-an-open-source-coding-agent-focused-on-efficiency.txt", "jsonld": "https://wpnews.pro/news/show-hn-felan-an-open-source-coding-agent-focused-on-efficiency.jsonld"}}