{"id":45869930,"url":"https://github.com/signet-ai/signetai","last_synced_at":"2026-08-06T06:00:48.371Z","repository":{"id":339102949,"uuid":"1155093426","full_name":"Signet-AI/signetai","owner":"Signet-AI","description":"Local-first identity, memory, and secrets for AI agents. Portable state across models and harnesses.","archived":false,"fork":false,"pushed_at":"2026-07-30T23:27:57.000Z","size":84450,"stargazers_count":227,"open_issues_count":33,"forks_count":39,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-07-31T00:13:25.444Z","etag":null,"topics":["agent-identity","agent-infrastructure","agent-memory","agent-orchestration","agent-state","ai-agents","ai-memory","bun","claude-code","developer-tools","llm","local-first","mcp","multi-agent","openclaw","opencode","self-hosted","sovereign-ai","sqlite","typescript"],"latest_commit_sha":null,"homepage":"https://signetai.sh","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Signet-AI.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":"NOTICE","maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null,"disclosure":null}},"created_at":"2026-02-11T05:38:32.000Z","updated_at":"2026-07-30T23:27:59.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Signet-AI/signetai","commit_stats":null,"previous_names":["signet-ai/signetai"],"tags_count":753,"template":false,"template_full_name":null,"purl":"pkg:github/Signet-AI/signetai","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signet-AI%2Fsignetai","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signet-AI%2Fsignetai/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signet-AI%2Fsignetai/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signet-AI%2Fsignetai/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Signet-AI","download_url":"https://codeload.github.com/Signet-AI/signetai/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Signet-AI%2Fsignetai/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36329710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agent-identity","agent-infrastructure","agent-memory","agent-orchestration","agent-state","ai-agents","ai-memory","bun","claude-code","developer-tools","llm","local-first","mcp","multi-agent","openclaw","opencode","self-hosted","sovereign-ai","sqlite","typescript"],"created_at":"2026-02-27T09:48:53.088Z","updated_at":"2026-08-06T06:00:48.357Z","avatar_url":"https://github.com/Signet-AI.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpicture\u003e\n  \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"public/Signet-Logo-White.png\"\u003e\n  \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"public/Signet-Logo-Black.png\"\u003e\n  \u003cimg src=\"public/Signet-Logo-Black.png\" alt=\"Signet\" width=\"120\"\u003e\n\u003c/picture\u003e\n\n# Signet AI\n\n**Own your agent. Bring it anywhere.**\n\n\u003ca href=\"https://github.com/Signet-AI/signetai/releases\"\u003e\u003cimg src=\"https://img.shields.io/github/v/release/Signet-AI/signetai?include_prereleases\u0026style=for-the-badge\" alt=\"GitHub release\"\u003e\u003c/a\u003e\n\u003ca href=\"https://www.npmjs.com/package/signetai\"\u003e\u003cimg src=\"https://img.shields.io/npm/v/signetai?style=for-the-badge\" alt=\"npm\"\u003e\u003c/a\u003e\n\u003ca href=\"LICENSE\"\u003e\u003cimg src=\"https://img.shields.io/badge/License-Apache%202.0-blue.svg?style=for-the-badge\" alt=\"Apache-2.0 License\"\u003e\u003c/a\u003e\n\u003ca href=\"./docs/BENCHMARKING.md#current-longmemeval-score\"\u003e\u003cimg src=\"https://img.shields.io/badge/LongMemEval-97.6%25-black?style=for-the-badge\" alt=\"LongMemEval 97.6% answer accuracy\"\u003e\u003c/a\u003e\n\n**97.6% average LongMemEval answer accuracy**\u003cbr /\u003e\nLocal-first context · source-backed recall · repairable memory · portable across agents\n\n[Quick start](#quick-start-about-5-minutes) · [Why Signet](#why-signet) · [Benchmarks](./docs/BENCHMARKING.md) · [Docs](https://signetai.sh/docs) · [Discord](https://discord.gg/Psdeg7sQm7)\n\n\u003c/div\u003e\n\n---\n\nModels change. Providers change. Harnesses change. The context provided to each should not.\n\nSignet is a local-first memory and context layer for AI agents. It syncs memories, identity files, session transcripts and secrets between all of your favorite harnesses and models.\n\n## Why Signet\n\n| Claim | Why it matters |\n|---|---|\n| Local-first custody | SQLite, readable workspace files, transcripts, source records, memories, optional identity files, and encrypted secrets live where you control them |\n| Source-backed recall | Every useful memory can point back to where it came from |\n| Repairable memory | Inspect, edit, supersede, delete, reclassify, and scope bad context |\n| Portable across agents | One layer works across Claude Code, Codex, OpenCode, OpenClaw, Gemini CLI, Pi, OMP, Hermes Agent, MCP, SDKs, and apps |\n| Team deployment primitives | Signet includes scoped agents, visibility, auth policy, retention controls, secrets storage, and audit-friendly APIs |\n| Proven recall | Signet scores a 97.6% average on LongMemEval, it is one of the only local-first SOTA memory systems in the world. |\n\nAgent memory has never been about just recall quality. Signet is designed for **scale**, it tracks where context lives, where it came from, who can see it, and how/when it can be forgotten, all in a living ontology on your device.\n\n## Quick start (about 5 minutes)\n\n```bash\ncurl -fsSL https://signetai.sh/install.sh | bash\nsignet setup                         # interactive setup wizard\nsignet setup --identity-mode off     # memory + secrets without Signet-managed identity\nsignet status                        # confirm daemon + pipeline health\nsignet dashboard                     # open memory + retrieval inspector\n```\n\nIf you already use Claude Code, OpenCode, OpenClaw, Codex, Gemini CLI,\nPi, Oh My Pi, or Hermes Agent, keep your existing harness. Signet installs\nunder it.\n\n## Proof in one repair loop\n\nRun this once:\n\n```bash\nsignet remember \"Project Atlas deploys only after QA signs off\" \\\n  --tags project-atlas --who user\nsignet recall \"Project Atlas deploy policy\" --tags project-atlas --json\n```\n\nThen open the dashboard:\n\n```bash\nsignet dashboard\n```\n\nThis is the smallest proof, but it shows the product shape: the memory is\nlocal, queryable, tagged, visible in the dashboard, and repairable instead of\nbeing trapped behind a hosted recall response.\n\nIf recall returns a stale deployment policy, you can edit or delete the memory,\nrun the same recall again, and verify the agent is seeing corrected context\nbefore it acts.\n\nIn the dashboard, the record is not a black-box snippet:\n\n```text\nMemory: Project Atlas deploys only after QA signs off\nTags: project-atlas\nDashboard actions: edit · delete · mark pinned · similar\nDaemon lifecycle: modify · forget · recover\n```\n\n## How Signet is different\n\n| Alternative | Good for | Where Signet is different |\n|---|---|---|\n| Hosted memory APIs | Fast prototypes and managed memory | Signet keeps storage, provenance, ranking policy, repair, deletion, and self-hosting under your control |\n| Harness-specific plugins | Improving memory inside one agent shell | Signet runs underneath many harnesses, so context survives tool churn |\n| Vector/RAG memory | Searching notes and documents | Signet keeps transcripts, identity, source records, repair history, and scoped recall |\n| Lightweight local stores | Simple private persistence | Signet adds provenance, dashboard inspection, team policy, connectors, MCP, SDKs, and daemon APIs |\n\n| Stay hosted if... | Switch to Signet when... |\n|---|---|\n| You need the fastest managed API path | Memory has to live in infrastructure you control |\n| Recall quality is the only contract | Deletion, repair, provenance, and auditability are also part of the contract |\n| One app owns the memory surface | Multiple agents, harnesses, SDKs, MCP clients, or internal apps need the same context |\n| Vendor-managed ranking is acceptable | You need to inspect and tune recall policy around your own sources |\n| You cannot run a daemon or own backups yet | You need an exportable workspace you can inspect, back up, and move |\n\n## Operating tradeoff\n\nSignet is infrastructure, not a hosted shortcut. You run a local or self-hosted\ndaemon, choose an embedding provider, back up `$SIGNET_WORKSPACE/`, and connect\nyour harnesses through hooks, MCP, connectors, or SDKs.\n\nThe trade is deliberate: you operate the memory layer, and in return you can\ninspect, repair, scope, self-host, back up, and move the context your agents\ndepend on.\n\nFor a single-developer install, day two is usually `signet status`, a workspace\nbackup, and rerunning setup when you add or replace an agent harness.\n\n## Is Signet right for you?\n\nUse Signet if you want:\n- agents that remember across sessions without prompt bootstrapping\n- memory your team can inspect, repair, scope, and self-host\n- source-backed recall across private docs, repos, conversations, and artifacts\n- one memory layer across agent harnesses, MCP clients, SDKs, and custom apps\n\nSignet may be overkill if you only need short-lived chat memory inside a\nsingle hosted assistant or a simple vector search endpoint.\n\n## Harness support\n\nSignet is not trying to win by being another agent shell. It runs underneath\nthe tools people already use and gives them one owned memory layer.\n\n| Harness | Integration path | Notes |\n|---|---|---|\n| [Claude Code](https://docs.anthropic.com/en/docs/claude-code) | Hooks + MCP | Direct `/remember` and `/recall` skills |\n| [OpenCode](https://github.com/sst/opencode) | Plugin + hooks | Runtime plugin with lifecycle support |\n| [OpenClaw](https://github.com/openclaw/openclaw) | Runtime plugin | Flagship path; hooks available for legacy setups |\n| [Codex](https://github.com/openai/codex) | MCP + compatibility hooks | MCP-first integration; plugin bundle when available |\n| [Hermes Agent](https://github.com/NousResearch/hermes-agent) | Memory provider plugin | `memory_*`, `recall`, and `remember` tools |\n| [Pi](https://github.com/mariozechner/pi-coding-agent) | Extension + hooks | Memory commands and agent-callable tools |\n| Oh My Pi | Managed extension | Lifecycle recall injection through the managed extension |\n| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | MCP + GEMINI.md sync | On-demand tools plus identity sync |\n\n\n\u003e Don't see your favorite harness? file an [issue](https://github.com/Signet-AI/signetai/issues) and request that it be added!\n\n## Memory that holds up\n\nSignet's latest tracked MemoryBench run averages **97.6% LongMemEval answer\naccuracy** under the `rules` profile.\n\nThe benchmark matters because local custody should not mean weak recall.\nSignet is designed to retrieve the right facts across long-running,\nmulti-session conversations while keeping memory inspectable and repairable.\n\nThat profile keeps the benchmark contract strict: memories are ingested through\n`/api/memory/remember`, recalled through `/api/memory/recall`, and answered\nfrom bounded daemon recall results. Search does not call an LLM.\n\nSee [Benchmarks](./docs/BENCHMARKING.md#current-longmemeval-score) for the\nmethodology, scoring note, and run workflow.\n\n## Install (detailed)\n\n```bash\ncurl -fsSL https://signetai.sh/install.sh | bash\nnpm install -g signetai\nbun add -g signetai\nsignet setup               # interactive setup wizard\n```\n\ncurl, npm, and Bun all install the same compiled Signet binary. The npm and\nBun package-manager paths install the `signetai` wrapper plus a platform\nnative package tarball from the same GitHub release. Install scripts only link\nthe native binary into place; if scripts are disabled, the wrapper resolves the\nnative package directly. They do not install Bun, rebuild Signet, or install\ndaemon dependencies.\n\nChoose one installation method per machine. `signet update install` uses a\ndirect native install when it coexists with a package-manager wrapper, and\n`signet doctor` warns about the inactive wrapper. If a daemon is still running\nfrom another install, the native CLI rebinds it before starting or updating.\nDoctor's cleanup command removes only the duplicate launcher, not the package\nthat may also provide `signet-mcp`.\n\nPublished native binaries currently cover Linux x64, Linux arm64, macOS x64,\nmacOS arm64, and Windows x64. Windows direct installs should use\n`npm install -g signetai`; the old PowerShell `install.ps1` path has been\nremoved until a native Windows direct installer ships.\n\nThe wizard initializes `$SIGNET_WORKSPACE/`, configures your harnesses, sets up\nan embedding provider, creates the database, and starts the daemon.\n\n\u003e Path note: `$SIGNET_WORKSPACE` means your active Signet workspace path.\n\u003e Default is `~/.agents`, configurable via `signet workspace set \u003cpath\u003e`.\n\n### Tell your agent to install it\n\nPaste this to your AI agent:\n\n```\nInstall and fully configure Signet AI by following this guide exactly: https://signetai.sh/skill.md\n```\n\n### CLI use\n\n```bash\nsignet status              # check daemon health\nsignet dashboard           # open the web UI\n\nsignet remember \"prefers bun over npm\"\nsignet recall \"coding preferences\"\n```\n\n### Multi-agent\n\nMultiple named agents share one daemon and database. Each agent gets its\nown identity directory (`~/.agents/agents/\u003cname\u003e/`) and configurable\nmemory visibility:\n\n```bash\nsignet agent add alice --memory isolated   # alice sees only her own memories\nsignet agent add bob --memory shared       # bob sees all global memories\nsignet agent add ci --memory group --group eng  # ci sees memories from the eng group\n\nsignet agent list                          # roster + policies\nsignet remember \"deploy window is Fridays\" --agent alice --private\nsignet recall \"deploy window\" --agent alice  # scoped to alice's visible memories\nsignet agent info alice                    # identity files, policy, memory count\n```\n\nUse the secrets subsystem for credentials. Do not store tokens or keys as\nrecallable memories.\n\nOpenClaw users get zero-config routing — session keys like\n`agent:alice:discord:direct:u123` are parsed automatically; no\n`agentId` header needed.\n\nIn harnesses with command-style integrations, skills work directly:\n\n```text\n/remember critical: never commit secrets to git\n/recall release process\n```\n\n## How it works\n\nSignet separates memory into three layers:\n\n```text\nworkspace / transcripts\n  truth layer: raw files, identity docs, source records, session history\n\nsemantic memory\n  navigation layer: summaries, entities, decisions, constraints, relations\n\nquery layer\n  retrieval lens: FTS, vector search, graph traversal, scopes, provenance\n```\n\nThe record is preserved first. The daemon indexes it, extracts useful\nstructure, and keeps recall bounded and inspectable. The agent gets the\nright context before the next prompt starts, with a path back to the raw\nsource when the semantic layer is not enough.\n\nAfter setup, there is no per-session memory ceremony. The pipeline runs\nin the background and the agent wakes up with its memory intact.\n\nRead more: [Why Signet](./docs/QUICKSTART.md#why-signet) · [Architecture](./docs/ARCHITECTURE.md) · [Knowledge Graph](./docs/KNOWLEDGE-GRAPH.md) · [Pipeline](./docs/PIPELINE.md)\n\n## Architecture\n\n```text\nWorkspace (~/.agents/)\n  AGENTS.md, SOUL.md, IDENTITY.md, USER.md, MEMORY.md, transcripts, memory files\n  readable source records and agent identity files\n\nCLI (signet)\n  setup, knowledge, secrets, skills, hooks, git sync, service mgmt\n\nDaemon (@signet/daemon, localhost:3850)\n  |-- HTTP API (memory, retrieval, auth, skills, updates, tooling)\n  |-- File Watcher\n  |     identity sync, per-agent workspace sync, git auto-commit\n  |-- Distillation Layer\n  |     extraction -\u003e decision -\u003e graph -\u003e retention\n  |-- Retrieval\n  |     FTS + vectors + graph traversal -\u003e fusion -\u003e dampening\n  |-- Lossless Transcripts\n  |     raw session storage -\u003e expand-on-recall join\n  |-- Document Worker\n  |     ingest -\u003e chunk -\u003e embed -\u003e index\n  |-- Ranking + Feedback\n  |     bounded candidate ordering, provenance, source-aware scoring\n  |-- MCP Server\n  |     tool registration, aggregation, blast radius endpoint\n  |-- Auth Middleware\n  |     local / team / hybrid, RBAC, rate limiting\n  |-- Multi-Agent\n        roster sync, agent_id scoping, read-policy SQL enforcement\n\nCore (@signet/core)\n  types, identity, SQLite storage/query, hybrid search, graph traversal\n\nSDK (@signet/sdk)\n  typed client, React hooks, Vercel/OpenAI helpers, plugin-facing primitives\n\nConnectors\n  claude-code, opencode, openclaw, codex, gemini, oh-my-pi, pi,\n  hermes-agent\n```\n\n## Repository map\n\nSee [Repository Map](./docs/REPO_MAP.md) for package layout, internal\nsurfaces, and ownership boundaries.\n\n## Documentation\n\n- [Quickstart](./docs/QUICKSTART.md)\n- [CLI Reference](./docs/CLI.md)\n- [Configuration](./docs/CONFIGURATION.md)\n- [Hooks](./docs/HOOKS.md)\n- [Harnesses](./docs/HARNESSES.md)\n- [Secrets](./docs/SECRETS.md)\n- [Skills](./docs/SKILLS.md)\n- [Auth](./docs/AUTH.md)\n- [Dashboard](./docs/DASHBOARD.md)\n- [SDK](./docs/SDK.md)\n- [API Reference](./docs/API.md)\n- [Knowledge Architecture](./docs/KNOWLEDGE-ARCHITECTURE.md)\n- [Knowledge Graph](./docs/KNOWLEDGE-GRAPH.md)\n- [Benchmarks](./docs/BENCHMARKING.md)\n- [Roadmap](./ROADMAP.md)\n- [Repository Map](./docs/REPO_MAP.md)\n\n## Research\n\n| Paper / Project | Relevance |\n|---|---|\n| [Lossless Context Management](https://papers.voltropy.com/LCM) (Voltropy, 2026) | Hierarchical summarization, guaranteed convergence. Related runtime notes live in [lossless-working-memory-runtime.md](./docs/specs/approved/lossless-working-memory-runtime.md). |\n| [Recursive Language Models](https://arxiv.org/abs/2512.24601) (Zhang et al., 2026) | Active context management. LCM builds on and departs from RLM's approach. |\n| [acpx](https://github.com/openclaw/acpx) (OpenClaw) | Agent Client Protocol. Structured agent coordination. |\n| [lossless-claw](https://github.com/Martian-Engineering/lossless-claw) (Martian Engineering) | LCM reference implementation as an OpenClaw plugin. |\n| [openclaw](https://github.com/openclaw/openclaw) (OpenClaw) | Agent runtime reference. |\n| [arscontexta](https://github.com/agenticnotetaking/arscontexta) | Agentic notetaking patterns. |\n| [ACAN](https://github.com/HongChuanYang/Training-by-LLM-Enhanced-Memory-Retrieval-for-Generative-Agents-via-ACAN) (Hong et al.) | LLM-enhanced memory retrieval for generative agents. |\n| [Kumiho](https://arxiv.org/abs/2603.17244) (Park et al., 2026) | Prospective indexing. Hypothetical query generation at write time. Reports 0.565 F1 on the official split and 97.5% on the adversarial subset. |\n\n## Development\n\n```bash\ngit clone https://github.com/Signet-AI/signetai.git\ncd signetai\n\nbun install\nbun run build\nbun test\nbun run lint\n```\n\n```bash\ncd platform/daemon \u0026\u0026 bun run dev     # Daemon dev (watch mode)\ncd surfaces/dashboard \u0026\u0026 bun run dev  # Dashboard dev\n```\n\nRequirements:\n\n- Bun for normal repo development\n- Node.js 18+ for Node-targeted package surfaces\n- macOS or Linux\n- Optional for harness integrations: Claude Code, Codex, OpenCode, OpenClaw,\n  Gemini CLI, Pi, Oh My Pi, or Hermes Agent\n\nEmbeddings (choose one):\n\n- **Built-in** (recommended) — no extra setup, runs locally via ONNX (`nomic-embed-text-v1.5`)\n- **Ollama** — alternative local option, requires `nomic-embed-text` model\n- **OpenAI** — cloud option, requires `OPENAI_API_KEY`\n\n## Contributing\n\nNew to open source? Start with [Your First PR](./docs/FIRST-PR.md).\nFor code conventions and project structure, see\n[CONTRIBUTING.md](./docs/CONTRIBUTING.md). Open an issue before\ncontributing significant features. Read the\n[AI Policy](./AI_POLICY.md) before submitting AI-assisted work.\n\n## Star History\n\n\u003ca href=\"https://star-history.com/#Signet-AI/signetai\u0026Date\"\u003e\n  \u003cpicture\u003e\n    \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://api.star-history.com/svg?repos=Signet-AI/signetai\u0026type=Date\u0026theme=dark\" /\u003e\n    \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://api.star-history.com/svg?repos=Signet-AI/signetai\u0026type=Date\" /\u003e\n    \u003cimg alt=\"Star history chart for Signet-AI/signetai\" src=\"https://api.star-history.com/svg?repos=Signet-AI/signetai\u0026type=Date\" /\u003e\n  \u003c/picture\u003e\n\u003c/a\u003e\n\n## Contributors\n\nMade with love by...\n\n\u003ca href=\"https://github.com/NicholaiVogel\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/217880623?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"NicholaiVogel\" title=\"NicholaiVogel\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/aaf2tbz\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/260091788?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"aaf2tbz\" title=\"aaf2tbz\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Ostico\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/8008416?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"Ostico\" title=\"Ostico\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/BusyBee3333\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/241850310?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"BusyBee3333\" title=\"BusyBee3333\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/stephenwoska2-cpu\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/258141506?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"stephenwoska2-cpu\" title=\"stephenwoska2-cpu\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/PatchyToes\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/256889430?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"PatchyToes\" title=\"PatchyToes\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/ddasgupta4\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/ddasgupta4?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"ddasgupta4\" title=\"ddasgupta4\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/LeuciRemi\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/44776125?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"LeuciRemi\" title=\"LeuciRemi\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/nyashkn\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/1158551?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"nyashkn\" title=\"nyashkn\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Alexi5000\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/135995822?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"Alexi5000\" title=\"Alexi5000\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/dragontvstaff\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/279829920?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"dragontvstaff\" title=\"dragontvstaff\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/maximhar\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/maximhar?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"maximhar\" title=\"maximhar\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/alcar2364\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/alcar2364?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"alcar2364\" title=\"alcar2364\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/noamsiegel\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/52804845?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"noamsiegel\" title=\"noamsiegel\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/lost-orchard\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/lost-orchard?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"lost-orchard\" title=\"lost-orchard\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/gpzack\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/271398594?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"gpzack\" title=\"gpzack\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/Jarvis-ORC-HPS\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/273477147?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"Jarvis-ORC-HPS\" title=\"Jarvis-ORC-HPS\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/nanookclaw\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/258741235?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"nanookclaw\" title=\"nanookclaw\" /\u003e\u003c/a\u003e \u003ca href=\"https://github.com/quannon\"\u003e\u003cimg align=\"left\" hspace=\"4\" src=\"https://avatars.githubusercontent.com/u/5967?v=4\u0026s=48\" width=\"48\" height=\"48\" alt=\"quannon\" title=\"quannon\" /\u003e\u003c/a\u003e\n\u003cbr clear=\"left\" /\u003e\n\n## License\n\nApache-2.0.\n\n---\n\n[signetai.sh](https://signetai.sh) ·\n[docs](https://signetai.sh/docs) ·\n[spec](https://signetai.sh/spec) ·\n[discussions](https://github.com/Signet-AI/signetai/discussions) ·\n[issues](https://github.com/Signet-AI/signetai/issues)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignet-ai%2Fsignetai","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsignet-ai%2Fsignetai","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsignet-ai%2Fsignetai/lists"}