pipal supports agent types, which let you scaffold agents with different default behaviors, templates, and configuration.
- default — the standard pipal agent template (general‑purpose assistant).
- kbchat — a knowledge‑base agent that is wired to a local KB path for grounded Q&A.
You can add more types by creating new templates in the templates directory (see “How types work”).
pipal agent create <name> --type <type>Examples:
# Default type (explicit)
pipal agent create momo --type default
# KB chat type
pipal agent create erwin --type kbchat --kb /tmp/knowledge_baseAgent types are implemented as template folders. Each type defines a set of “core files” that are copied into the agent’s home directory at creation time.
- Templates live under:
src/pipal/templates/<type>/
- Core files include:
AGENTS.md,IDENTITY.md,POLICY.md,USER.md,MEMORY.md- type‑specific files (e.g.
KB.mdfor kbchat)
When you run pipal agent create, pipal selects the template folder for the given --type and copies those files into:
~/.pipal/agents/<agent_name>/
For kbchat, the --kb flag is used to populate the KB path, which is written into:
~/.pipal/agents/<agent_name>/KB.md
Create a knowledge‑base agent (kbchat):
pipal agent create erwin --type kbchat --kb /tmp/knowledge_baseThis writes the KB path into:
~/.pipal/agents/erwin/KB.md
kbchat agents rely on tool calling (read, grep, find, ls) to navigate the knowledge base. This requires a model with strong tool-calling support. Small models (< 7B parameters) may ignore tool instructions and hallucinate answers instead of reading the KB.
Recommended: use a capable model (e.g. Claude, GPT, or Ollama models ≥ 20B with tool-calling support like qwen3-coder:30b or gpt-oss:20b).