技能潮 SkillTide 提交收录
官方说明开源项目8 天前
koraytaylan/fsm

koraytaylan/fsm

Deterministic hierarchical statechart engine with a tamper-evident journal and exact decimal arithmetic
在 GitHub 查看 ↗直链 · 无中转页
官方说明Deterministic hierarchical statechart engine with a tamper-evident journal and exact decimal arithmetic. Zero dependencies. Usable as a Rust library, a CLI, or an MCP server for LLM-driven workflows.
★ 数取值
0 ★ · koraytaylan/fsm · 取自该仓库的 GitHub 页面 · (2026-10-16 20:00:20 核对)
来源明细
从该仓库的 GitHub 页面直接读取 · 条目类型:开源项目
收录与活跃
收录于 2026-10-09 · 最近见到 2026-10-16 · 共见到 12 次 · 被 1 个来源列出
评分构成
综合分 103 · 1 个来源 · repo
常见问题(答案都来自我们的记录)
怎么安装?
我们【没有】从该仓库取到安装命令(我们的 install 覆盖率只有约 4%)。请看它的 README 或 releases 页。
它适合谁 / 用来做什么?
我们把它归在这些标签下: 开源项目。标签来自条目自身,不是我们强加的分类。
谁维护它、还在更新吗?
仓库 koraytaylan/fsm;我们收录于 2026-10-09;最近见到 2026-10-16。这里没有"官方认证"或"质量评级"——我们只记录来源与时间。
第三方质量标记

fsm

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

fsm is a deterministic, auditable statechart engine that gives LLMs a workflow substrate: the model translates intent into machines, the engine guarantees the semantics — one event, one transition, a tamper-evident journal, and errors that teach the fix.
60-second demo
Running it unattended
The 60-second demo advances the workflow by hand. fsm execute does it for
you: it watches the outbox, runs an operator-configured table of handlers, and
acks each outcome into the journal, so a workflow triggered in a chat proceeds
gate to gate with nobody watching. Install the operator's supplier handler at
/usr/local/bin/notify-supplier and provision native execution as described in
EMBEDDING.md. Check the complete machine
contract before starting the executor; repair invalid findings and check again.
A second transport, for when more than one client needs the same store:
One process serves every client and holds the writer, so two clients share a
store instead of fighting over it. **The HTTP transport has no TLS and binds
loopback by default**; exposing it to a network is a deployment decision that
means putting it behind a reverse proxy that terminates TLS. See
docs/EMBEDDING.md.
A handler may also be another **MCP server**, which the executor talks to over
its stdio and calls one tool on — so an effect can reach the ecosystem this
engine belongs to rather than only the commands on one host. Handlers retry on
a deterministic backoff, run under a concurrency cap, and leave a dead-letter
report behind when they give up.
The pairing is the point: only the executor writes, and a model on
fsm serve --read-only subscribes to fsm://instance/{id} and is notified
when that instance advances, rather than polling to find out. See
docs/EMBEDDING.md for the handler-table
format and the three run modes.
To author and execute through one MCP connection, start
fsm serve --execute --handlers . Read fsm://executor to discover
its configured effects, required arguments, and outcome events. Call the
read-only executor_check tool with {"spec": }, repair its findings,
check again, then call machine_create and trigger an instance. Its
fsm.executor-check/1 report distinguishes structural compatibility from
runtime progress; unavailable contract evidence is unknown. Explicit
manual_effects keeps operator-owned work pending for manual acknowledgement.
Every start is checked again against current state and the loaded table.
Embedded
stdio execution progresses while stdin stays open, including when quiet;
instance_get, ping, and subscriptions observe that progress. The executor
resource publishes fsm.executor/2 with progress: "autonomous" on supported
Linux production stdio and HTTP. HTTP execution continues through DELETE,
disconnects and zero sessions until the shared host stops; stdio EOF requests
supervised shutdown. Borrowed helpers retain their legacy request-driven contract.
Install
Embedding it
fsm is four crates. Depend on the one you need — the CLI binary is not a
library:
| Crate | Use it for |
|---|---|
| fsm-core | the pure engine: parse, compile, analyse, step, and poll caller-timed deadlines. No I/O, no clock. |
| fsm-store | the durable journal-backed store, if you want ours rather than yours. |
| fsm-execute | the effect executor loop, if you are hosting it yourself rather than running fsm execute. |
| fsm-cli | the fsm binary and MCP server. Not a supported library dependency. |
Replace with an exact annotated tag from the repository's
Releases page; never substitute a branch.
See docs/EMBEDDING.md for the library loop, the Store
来源
github · https://github.com/koraytaylan/fsm
按领域浏览
开源项目
收录于
昨天

更多开源项目

查看开源项目全部 731 条 →

所属领域与标签

每个标签都能点进去看同类的全部条目。数字是当前库里的真实条数。

浏览全部领域 →

← 返回索引