AS

aleksandrgradoboev-svg/bismarck-engine

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

0 stars 0 forks 品質 64 トレンド 20MIT

Agent engine of Bismarck: a Go port of pi (earendil-works/pi) — unified LLM API, agent loop, coding tools, MCP, codemode and tool_search — embedded as a library, no Node.js runtime.

概要

The agent engine of : a Go implementation of pi (Mario Zechner, MIT) — pi's unified LLM API, agent loop and coding agent, with pi's extensions for MCP and agents — embedded as a library, with no Node.js runtime. - The code started on 2026-10-15 from sky-valley/pi, a Go port of pi (MIT), at commit 1067024e7cce0028602e638bbf6676c6d2883cda (pi 0.99.2, pi source 5806068c2); its copyright stands in LICENSE. The history up to v0.1.0 is squashed into one commit; docs/UPSTREAM.md records the base and the sync ledger. - This is an independent project, not a fork. New pi commits are ported here directly; the sky-valley port is a reference while it is maintained, never a dependency. - Scope tracked from pi: agent (pi-agent-core), ai (core and the OpenAI-compatible provider), coding (sessions, tools, compaction), and pi's extensions for MCP and agents. - pi removed its server, client and protocol packages on 2026-10-12 (7472cda0); the Go versions here no longer have an upstream.

README

以下は原文 README の抜粋です。原文を見る。

bismarck-engine

The agent engine of Bismarck: a Go implementation of pi (Mario Zechner, MIT) — pi’s unified LLM API, agent loop and coding agent, with pi’s extensions for MCP and agents — embedded as a library, with no Node.js runtime.

Why

  • An agent inside your Go program. One go get, no Node.js process beside it, no external workflow server: the agent loop, the providers, the coding tools and MCP are packages you import.
  • Agents that survive a restart (durable, experimental). Conversations, tasks and tool calls are committed to memory, JSONL or SQLite storage (no cgo); after a crash the harness resumes where it stopped. A tool interrupted mid-call is retried only if it is marked safe to replay, and otherwise reported as “interrupted and may have partially run” — the engine does not guess.
  • MCP and code mode. MCP servers from a shared mcp.json, and a QuickJS sandbox in which the model writes JavaScript that calls the tools.
  • pi as the reference. Behaviour follows pi commit by commit, differences are written down, and every test of a new mechanism is checked by turning the mechanism off (see CONTRIBUTING.md).

Contributions, test runs on your platform and bug reports are welcome — start with CONTRIBUTING.md or an issue labelled good first issue.

Origin

  • The code started on 2026-10-15 from sky-valley/pi, a Go port of pi (MIT), at commit 1067024e7cce0028602e638bbf6676c6d2883cda (pi 0.99.2, pi source 5806068c2); its copyright stands in LICENSE. The history up to v0.1.0 is squashed into one commit; docs/UPSTREAM.md records the base and the sync ledger.
  • This is an independent project, not a fork. The source of changes is pi itself. New pi commits are ported here directly; the sky-valley port is a reference while it is maintained, never a dependency.
  • Scope tracked from pi: agent (pi-agent-core), ai (core and the OpenAI-compatible provider), coding (sessions, tools, compaction), and pi’s extensions for MCP and agents.
  • pi removed its server, client and protocol packages on 2026-10-12 (7472cda0); the Go versions here no longer have an upstream.
  • Each sync is planned in docs/sync-.md; commits that port pi say so: port(area): … (upstream ).

Layout

Package Mirrors (pi) What it is
ai @earendil-works/pi-ai Unified LLM API: message/content/tool/model types, the channel-based EventStream, JSON-Schema tool validation, model catalog and cost, provider registry.
ai/providers pi-ai providers Providers over net/http SSE: faux (deterministic test double), Anthropic Messages, OpenAI Chat Completions, OpenAI Responses, Google Gemini.
GitHub で README 全文を見る

インストール

This server does not publish a one-line install command.

Open the repository installation guide MCP 初心者?mcpskill.org のガイドから始めましょう →