Agence

io.github.l-agence由 GitHub 账号 l-agence 发布v1.0.0更新于 Oct 24, 2026

AI governance MCP server — policy enforcement, skills, memory, multi-LLM consensus

概览

AI 生成的概览

Agence 是面向 AI 编码代理的本地治理层:对 shell 命令分级拦截、记录防篡改审计账本,并在多个代理与大模型之间路由任务。

可以做什么
  • 把 shell 命令按层级分类并拦截,从自动执行到直接阻止,未知命令默认需人工批准
  • 将代理决策写入仅追加、Merkle 链式、HMAC 签名的账本,并可校验其完整性
  • 把请求路由到已注册的代理与工具,包括 Claude Code、Aider 和 Copilot,并可覆盖所用模型
  • 在多个独立大模型之间做同行共识,并保存、恢复或移交会话
  • 管理共享与私有知识,并提供基于隔离工作树和 tmux 面板的集群编排
适用场景
当多个 AI 编码代理在同一代码库中工作时,希望用一套失败即关闭的策略统一约束、留下操作审计记录,并集中路由和审阅它们的产出,就值得加入。若只需要代码补全或单个结对编程助手,则用处不大。
运行要求
作为本地进程在用户机器上运行,仅支持桌面端。需要 bash 4+、git 2.30+、Bun 1.3+,可选 tmux 与 jq;Windows 用户需使用 WSL。环境变量 AGENCE_ROOT 指向安装根目录,通过 npm 安装时会自动检测。代理与共识功能需要大模型服务商的凭据。
安装前请注意
该服务器位于代理与文件系统之间,可执行或拦截 shell 命令,因此策略配置很关键。它会在本地保存会话、账本条目和私有笔记;共享知识会提交到 git,私有知识则被 gitignore。共识与代理路由会把提示发送给第三方大模型服务商;README 注明采用 MIT 加 Commons Clause 许可。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Agence,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

l'Agence — Agentic Engineering Co-Environments

Author: Stephane Korning · 2026 · MIT + Commons Clause
Version: v1.0.0 · May 2026

The governance layer for AI coding agents.
Every agent action classified, gated, and cryptographically logged — regardless of which LLM or tool runs it.


The Problem

Your AI coding agents can write code. They can commit, push, delete, refactor.

But who's watching them?

Claude Code has no audit trail. Aider trusts the user. Codex sandboxes everything and hopes for the best. LangChain gives you building blocks but no guardrails.

Agence exists because advisory guardrails aren't guardrails at all. It's the layer that sits between any AI agent and your filesystem and says "not without approval."


What Agence Does

Agence is an agent-agnostic governance stack for software engineering. It doesn't replace your coding agent — it governs, orchestrates, and audits all of them from a single control plane.

Command Gating — Every shell command is classified before execution:

TierGateExample
T0Auto-executegit status, ls, cat
T1Loggedgit add, git commit
T2Human approval requiredgit push, git reset
T3Blockedrm -rf, chmod 777, kill

Unknown commands default to T2. Not T0. Fail-closed. The guard runs as a separate process — agents cannot bypass their own policy.

Cryptographic Audit — Every agent decision is logged to a Merkle-chained, append-only ledger. Each entry links to the previous via SHA-256. Tamper with one entry and the chain breaks. Verify with: agence ^ledger verify.

Multi-Agent Orchestration — 18 agents across 4 types (persona, tool, loop, ensemble). Route with @agent syntax. Override models with dot-notation: @ralph.gpt4o. Dispatch to Aider, Claude Code, Copilot, or your own tools — all governed by the same policy.

Peer Consensus — Route any question to 3 independent LLMs and get weighted consensus. Your architecture review shouldn't depend on one model's blind spots.

Session Persistence — Save, resume, and hand off sessions between agents. Full context survives restarts. Automatic tmux capture of stdout/stdin/stderr — no 16KB buffer limits.

Git-Native — No database. No server. State lives in git worktrees and flat files. Knowledge is sharded, gated, and selectively routed — you decide what gets shared.


By the Numbers

30,701Lines of production code (23.9K TypeScript + 6.8K bash)
751Tests with 1,768 assertions across 21 files
279Security-specific tests (guard + hardening + SEC regressions)
9Red-team cycles completed (SEC-008 through SEC-019)
33+Orchestration skills (^fix, ^review, ^hack, ^peers, ^vault...)
18Registered agents (10 persona, 5 tool, 1 loop, 2 ensemble)
12LLM providers (Anthropic, OpenAI, Azure, Google, Mistral, Groq, Ollama...)
10MCP tools + 3 MCP resources (Model Context Protocol server)
3Dependencies total (MCP SDK, Bun, Zod)
0Databases required

Who This Is For

  • Teams using multiple AI coding agents who need one policy governing all of them
  • Enterprises requiring audit trails for AI-generated code changes
  • Security-conscious developers who want fail-closed gating, not fail-open trust
  • Anyone who's had an AI agent break something and wished there was a layer between the agent and rm -rf

Who This Is NOT For

  • If you want an AI pair programmer → use Aider
  • If you want IDE autocomplete → use Continue or Copilot
  • If you want to build any kind of agent → use LangChain/LangGraph
  • If you want cloud-hosted async tasks → use OpenAI Codex

Agence governs all of the above.


GitHub Action — Agence Guard

[GitHub Marketplace]

Gate AI agent commands in any CI workflow — one step, zero infrastructure:

yaml
- name: Gate AI command  id: guard  uses: l-agence/agence@v1  with:    command: 'git push origin main'   # command proposed by your AI agent    agent: ci    fail_on_block: 'true'             # fail if T3-blocked
- run: echo "Tier ${{ steps.guard.outputs.tier }} — ${{ steps.guard.outputs.reason }}"
InputDescriptionDefault
commandShell command to classifyrequired
policyPath to custom AIPOLICY.yaml (repo-relative)bundled policy
agentAgent identity for MLS capability checksci
fail_on_blockExit 1 on T3 (deny)true
fail_on_escalateExit 1 on T2 (requires approval)false
OutputValues
tierT0 · T1 · T2 · T3
actionallow · flag · escalate · deny
reasonHuman-readable decision
ruleMatched policy rule

See docs/marketplace/description.md for full documentation.

This PR starts with the GitHub Action path first for fast per-repo adoption; the GitHub App listing and webhook server can follow in a later phase or separate PR for org-level rollout across many repositories.

For enterprise adoption, the next layer after the GitHub App is shard onboarding so orgs can separate teams, policies, and knowledge boundaries cleanly instead of forcing one shared shard model.


Install

As a git submodule (recommended)

bash
git submodule add https://github.com/l-agence/agence .agencegit submodule update --init --recursivebash .agence/bin/agence ^initexport PATH="$PWD/.agence/bin:$PATH"

Or: clone directly

bash
git clone https://github.com/l-agence/agence .agencecd .agence && bun install./bin/agence ^initexport PATH="$PWD/.agence/bin:$PATH"

Prerequisites

ToolRequiredInstall
bash 4+YesBuilt-in on Linux/macOS/WSL
git 2.30+Yessudo apt install git
bun 1.3+Yesbun.sh
tmuxFor swarmsudo apt install tmux
jqFor ledger queriessudo apt install jq

Windows: Use WSL (Ubuntu recommended).


Quick Start

bash
# Chat with an agentagence "How should I structure this feature?"
# Route to a specific agentagence @sonya "Review this auth module"
# Launch an agent shellagence !ralph                    # Persona: autonomous iterationagence !claude                   # Tool: Claude Code CLIagence !aider                    # Tool: aider (code patches)
# Save session (resume later or hand off to another agent)agence ^save "OAuth2: done token validation, next: refresh flow"agence ^resumeagence ^handoff @sonya
# Audit trailagence ^ledger verify            # Verify Merkle chain integrityagence ^audit trail              # View full decision history
# Peer consensus (3 independent LLMs)agence @peers "Should we use Redis or Postgres for session storage?"
# See all commandsagence --help

Architecture

YOUR REPO/└── .agence/                     ← lives here (submodule or clone)    ├── bin/                     # CLI: agence, aibash, ibash, aido, agentd    ├── codex/                   # Governance: AIPOLICY.yaml, Laws, Principles, agents/    ├── nexus/                   # Local state: .ailedger, sessions, faults (gitignored)    ├── knowledge/               # Team knowledge: docs, lessons, plans (committed)    │   └── private/             # Private knowledge (gitignored, never shared)    ├── organic/                 # Swarm coordination: tasks, jobs, workflows    └── lib/                     # Core: guard.ts, signal.ts, skill.ts, memory.ts, peers.ts

COGNOS — Four pillars:

PillarPurposeLocation
CODEXImmutable governance — Laws, Principles, Rules, AIPOLICYcodex/
KNOWLEDGETeam-shared docs, lessons, plans — selectively routed via @ symlinksknowledge/
NEXUSLocal operational state — sessions, ledger, signalsnexus/ (gitignored)
ORGANICSwarm orchestration — tasks, workflows, matrix schedulingorganic/

Runtime: Bun + bash. No Python. No pip. No npm install of untrusted packages in the critical path.

MCP: Agence exposes itself as an MCP server (10 tools, 3 resources) so any MCP-compatible client can use agence's governance layer. Agence also acts as an MCP client — consuming tools from external MCP servers. See MCP.md for integration guide.


Command Reference

PrefixModeExampleUse When
(none)Chatagence "explain this error"Advice, explanation, Q&A
^Knowledgeagence ^save, agence ^lessonShared state, knowledge ops
~Privateagence ~note "idea"Private notes (never committed)
+Autonomousagence +refactor-authAgent plans & executes a task
/Validatedagence /git-statusPre-approved safe commands
!Systemagence !ralph, agence !claudeLaunch agents or tools
@Routeagence @sonya "review this"Send to specific agent

Agent Roster

AgentTypeBest For
@ralphLoopAutonomous iteration with backpressure
@sonyaPersonaArchitecture, code review
@claudiaPersonaDeep reasoning, critical decisions
@chadPersonaDevOps, infra, CI/CD
@alephPersonaRed team, security analysis
@claudeToolClaude Code CLI (headless spawn)
@aiderToolCode patches, git diffs
@pilotToolGitHub Copilot CLI
@peersEnsemble3-LLM weighted consensus
@pairEnsemble2-LLM lightweight consensus

Override models with dot-notation: @ralph.gpt4o, @sonya.opus, @ralph.aider


Governance

Agence uses a 5-tier command policy. The guard runs as a separate process — agents cannot bypass their own policy.

TierGateExample
T0Auto-executegit status, ls, cat
T1Loggedgit add, git commit
T2Human approvalgit push, git reset
T3Blockedrm -rf, chmod 777
T4NeverForce push main, drop DB

Unknown commands default to T2. Fail-closed. 120+ rules across git, GitHub CLI, AWS, Terraform, and shell.

All decisions logged to nexus/.ailedger — append-only, Merkle-chained, HMAC-signed.

See SECURITY.md for full security architecture, red-team findings, and disclosure timeline.


Swarm (agentd)

bash
agentd start ralph claude aider   # Launch 3 agents in tmuxagentd tangent create fix-auth    # Isolated worktree + containeragentd inject fix-auth "run tests"  # Send command via socat socketagentd status                     # View all agents + tangents

Each tangent gets: isolated git worktree, optional Docker container (--cap-drop ALL, --read-only, --no-new-privileges), socat socket for IPC, tmux pane for observability.


Tests

bash
bun test                          # Full suite

751 tests, 1,768 assertions, 0 failures across 21 files:

SuiteTestsCoverage
guard.test.ts132Command gate, tier escalation, eval safety
security-hardening.test.ts134HMAC, signal forgery, injection prevention, SEC-010→019 regressions
memory.test.ts62COGNOS 3-store: retain/recall/cache/forget/promote/distill
peers-dispatch.test.ts53Peer consensus, mixed routing
queue.test.ts42Work queue, dashboard, GitHub Issues bridge
runs.test.ts35SWE run lifecycle, aggregation, outcomes
vault.test.ts20Hermetic vault init/sync/push/pull + SEC-019 security
setup.test.ts10Interactive wizard, escaping, validation
mcp-client.test.ts10MCP client guard-gating, env sanitization
mcp.test.ts10MCP tool/resource surface verification
sequent.test.ts12Tournament tangents, CLI dispatch

Documentation

DocWhat it covers
ArchitectureEnd-to-end system design
Swarmagentd, tangents, tmux model
CommandsComplete CLI reference
SecurityTCB, red-team findings, disclosure timeline
TutorialGetting started walkthrough
SetupDetailed installation guide

License

MIT + Commons Clause — free to use, modify, and self-host.
Commercial redistribution requires a separate agreement.
See LICENSE.md.


Built by Stephane Korning. Hardened by 5 red-team cycles. Governed by its own CODEX.

来源:README.md,提交 11a9bd8

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.0最新Sep 16, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。