Generated banner for AKB — Agent Knowledge Base
Generated logo for AKB — Agent Knowledge Base

AKB — Agent Knowledge Base

Memory serverOfficial Dnotitia project

Created by Dnotitia

Published in dnotitia/akb. Publisher page

167 GitHub stars

What it is

AKB — Agent Knowledgebase. Organizational memory for AI agents: vault-scoped docs / tables / files unified by URI graph, served over MCP.
— the description by Dnotitia

Summary from the brain’s metadata

AKB — Agent Knowledgebase. Organizational memory for AI agents: vault-scoped docs / tables / files unified by URI graph, served over MCP.

How it works

Memory model: Hybrid

AutoGineer overview, from the brain’s own files

Memory model: Hybrid. Folders: .claude (agent config, 4 files); .codex (agent config, 4 files); .github (agent config, 4 files); agents (agent instructions, 2 files); docs (docs, 188 files); packages (source code, 74 files); scripts (scripts, 24 files); templates (templates, 20 files). The agent reads AGENTS.md, frontend/DESIGN_SYSTEM.md.

Folders
FolderRoleFiles
.claudeagent-config4
.codexagent-config4
.githubagent-config4
agentsagent-instructions2
docsdocs188
packagessource-code74
scriptsscripts24
templatestemplates20
.agentsfolder2
.claude-pluginfolder1
backendfolder1080
configfolder2
deployfolder65
evalfolder89
frontendfolder703
okffolder6
pluginsfolder44

The agent reads

Requirements

Apps: Docker

Databases: PostgreSQL, Qdrant, Redis

Works with: Claude Code, Claude apps, OpenAI Codex, GitHub Copilot, Cursor, Gemini CLI, Google Antigravity, Kiro, OpenCode, Amp, Roo Code, Cline, JetBrains Junie, Devin (ex-Windsurf)

Set it up

  1. This brain runs code automatically: 4 hooks (claude-code). Review plugins/claude/akb-claude-code/hooks/hooks.json before opening the folder in Claude Code. No step below turns a hook on for you.

    • plugins/claude/akb-claude-code/hooks/hooks.json: "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh"
    • plugins/claude/akb-claude-code/hooks/hooks.json: "${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.sh"
    • plugins/claude/akb-claude-code/hooks/hooks.json: "${CLAUDE_PLUGIN_ROOT}/hooks/pre-compact.sh"
    • plugins/claude/akb-claude-code/hooks/hooks.json: "${CLAUDE_PLUGIN_ROOT}/hooks/session-end.sh"
  2. Not scanned by AutoGineerThe author’s README also describes installing it with Docker Compose. Read its install section: AutoGineer did not scan that path. https://github.com/dnotitia/akb/blob/230e3eed24eda4c85132f5badf067109a8021da3/README.md#quick-start
  3. Not scanned by AutoGineerAutoGineer could not scan everything it runs. https://www.npmjs.com/package/akb-mcp
  4. Created by Dnotitia. Published in dnotitia/akb. Licence: Business Source License 1.1.

Usage

AutoGineer’s guidance for this type of brain

Add the server to your AI tool’s MCP configuration (see Set it up); your agent then stores and recalls memories through its tools.

Documentation by Dnotitia

The licence does not allow AutoGineer to copy these files. Read the documentation at the source

512 files · 512 not served here

Advantages

  • Local-first: the memory stays in files or a database on your own machine (a rule-derived fact from the brain’s files, evidence: README.md)
  • Works with 14 MCP clients (a rule-derived fact from the brain’s files, evidence: README.md)
  • No API key is named in its files (a rule-derived fact from the brain’s files, evidence: README.md)

Limitations

  • Needs a database (PostgreSQL, Qdrant, Redis) (a rule-derived fact from the brain’s files, evidence: README.md)
  • Runs code automatically: review what it runs before you open it (a rule-derived fact from the brain’s files)
  • Link-only: AutoGineer links to the files instead of serving them (a rule-derived fact from the brain’s files)

Security

Risk level: Medium risk

This brain runs

Agent instructions that run or fetch something (30)

  • .claude/agents/worker.md: Run the check that exercises the change, and return the change, the check's result and any uncertainty.
  • AGENTS.md: `.codex/` and `.claude/agents/` are rendered from that file by `python scripts/agent-roles.py`;
  • AGENTS.md: **Verify before saying something passes.** `bash scripts/check.sh` is the static gate CI runs;
  • AGENTS.md: Also run the checks that exercise what you changed: the frontend gate below for UI work, the suites in `scripts/ci/README.md` for backend behavior.
  • AGENTS.md: Report what ran and its result, and say so when a check was not run.
  • AGENTS.md: **Build guard**: `frontend/scripts/design-check.mjs` (`npm run design:check`, also in `build`) fails on raw 6-digit hex in components + the legacy `bg-foreground text-background` slab.
  • AGENTS.md: **Frontend check gate** (run before committing frontend changes): `cd frontend && npm run design:check && npm run typecheck && npm run lint && npm run test`.
  • AGENTS.md: Run E2E against the deployed URL: `AKB_URL=https://<your-host> bash backend/tests/test_mcp_e2e.sh`.
  • AGENTS.md: npm package: `akb-mcp` on npmjs.org.
  • AGENTS.md: **Backend**: bump `backend/pyproject.toml`, add CHANGELOG entry, PR + merge → `git tag -a backend-vX.Y.Z <merge-commit> -m "..."` → push → `gh release create backend-vX.Y.Z [--latest] --notes "..."` → build the release image from the bumped version.
  • AGENTS.md: **Proxy**: bump `packages/akb-mcp-client/package.json`, add CHANGELOG entry, PR + merge → for an authorized release, run `cd packages/akb-mcp-client && npm publish --access public` using the verified publishing account → `git tag -a akb-mcp-vX.Y.Z <bump-commit> -m "..."` → push → `gh re …[+54 chars]
  • AGENTS.md: **Persistent linked worktree** per vault at `/data/vaults/_worktrees/{vault_name}` (created once via `git worktree add`).
  • plugins/claude/akb-sessions/skills/session-ingest/SKILL.md: # --skip-git-repo-check: the receiver may run in a non-git pwd (delegate
  • plugins/claude/akb-sessions/skills/session-ingest/SKILL.md: If commits were found, run:
  • plugins/claude/akb-sessions/skills/session-ingest/SKILL.md: git log --oneline {earliest_commit_hash}^..{latest_commit_hash}
  • plugins/claude/akb-sessions/skills/session-ingest/SKILL.md: git diff --stat {earliest_commit_hash}^..{latest_commit_hash}
  • plugins/claude/akb-sessions/skills/session-ingest/SKILL.md: git remote get-url origin
  • plugins/claude/akb-wiki/skills/akb-ingest/SKILL.md: | Target shape | `<chosen-agent>` | Forwarded flags | |---|---|---| | Local path that exists, or a glob pattern (`*`, `?`, `[`) | `ingest-doc` | `--lang`, `--raw`/`--no-raw` | | `https?://…/…/pull/<n>` on `github.com` | `ingest-pr` | `--repo` | | `https?://…/…/releases/tag/<tag>` on `g …[+742 chars]
  • plugins/claude/akb-wiki/skills/akb-ingest/SKILL.md: For a GitHub URL the local clone still comes from `--repo` (or cwd), **not** the URL — only the number / tag / SHA is taken from the URL. · uses the network
  • plugins/claude/akb-wiki/skills/akb-query/SKILL.md: Run only the strategies Phase 1 chose.
  • plugins/claude/akb-wiki/skills/akb-query/SKILL.md: **Exception:** when the relational strategy is selected but no anchor URI is known yet, that strategy is *not* independent — run the hybrid search first to find the anchor, then issue `akb_relations` / `akb_graph` in a follow-up block.
  • plugins/codex/akb-sessions/skills/session-ingest/SKILL.md: # --skip-git-repo-check: the receiver may run in a non-git pwd (delegate
  • plugins/codex/akb-sessions/skills/session-ingest/SKILL.md: If commits were found, run:
  • plugins/codex/akb-sessions/skills/session-ingest/SKILL.md: git log --oneline {earliest_commit_hash}^..{latest_commit_hash}
  • plugins/codex/akb-sessions/skills/session-ingest/SKILL.md: git diff --stat {earliest_commit_hash}^..{latest_commit_hash}
  • plugins/codex/akb-sessions/skills/session-ingest/SKILL.md: git remote get-url origin
  • plugins/codex/akb-wiki/skills/akb-ingest/SKILL.md: | Target shape | `<chosen-agent>` | Forwarded flags | |---|---|---| | Local path that exists, or a glob pattern (`*`, `?`, `[`) | `ingest-doc` | `--lang`, `--raw`/`--no-raw` | | `https?://…/…/pull/<n>` on `github.com` | `ingest-pr` | `--repo` | | `https?://…/…/releases/tag/<tag>` on `g …[+742 chars]
  • plugins/codex/akb-wiki/skills/akb-ingest/SKILL.md: For a GitHub URL the local clone still comes from `--repo` (or cwd), **not** the URL — only the number / tag / SHA is taken from the URL. · uses the network
  • plugins/codex/akb-wiki/skills/akb-query/SKILL.md: Run only the strategies Phase 1 chose.
  • plugins/codex/akb-wiki/skills/akb-query/SKILL.md: **Exception:** when the relational strategy is selected but no anchor URI is known yet, that strategy is *not* independent — run the hybrid search first to find the anchor, then issue `akb_relations` / `akb_graph` in a follow-up block.

Hooks (4)

  • plugins/claude/akb-claude-code/hooks/hooks.json (SessionStart): "${CLAUDE_PLUGIN_ROOT}/hooks/session-start.sh"
  • plugins/claude/akb-claude-code/hooks/hooks.json (UserPromptSubmit): "${CLAUDE_PLUGIN_ROOT}/hooks/user-prompt-submit.sh"
  • plugins/claude/akb-claude-code/hooks/hooks.json (PreCompact): "${CLAUDE_PLUGIN_ROOT}/hooks/pre-compact.sh"
  • plugins/claude/akb-claude-code/hooks/hooks.json (SessionEnd): "${CLAUDE_PLUGIN_ROOT}/hooks/session-end.sh"

MCP servers (2)

  • plugins/claude/akb-wiki/.mcp.json (akb): npx akb-mcp --insecure
  • plugins/codex/akb-wiki/.mcp.json (akb): npx akb-mcp --insecure
  • Medium risk: runs-mcp-server-unpinned-runner (plugins/claude/akb-wiki/.mcp.json)
  • Medium risk: runs-instruction-instruction-network (plugins/claude/akb-wiki/skills/akb-ingest/SKILL.md:71)
  • Medium risk: runs-mcp-server-unpinned-runner (plugins/codex/akb-wiki/.mcp.json)
  • Medium risk: runs-instruction-instruction-network (plugins/codex/akb-wiki/skills/akb-ingest/SKILL.md:69)
  • Low risk: scripts-present (backend/tests/test_mcp_e2e.sh)
  • Low risk: scripts-present (plugins/claude/akb-claude-code/hooks/pre-compact.sh)
  • Low risk: scripts-present (plugins/claude/akb-claude-code/hooks/session-end.sh)
  • Low risk: scripts-present (plugins/claude/akb-claude-code/hooks/session-start.sh)
  • Low risk: scripts-present (plugins/claude/akb-claude-code/hooks/user-prompt-submit.sh)
  • Low risk: scripts-present (scripts/agent-roles.py)
  • Low risk: scripts-present (scripts/check.sh)
  • Low risk: scripts-present (scripts/ci/e2e_suite_runner.py)

Attribution and licence

Created by
Dnotitia
Publisher
Dnotitia (Official Dnotitia project)
Source
dnotitia/akb · commit 230e3ee
Licence
Business Source License 1.1 (The licence does not allow AutoGineer to copy these files.)
Synced

AutoGineer is not affiliated with or endorsed by Dnotitia.

Install from source

The licence does not allow AutoGineer to copy these files. dnotitia/akb at 230e3ee