{"id":45869930,"url":"https://github.com/signet-ai/signetai","last_synced_at":"2026-06-13T22:01:33.263Z","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-05-28T02:22:43.000Z","size":166847,"stargazers_count":174,"open_issues_count":2,"forks_count":33,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-28T02:23:53.875Z","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}},"created_at":"2026-02-11T05:38:32.000Z","updated_at":"2026-05-28T02:22:45.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":591,"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":33854119,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-03T02:00:06.370Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-06-13T22:01:33.256Z","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's context.**\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. Agent shells change. Your context should not.\n\nYour agents are starting to remember projects, users, decisions, documents,\nconversations, preferences, mistakes, routines, and private working context.\n\nThat memory is no longer a feature. It is infrastructure — and custody matters.\n\nSignet is a local-first context layer for AI agents: memory, identity,\ntranscripts, source records, provenance, agent instructions, secrets, and\nrepair tools in infrastructure you control.\n\nHosted memory APIs are fastest until memory becomes part of your product\ncontract: deletion, provenance, repair, portability, and custody of private\ncontext. Signet is for that moment.\n\nNot a hosted memory API. Not a harness-specific plugin. Signet is\nthe durable layer underneath your agents.\n\n## Why Signet\n\n| Claim | Why it matters |\n|---|---|\n| Local-first custody | SQLite, readable workspace files, transcripts, source records, memories, and identity files 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, 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 | LongMemEval-tracked recall without giving up governance |\n\nYou know you need Signet when agent memory is no longer just recall quality.\nYou need to know where context lives, where it came from, who can see it, how\nit can be corrected, what gets deleted, and whether it can move when your\ntools change.\n\n## Quick start (about 5 minutes)\n\n```bash\ncurl -fsSL https://signetai.sh/install.sh | bash\nsignet setup               # interactive setup wizard\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.\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/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/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/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/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/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/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/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/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/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/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/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/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\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"}