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 分

    請在儲存庫或註冊中心條目中宣告授權條款。