Artel

io.github.NicolasPrimeau由 GitHub 帳號 NicolasPrimeau 發布v0.17.1更新於 Nov 2, 2026

Self-hosted shared-memory & coordination mesh for AI agent fleets. You host it; agents connect.

已驗證Streamable HTTP可網頁執行效率與工作流知識與記憶AI 與機器學習

概覽

AI 產生的概覽

自架的共享記憶與協作伺服器,讓多個 AI 代理把經驗寫一次,並在需要時自動取回。

可以做什麼
  • 寫入並檢索跨代理共享的筆記,依語意(向量嵌入)而非關鍵字查找
  • 自動把代理工作階段擷取為筆記,並排入佇列等待背景整理
  • 把技能編譯成分步流程執行,保留僅可追加的決策紀錄,並把關於程式碼的筆記釘選到原始碼
  • 以 CRDT 形式在多台機器間同步筆記,並訂閱外部 RSS/Atom 來源
  • 在網頁儀表板中瀏覽、搜尋並觀察整個代理機隊
適用情境
適合多個代理或工作階段在同一程式碼庫或專案上工作、反覆遇到相同問題時,也適合希望跨工作階段、跨機器保持延續性且不把筆記交給第三方雲端的使用者。
執行需求
需要一個自行部署的 Artel 執行個體(一個容器、一個連接埠)並可從設定的主機存取,沒有公開執行個體。MCP 端點需要 X-Agent-Id 與 X-Api-Key 標頭,須先在该執行個體註冊代理取得。伺服器端設定透過環境變數完成,例如 AGENT_KEYS、UI_PASSWORD,以及可選的 ANTHROPIC_API_KEY(供 archivist 使用)。
安裝前請注意
伺服器在 X-Api-Key 標頭中保存代理 API 金鑰,應視為機密,並盡量把代理限定到特定專案。筆記、工作階段擷取與決策會寫入共享儲存,執行個體上的其他代理可見。若設定了 archivist 金鑰,擷取的工作階段會傳送給該模型供應商進行整理。儀表板由 UI_PASSWORD 保護,開放註冊應透過 REGISTRATION_KEY 加以控制。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Artel,將其新增到工作區。
  2. 連接 Custom headers 憑證。它們會被私密儲存,絕不會在公開頁面上展示。
  3. 為需要使用其工具的對話啟用該服務。

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

Artel

[CI] [License: MIT] [Glama] [Smithery] [Docs]

Your fleet's smart notepad. One that learns.

One pad that you and every agent you run write into. Whatever any of you figures out is written down once and handed back the moment it matters: the gotcha about this file right before you edit it, where you stopped on Friday, the thing another agent already learned the hard way. Nothing to file, nothing to tag, nothing to look up. A normal notepad waits to be opened; this one speaks up, in one line, and stays quiet when it has nothing worth saying, which is most of the time.

It also doesn't just accumulate. A background archivist works the pile while you're gone, so the pad gets sharper the more the fleet uses it. What one session learns at 3am, the rest know by morning; nobody solves the same thing twice.

You run it on your own machine. None of it goes to anyone's cloud.

What that looks like

An agent is about to…Artel sayswho wrote it
edit auth.py"the token refresh silently no-ops when the clock skews"a different agent, last month
start work Monday"Friday you stopped mid-migration; here's where"you, before the weekend
debug a flaky test"seen in March: it was the shared fixture, not the test"an agent on another machine
ask a questionthe one note that answers it, or nothing at allwhoever hit it first

Nobody opened a file to find any of that, and nobody had to know who to ask.


Quick start

There is no public instance to point at. This is your notepad, so you run it. One container, one port:

bash
curl -O https://raw.githubusercontent.com/NicolasPrimeau/artel/master/docker-compose.ymlcurl -O https://raw.githubusercontent.com/NicolasPrimeau/artel/master/.env.examplecp .env.example .env# edit .env: set UI_PASSWORD, and a key for the archivist if you want one# (ANTHROPIC_API_KEY, or OPENROUTER_API_KEY with ARCHIVIST_PROVIDER=openrouter)docker compose up -d

API + UI at http://<host>:8000, MCP at http://<host>:8000/mcp. Images at ghcr.io/nicolasprimeau/artel:edge.

Once running, register an agent:

bash
curl -fsSL http://<host>:8000/onboard | sh

mDNS note: the mdns service uses network_mode: host and only works on Linux. Remove it on Mac/Windows Docker Desktop.


Under the hood

A server, a database, and a librarian. Notes go in over HTTP or MCP, embeddings make them findable by meaning rather than keyword, and everything below the queue happens without an agent asking for it.

  you · Claude Code · opencode · Claude API · AutoGen        │   push: notes/skills/gotchas in  ┄  capture: sessions out        ▼   REST / MCP ──► Artel Server ──► SQLite (WAL) + embeddings                     ├── notes: semantic search · confidence decay · knowledge graph                     ├── captures queue ──► archivist compaction ──► notes                     ├── procedures · decisions · session handoffs                     └── archivist: capture · synthesis · merge · decay · promote        │   mesh (CRDT feeds + mDNS) ◄──► your other machines

What's inside

Each of these has a page in the docs; this is the map.

The pluginThe half that speaks up. One line when a note is close to what the agent is doing, silence otherwise. Agents never have to call anything.
CaptureSessions become notes on their own, spooled in ~10 ms so writing never slows an agent down.
ArchivistThe part that learns: merges duplicates, resolves contradictions, decays what stopped being true, promotes what held up.
Compile modeNotes about code pinned to the code, so they re-derive instead of rotting.
ProceduresA written skill compiled into steps. The server checks each against the repository and the agent is handed the next one when the last is really done.
DecisionsAppend-only record of what you chose and why. Never merged, never decayed.
Mesh and feedsSeveral machines converging as CRDTs, plus RSS/Atom subscriptions from the outside world.
DashboardBrowse, search, and watch the fleet from a browser.

Five kinds of note, with different lifespans: memory (fades if it stops being true), doc (settled reference), directive (standing instruction, never fades), skill (how to do a thing), compiled (pinned to source).

Any agent that speaks HTTP or MCP joins: Claude Code, OpenCode, Zed, a raw httpx script. See connecting clients.


REST API

All requests require X-Agent-ID and X-API-Key headers (except /agents/self-register and /onboard).

Full REST reference → covers every endpoint, generated from the OpenAPI schema. MCP tool reference → lists all 47 tools an agent can call.

A running server also serves interactive docs at /docs and the raw schema at openapi.json.


Configuration

Configured entirely through environment variables (or a .env file). The essentials:

VariableDescription
AGENT_KEYSagent-id:api-key pairs, comma-separated. Optional :proj1;proj2 suffix scopes an agent to projects.
UI_PASSWORDPassword for the dashboard.
ANTHROPIC_API_KEYEnables the archivist. Without it, Artel runs in passive mode.
REGISTRATION_KEYRequired by /agents/self-register. Unset disables open registration.
PUBLIC_URLExternally reachable base URL, used in OAuth metadata and onboarding.

Full configuration reference → covers all 56 settings across the server, MCP adapter, and archivist, generated from the settings classes.


Development

bash
uv sync --devuv run pytest tests/ -v

License

MIT. See LICENSE.md.

來源:README.md,提交 4361a67

工具

0
該伺服器需要 API 金鑰等憑證,因此 SourceWeft 無法在沒有憑證的情況下讀取其工具,也未收錄。

版本歷史

1
  1. v0.17.1最新Sep 16, 2026

評分

已滿足適用檢查項的 60%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通必需25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式必需10 分
  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分