Files
oh-my-pi/packages/coding-agent/README.md
T
can1357 ce2a109c09 feat(coding-agent): added hindsight memory backends and tools
- Added `memory.backend` and `hindsight.*` settings schema with migration from `memories.enabled` legacy mode.
- Added Hindsight memory backend runtime modules for resolved config, client creation, bank ID derivation, and state lifecycle.
- Added off/local/hindsight backends and resolver wiring across SDK, commands, and compaction context.
- Added `hindsight_recall`, `hindsight_reflect`, and `hindsight_retain` tools with schema validation and backend gating.
- Added Memory tab metadata and symbols to expose backend selection in the settings UI.
- Added package export barrels and tests for bank ID, content formatting, and hindsight config env precedence.
2026-05-03 07:39:52 +02:00

38 lines
2.2 KiB
Markdown

# @oh-my-pi/pi-coding-agent
Core implementation package for the `omp` coding agent in the `oh-my-pi` monorepo.
For installation, setup, provider configuration, model roles, slash commands, and full CLI reference, see:
- [Monorepo README (local)](../../README.md)
- [Monorepo README (GitHub)](https://github.com/can1357/oh-my-pi#readme)
Package-specific references:
- [CHANGELOG](./CHANGELOG.md)
- [MCP configuration guide](../../docs/mcp-config.md)
- [MCP runtime lifecycle](../../docs/mcp-runtime-lifecycle.md)
- [MCP server/tool authoring](../../docs/mcp-server-tool-authoring.md)
- [DEVELOPMENT](./DEVELOPMENT.md)
## Memory backends
The agent supports three mutually-exclusive memory backends, selected via the `memory.backend` setting (Settings → Memory tab, or `~/.omp/config.yml`):
|Backend|Behaviour|
---|---|
`off`|No memory subsystem runs.|
`local` (default)|Existing rollout-summarisation pipeline. Writes `memory_summary.md` and consolidated artifacts under the agent dir. Additionally gated by the legacy `memories.enabled` boolean — set it to `true` to actually run.|
`hindsight`|Talks to a [Hindsight](https://hindsight.vectorize.io) server (Cloud or self-hosted Docker). Retains transcripts every Nth user turn, recalls memories on the first turn of a session, and exposes three tools: `hindsight_retain`, `hindsight_recall`, `hindsight_reflect`.|
### Hindsight quickstart
1. Run a Hindsight server (Cloud or `docker run -p 8888:8888 ghcr.io/vectorize-io/hindsight:latest`).
2. Set `memory.backend = "hindsight"` and `hindsight.apiUrl = "http://localhost:8888"` (or your Cloud URL).
3. Optional environment overrides (env wins over settings):
- `HINDSIGHT_API_URL`, `HINDSIGHT_API_TOKEN` — connection
- `HINDSIGHT_BANK_ID`, `HINDSIGHT_DYNAMIC_BANK_ID`, `HINDSIGHT_AGENT_NAME` — bank addressing
- `HINDSIGHT_AUTO_RECALL`, `HINDSIGHT_AUTO_RETAIN`, `HINDSIGHT_RETAIN_MODE` — lifecycle
- `HINDSIGHT_RECALL_BUDGET`, `HINDSIGHT_RECALL_MAX_TOKENS` — recall sizing
- `HINDSIGHT_BANK_MISSION`, `HINDSIGHT_DEBUG`
Switching backends mid-session is honoured on the next system-prompt rebuild and the next `/memory` slash command. Existing users with `memories.enabled = true|false` are migrated to `memory.backend = "local"|"off"` exactly once on first launch.