Generated banner for Semiont
Generated logo for Semiont

Semiont

Memory frameworkOfficial The AI Alliance project

Created by The AI Alliance

Published in The-AI-Alliance/semiont. Publisher page

93 GitHub stars

What it is

Semiont - Semantic Knowledge Platform
— the description by The AI Alliance

AutoGineer overview, from the brain’s own files

Semiont is a semantic knowledge platform designed to transform documents into a shared knowledge base for both human analysts and AI agents. It functions by pinning information to the specific passages from which it originated, ensuring that claims are traceable and context-aware. When users or agents query the system, Semiont retrieves relevant documents, similar passages, and existing annotations. The platform supports a collaborative workflow where AI tasks—such as drafting or annotating—are treated as tracked jobs that can be executed by various workers. Every interaction is recorded, maintaining a clear audit trail of who requested a task, who performed it, and the evidence supporting each claim. Semiont provides a comprehensive SDK across multiple programming languages, allowing developers to build custom applications, scripts, or agents that interact directly with the knowledge base.

How it works

Memory model: JSON files

AutoGineer overview, from the brain’s own files

Semiont operates as a knowledge platform where documents are ingested and stored. It uses an actor-based model to manage tasks and knowledge. The system organizes content into a knowledge base, which can be accessed via a browser for human interaction or through an SDK for AI agents. It uses specific skills to handle operations like ingesting, relating, tagging, and assessing content. All information is anchored to source text, and the platform maintains a record of all agent-driven work.

Folders
FolderRoleFiles
.githubagent-config102
docsdocs86
imagesattachments560
packagessource-code3618
appsfolder135
protocolfolder898
websitefolder6

Requirements

Runtimes: Node.js >=24.15.0

Set it up

  1. Not scanned by AutoGineerThe author’s README also describes installing it with Homebrew (the author’s own tap). Read its install section: AutoGineer did not scan that path. https://github.com/The-AI-Alliance/semiont/blob/eec6687c18574d9f3613543caa57ac45abe95661/README.md#quick-start
  2. Created by The AI Alliance. Published in The-AI-Alliance/semiont. Licence: Apache License 2.0.

Usage

AutoGineer overview, from the brain’s own files

  • Annotating documents with AI-assisted insights
  • Linking related passages across a document collection
  • Tracking the provenance of AI-generated claims
  • Building custom AI agents using the multi-language SDK
  • Managing collaborative knowledge workflows between humans and agents
“Find all documents related to the current passage and summarize the existing annotations.”
The agent retrieves the linked documents, identifies similar passages, and provides a summary of all notes and assessments associated with that specific text.
“Draft an assessment for this document section.”
The task is registered as a tracked job, assigned to a worker, and the resulting assessment is saved and linked to the original document passage.

Documentation by The AI Alliance

Semiont

Image: CI

Semiont turns your documents into a knowledge base that people and AI agents build together, with everything it knows pinned to the passage it came from. Ask about a passage, and it gathers what to read with it: the documents it connects to, similar passages, and what has been noted about them. Hand it AI work, such as annotating or drafting, and the work becomes a tracked job that any worker can take, yours included. What comes back is on the record: who asked, who did the work, and what each claim rests on.

Your AI agent can do all of this through the SDK, in any of its languages, to explore on the spot or to build an application that lasts. Semiont is open source and can run entirely on your own machines.

Image: The Semiont browser: a document with its references highlighted, and a panel of assessments beside it

Quick Start

brew install the-ai-alliance/semiont/semiont

Then follow the Quick Start: create a knowledge base, start it, sign in, annotate your first document, and work in it from an AI application.

Documentation

  • Analyst: work in a knowledge base, annotating, linking, and reviewing what agents propose. A demo knowledge base comes with content to start on.

  • Operator: run a knowledge base, for yourself or for others.

  • Builder: build an application, a script or an agent on the SDK, in TypeScript, Rust, Python, Go, Kotlin or Java, and customize annotation and generation, down to a worker running your own logic or model.

  • Contributor: change Semiont itself.

📜 License

Apache 2.0 - See LICENSE for details.

512 files · 493 not served here

Advantages

  • Ensures all knowledge is pinned to the specific passage it originated from, providing clear evidence for claims. evidence: README.md
  • Provides a multi-language SDK for building applications, scripts, or agents that can interact with the knowledge base. evidence: README.md

Limitations

  • Requires installation and management of a knowledge base stack, which may involve complex configuration for some users. evidence: docs/README.md

Security

Risk level: Low risk

This brain runs

Agent instructions that run or fetch something (29)

  • docs/builder/skills/semiont-aggregate/SKILL.md: **An aggregate is a dated snapshot.** A new run writes a new resource;
  • docs/builder/skills/semiont-assess/SKILL.md: To watch progress as well, call `.run(onEvent)`.
  • docs/builder/skills/semiont-assess/SKILL.md: const done = await semiont.mark.delegate(rId, { motivation: 'assessing', density: 4, tone: 'critical' }).run((event) => {
  • docs/builder/skills/semiont-assess/SKILL.md: **Assessments feed aggregates.** To roll every flagged risk in a matter into one checklist or report, assess first and then run [`semiont-aggregate`](../semiont-aggregate/SKILL.md).
  • docs/builder/skills/semiont-comment/SKILL.md: To watch progress as well, call `.run(onEvent)`.
  • docs/builder/skills/semiont-comment/SKILL.md: const done = await semiont.mark.delegate(rId, { motivation: 'commenting', density: 5 }).run((event) => {
  • docs/builder/skills/semiont-highlight/SKILL.md: To watch progress as well, call `.run(onEvent)`.
  • docs/builder/skills/semiont-highlight/SKILL.md: const done = await semiont.mark.delegate(rId, { motivation: 'highlighting', density: 5 }).run((event) => {
  • docs/builder/skills/semiont-ingest/SKILL.md: An access token is short-lived (five minutes from the Keycloak a launcher stack runs) and an ingest can run longer, so use a session, not a bare client.
  • docs/builder/skills/semiont-ingest/SKILL.md: Run it from the knowledge base's root.
  • docs/builder/skills/semiont-local/SKILL.md: Check with `container --version`, `docker --version` or `podman --version`.
  • docs/builder/skills/semiont-local/SKILL.md: brew install the-ai-alliance/semiont/semiont
  • docs/builder/skills/semiont-local/SKILL.md: Open **http://localhost:3000**: the Browser lists the knowledge bases the launcher runs, and signing in happens at the knowledge base's identity provider. · uses the network
  • docs/builder/skills/semiont-local/SKILL.md: To run a knowledge base that already exists, clone it and run `semiont start` from inside it.
  • docs/builder/skills/semiont-local/SKILL.md: Run each from the knowledge base's directory.
  • docs/builder/skills/semiont-local/SKILL.md: its data stays | | `semiont start --service gateway` | Restart one service | | `semiont start --dry-run` | Print what a start would run, and run nothing | | `semiont clean` | Delete the stack's stores;
  • docs/builder/skills/semiont-relate/SKILL.md: Run [`semiont-wiki`](../semiont-wiki/SKILL.md) on it first.
  • docs/builder/skills/semiont-relate/SKILL.md: **Run after the nodes exist.** A relationship joins two resources.
  • docs/builder/skills/semiont-relate/SKILL.md: Run [`semiont-wiki`](../semiont-wiki/SKILL.md) first, so the passage's mentions are bound to them.
  • docs/builder/skills/semiont-session/SKILL.md: The other skills sign in the same way and run to completion.
  • docs/builder/skills/semiont-session/SKILL.md: A person who has run `semiont login` has a sign-in kept already: `new SignInStore(signInFiles).entry(stackKey)` is where, and `fromKept` opens a session over it with nothing to approve.
  • docs/builder/skills/semiont-tag/SKILL.md: Write it as a `TagSchema` in the knowledge base's own source, register it, then run the job.
  • docs/builder/skills/semiont-wiki/SKILL.md: Steps 3 to 5 run once for each unbound reference.
  • docs/builder/skills/semiont-wiki/SKILL.md: **To run on many resources**, loop over `(await semiont.browse.resources().fresh()).resources` and call the pipeline for each.
  • docs/builder/skills/semiont-wiki/SKILL.md: **Progress.** To watch a job as it runs, call `.run(onEvent)` on the returned delegation instead of awaiting it.
  • docs/builder/skills/semiont-worker/SKILL.md: Each job must run once, however many workers are up.
  • docs/builder/skills/semiont-worker/SKILL.md: `job.fail` says whether the queue will run the job again (`willRetry`), from the retry budget on the record the worker claimed.
  • docs/builder/skills/semiont-worker/SKILL.md: What it does with a text and with a model's reply is written rule by rule in [WORKER-SERVICE.md](../../../../protocol/contract/WORKER-SERVICE.md), and the parts a table can state exactly are case tables in [`protocol/specs/src/worker`](../../../../protocol/specs/src/worker/), which a wo …[+50 chars]
  • docs/builder/skills/semiont-worker/SKILL.md: Each is a program its SDK's tests compile and run, so do not translate one into another by hand: the names differ where the languages do.

Binaries (105)

  • packages/kotlin/sdk/gradle/wrapper/gradle-wrapper.jar: ships native binaries
  • packages/ocaml/sdk/dune.lock/alcotest.1.9.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ambient-context-eio.0.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ambient-context.0.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/angstrom.0.16.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/asn1-combinators.0.3.3.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/astring.0.8.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/base-domains.base.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/base-threads.base.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/base-unix.base.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/base.v0.17.3.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/base64.3.5.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/bigstringaf.0.10.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/bisect_ppx_ng.3.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/camlp-streams.5.0.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/cmdliner.2.1.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/cohttp-eio.6.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/cohttp.6.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/compiler-cloning.enabled.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/conf-gmp-powm-sec.4.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/conf-gmp.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/conf-pkg-config.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/csexp.1.5.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/cstruct.6.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/decimal.1.0.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/digestif.1.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/domain-local-await.1.0.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/domain-name.0.5.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/dune-build-info.3.24.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/dune-configurator.3.24.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/duration.0.3.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/eio.1.6.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/eio_linux.1.6.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/eio_main.1.6.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/eio_posix.1.6.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/either.1.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/eqaf.0.10.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/fix.20250919.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/fmt.0.11.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/fpath.0.7.3.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/gmap.0.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/hmap.0.8.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/http.6.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/iomux.0.4.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ipaddr.5.6.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/kdf.1.1.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/logs.0.10.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/lwt-dllist.1.1.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/macaddr.5.6.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/menhir.20260209.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/menhirCST.20260209.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/menhirGLR.20260209.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/menhirLib.20260209.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/menhirSdk.20260209.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/mirage-crypto-ec.2.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/mirage-crypto-pk.2.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/mirage-crypto-rng.2.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/mirage-crypto.2.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/mtime.2.2.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml-base-compiler.5.5.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml-compiler-libs.v0.17.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml-compiler.5.5.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml-syntax-shims.1.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml-version.4.1.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml.5.5.2.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocaml_intrinsics_kernel.v0.17.3.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocamlbuild.0.16.1+dune.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocamlfind.1.9.8+dune.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocamlformat-lib.0.29.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocamlformat.0.29.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ocp-indent.1.10.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ohex.0.2.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/opentelemetry.0.92.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/optint.0.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ounit2.2.2.7.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/pbrt.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/pbrt_yojson.4.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ppx_derivers.1.2.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ppx_sexp_conv.v0.17.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ppxlib.0.39.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ppxlib_jane.v0.17.4.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/psq.0.2.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/ptime.1.2.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/qcheck-core.0.91.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/qcheck-ounit.0.91.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/qcheck.0.91.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/re.1.14.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/seq.base.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/sexplib0.v0.17.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/stdio.v0.17.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/stdlib-shims.0.3.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/stringext.1.6.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/thread-table.1.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/tls-eio.2.1.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/tls.2.1.5.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/topkg.1.1.1.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uri-sexp.4.4.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uri.4.4.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uring.2.15.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uucp.18.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uuseg.18.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/uutf.1.0.4.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/x509.1.2.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/yojson.3.0.0.pkg: ships native binaries
  • packages/ocaml/sdk/dune.lock/zarith.1.14.pkg: ships native binaries
  • Low risk: scripts-present (images/scripts/build-images.js)
  • Low risk: scripts-present (images/scripts/container-utils.js)
  • Low risk: scripts-present (packages/codegen/bus/delivery.mjs)
  • Low risk: scripts-present (packages/codegen/bus/generate-go.mjs)
  • Low risk: scripts-present (packages/codegen/bus/reply-names.mjs)
  • Low risk: scripts-present (packages/codegen/bus/stored-event.mjs)
  • Low risk: scripts-present (packages/codegen/bus/validate-registry.mjs)
  • Low risk: scripts-present (packages/codegen/lib/committed-source.mjs)
  • Low risk: scripts-present (packages/codegen/lib/go-source.mjs)
  • Low risk: scripts-present (packages/codegen/lib/ocaml-source.mjs)
  • Low risk: scripts-present (packages/codegen/lib/python-source.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-bus.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-client-timing.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-enums.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-records.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-selectors.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-shapes.mjs)
  • Low risk: scripts-present (packages/codegen/ocaml/generate-support.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/cache-refresh-table.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/client-timing-table.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/error-codes-table.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-annotation-adapters-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-archivist-waits-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-cache-persistence-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-cache-refresh-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-cache-refresh-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-client-timing-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-client-timing-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-encodings-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-encodings-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-error-codes-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-error-codes-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-identifiers-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-media-types-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-media-types-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-oauth-clients-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-oauth-clients-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-operation-reports-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-required-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-required-lists-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-required-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-sdk-telemetry-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-sdk-telemetry-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-session-adapters-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-sign-in-go.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-sign-in-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-state-adapters-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-stored-python.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-testing-adapters-haskell.mjs)
  • Low risk: scripts-present (packages/codegen/schemas/generate-text-haskell.mjs)

Attribution and licence

Created by
The AI Alliance
Publisher
The AI Alliance (Official The AI Alliance project)
Source
The-AI-Alliance/semiont · commit eec6687
Licence
Apache License 2.0 (files served here)
  • ATTRIBUTION.md (written by AutoGineer)
Synced

AutoGineer is not affiliated with or endorsed by The AI Alliance.

Install from source

493 of its files are not served here, so there is no ZIP. The-AI-Alliance/semiont at eec6687