Busabase
Busabase is an open-source (MIT) database and workspace for AI agents — data, docs, skills, and apps in one place. Run it locally, self-host it inside your network, or use Busabase Cloud, and turn age
翻譯準備中
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證See the evidence behind a connected body of work.
翻譯準備中
取自儲存庫 README
正在載入完整 README。
檢視完整 README ↗Follow a claim back to the evidence.
Watch the 70-second film: a claim that lost its source, and how the tool puts the quote and the date back on it. The example in it is fictional.
For people connecting notes, documents and research. Knowledge turns supplied material into an inspectable graph, with sources and time attached, so you can trace relationships, question an apparent contradiction and see what changed.
git clone https://github.com/michaeljabbour/amplifier-capability-knowledge.git
cd amplifier-capability-knowledge
python3 scripts/capability.py install --dest ~/.agents/skills
This installs the portable method and its packaged references into your agent skill folder. If your host uses another folder, pass that path to --dest. Start a new session or use your host’s skill refresh so it can discover the installed skill. Optional native tools are installed separately.
Try this first task:
Use Knowledge to show how two fictional project notes support or challenge the same claim. Start with deterministic ingestion or structured additions. Trace each relationship to its source and distinguish an asserted fact from a candidate contradiction. Do not configure an external provider.
For the optional native interface, use a project virtual environment:
python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install .
Native graph, storage, analysis and interface tests passed. A passing graph operation does not establish that an extracted claim or model-written answer is correct.
The worked examples on the site are fictional. They illustrate the output and decisions; they are not user results or measured benefit. See consolidation and runtime boundaries for retained interfaces and acceptance scope.
Ask your documents a question. See the answer as a map.
Point it at papers, specs, policies, notes, code or agent sessions. You get a graph any agent can query and add to: concepts and typed relations, each with the passage it came from, the agent that added it, a confidence and the dates it held. Ask in plain words and it answers in the form that fits: a timeline of what changed and what replaced it, an argument with the quotes for and against a claim, the steps between two ideas, a matrix of what is missing, a rhythm of when each topic was written about, or the map. When a question is unclear, it asks you instead of guessing.
It is an Amplifier Smart Tool: a Python library with a thin CLI and an optional MCP server, usable from Claude Code, Codex, Amplifier, a script or any agent. Everything except five model-backed commands runs with no model and no key.
Product page and demos · One-minute trailer · How it works
Four Claude Code agents reading Amplifier's public docs and writing to one graph at the same time,
recorded live with knowledge serve (sped up).
uv tool install "amplifier-smart-tool-visualizer @ git+https://github.com/michaeljabbour/amplifier-capability-knowledge"
knowledge doctor
knowledge ingest ./notes --method cooccurrence --graph notes # a word network, no model
knowledge analyze --graph notes # central ideas, bridges, topics, gaps
knowledge visualize --for "what are the main topics?" --graph notes --open # opens on the answer
With a model, knowledge ingest ./notes extracts typed concepts and relations instead (Anthropic,
OpenAI, a local Ollama model, or your own program through --complete-cmd). Inside an agent, the
agent is the model: ingest --method agent hands it the chunks and the extraction prompt, and it
writes back with knowledge add. No key is billed.
Real public material, each read into a graph by an agent through the tool's own agent route, each view opening on a question someone in that job would actually ask. Every relation links to its quote.
| For | Material | Ask it | What you see |
|---|---|---|---|
| Developers | Python's typing PEPs: 484, 526, 563 (four versions), 585, 604, 649, 749. Public domain / CC0. | "What replaced PEP 563's plan to make stringized annotations the default?" | A timeline: the plan moved from Python 4.0 to 3.10, was put on hold for PEP 649, and "never became the default behaviour"; hatched bars point to PEP 649 and 749's deferred evaluation. |
| Researchers | Eight arXiv abstracts on scaling laws and emergent abilities. CC0. | "What contradicts the claim that emergent abilities appear suddenly and unpredictably?" | An argument: the claim, with quote cards against (Schaeffer et al. 2023: they "evaporate with different metrics or with better statistics") and for. |
| Policy, legal and operations work | Seven US federal documents on agency use of AI, EO 14110 to OMB M-25-21 / M-25-22. Public domain. | "What did agencies have to do as of 2024-12-01?" | A timeline marked at that date: what applied then (M-24-10's December 1, 2024 deadline) and what replaced it after M-25-21 "rescinds and replaces" M-24-10. |
Build them yourself: python3 scripts/build-examples.py (no model, no key; it checks every question
still opens the view it should).
The example graph is real: twenty public documents from microsoft/amplifier-docs and the smart-tools spec, read by four agents into 313 concepts and 613 relations, each citing an exact quote.
knowledge gaps scores it 0.97 of a possible 1.tool-bash. The tool contract says execute() returns ToolResult;
its example returns dicts. The spec asks callers not to care whether a result came from a model,
and also asks tools to say which capabilities use one. knowledge contradictions lists 13.knowledge timeline "token streaming" shows all three, with the dates each held.| Deterministic: no model, no key, same answer every time | Model-backed | |
|---|---|---|
| Write | ingest --method cooccurrence|agent, add, relate, supersede | ingest (default method) |
| Read | search, show, path, timeline, evidence, context | ask |
| Analyse | analyze, communities, gaps, contradictions | report, questions, reconcile |
| View and share | visualize, serve, export, events | |
| Setup | stats, graphs, doctor, mcp, manifest |
supersede closes one in favour
of a newer one, a changed file closes its old claims, and --as-of DATE reads the graph as it was.add and relate with their name on every
relation; events is the change log and serve shows it live.visualize writes one HTML file with no outside requests. export writes
JSON, Cytoscape, GraphML (Gephi), CSV, an Obsidian vault with wikilinks and a Canvas map.--json gives one envelope on stdout; exit codes 0, 1 (input), 2
(usage), 3 (set something up), 4 (model call failed). It never prompts.host_model and name the deterministic route instead of using an API key.knowledge --help prints the tool's skill, written for an agent; knowledge <capability> --help
prints one capability in full.
The tool stays a plain CLI any harness can call; Amplifier gets it through a behavior:
amplifier bundle add 'git+https://github.com/michaeljabbour/amplifier-capability-knowledge@main#subdirectory=behaviors/knowledge.yaml' --app
It loads the knowledge skill from skills/, which tells the agent to install the CLI and use the
deterministic routes. Optional: behaviors/knowledge-mcp.yaml serves the same capabilities as MCP
tools through Amplifier's MCP module, named mcp_knowledge_knowledge_<capability> (it needs
knowledge on PATH; the file shows a uvx alternative).
The library is the tool; the CLI and MCP server are thin wrappers. Results are plain dicts.
import knowledge as kg
kg.ingest("research", documents=kg.load_documents("./notes"), method="cooccurrence")
kg.relate("research", "experiment 14", "supports", "delegation reduces agency",
source_type="evidence", target_type="claim", confidence=0.7, agent="researcher")
for p in kg.path("research", "delegation", "human agency")["paths"]:
print(" -> ".join(p["nodes"]))
# your own model, no SDK needed
kg.ingest("research", text, complete=lambda system, prompt: my_model(system, prompt))
The core is rahulnyk/knowledge_graph: chunking, an LLM extraction prompt, contextual proximity and communities, rebuilt as a smart tool with no runtime dependencies. Around it are capabilities taken from Graphiti (temporal edges), InfraNodus (centrality and structural gaps), Microsoft GraphRAG (community reports and local-search context), Obsidian tools (vault and Canvas export) and Gephi. docs/VISION.md maps every idea to the file it lives in, and lists what was left out on purpose.
uv run --with pytest python -m pytest -q
uvx ruff check --isolated --line-length 132 --select E,F,W src tests
uv run path/to/amplifier-smart-tools/conformance/run.py . # the spec's conformance kit
python3 scripts/build-examples.py # example graphs, no model
Read AGENTS.md before changing behaviour. contracts/ describes the CLI envelope and the graph document; site/ builds the product page and demos.
MIT. Vendored and adapted third-party material, all MIT, is credited in NOTICE.
This repository was renamed from amplifier-smart-tool-knowledge to amplifier-capability-knowledge. Existing installed method names, bundle aliases and native interfaces stay the same. See the migration guide and repository map for source URL updates.
Native operations remain direct. For an explicitly requested practice or review checkpoint, use the local coaching guide. It includes a fictional first task, a baseline, a bounded budget, stop rules and human-reviewed keep/revert. No learner trace is saved by default, and software checks do not establish human learning or outside-user usefulness.