Files
librefang-registry/plugins/user-profile
Evan Hu 5e4fc2ccf3 chore(plugins): add [integrity] SHA-256 hashes for all hook scripts
The daemon's `manifest_missing_integrity_hooks` check (#3804) hard-fails
any registry install whose plugin.toml declares hooks but lacks an
[integrity] entry for each one. All 11 plugins under plugins/ had the
[hooks] table but were missing [integrity], so `librefang plugin install
<name>` would error after download with "missing [integrity] hashes for
hook script(s): ...".

Compute and pin SHA-256 over each `hooks/*.py` under every plugin dir.
The mempalace-indexer entries were already present and are unchanged
(reordered alphabetically by the regenerator).

Verified each plugin.toml still parses (Python tomllib).
2026-05-05 00:29:39 +09:00
..

user-profile

Persistent user profiling from conversation patterns. Builds a profile of user expertise areas, communication style, and technical level, then injects it as context so agents can personalize responses.

How it works

After each turn, the plugin analyzes user messages to update the profile:

  • Expertise areas -- extracts technical keywords and tracks frequency (top 20 retained)
  • Communication style -- running average of message lengths (brief / moderate / detailed)
  • Technical level -- scored from signals like code blocks, version numbers, tech abbreviations, and question patterns (beginner / intermediate / advanced)
  • Question ratio -- fraction of user messages containing questions

On ingest, once the profile has at least 5 interactions, the plugin returns a compact profile summary as a memory fragment: expertise=python,devops; style=detailed; level=advanced.

Hooks

Hook Script Description
ingest hooks/ingest.py Returns the profile summary as a memory fragment (after 5+ interactions)
after_turn hooks/after_turn.py Analyzes user messages to update the profile

Storage

Profiles are stored at ~/.librefang/plugins/user-profile/{agent_id}.json.

Usage

Installed automatically when enabled in agent configuration.