ProactiveAgent
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| MEMORY_LLM_MODEL | No | Model name for the LLM used by memory_extract. | |
| MEMORY_LLM_API_KEY | No | API key for the LLM used by memory_extract. If not set, memory_extract falls back to rule-based mode. | |
| PROACTIVE_DATA_DIR | No | Overrides the default data directory `~/.proma-proactive/` for storing memories. | |
| MEMORY_LLM_BASE_URL | No | Base URL for the LLM API used by memory_extract. Must be HTTPS. Defaults to a DeepSeek-compatible endpoint if not set. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| prompts | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| memory_captureA | Explicitly store a long-term memory (takes effect immediately, enters recall). Call immediately when the user states an explicit preference/fact/decision/correction (e.g. "以后X", "我喜欢X", "记住X", "不要X") — do not wait for wrap-up. Keep content concise, self-contained, and independently understandable. Types: fact / preference / correction / sop / todo_context / event. |
| memory_extractA | Feed recent conversation messages to the engine for automatic memory extraction (LLM or rule mode). Call it yourself at conversation wrap-up or when enough dialogue has accumulated — do not wait for a host hook. Extracted items default to pending (anti-poisoning), confirm via memory_pending + memory_confirm. Falls back to rule mode (zero external calls) when LLM is not configured. |
| memory_recallA | Search long-term memories by keywords (keyword + embedding hybrid; falls back to keyword when embedding is unavailable). Returns matching entries with type, importance, and similarity. Call at the start of a new session/task (query = current topic) to restore context; also call whenever the user references past work, project history, or personal preferences. |
| memory_pendingA | List automatically extracted but unconfirmed items (anti-poisoning: only enter recall after user confirmation). Two kinds:
|
| memory_confirmA | Confirm a pending memory (enters recall; correction/preference/sop types also refresh the user persona). Call when the user approves an item listed by memory_pending. |
| memory_rejectA | Reject and delete a pending memory (incorrect extraction or poisoned content). |
| persona_getA | Read the L3 user persona markdown (stable summary of user preferences/behavior rules). Call at the start of a new session to load the user profile and preferences. Returns the merged view by default (global base persona + current project overrides, with per-line scope). |
| persona_saveA | Manually save/overwrite persona markdown. Defaults to the current project layer (overrides that project part of the merged view); scope=global writes the global base persona. For maintaining the persona or project-specific behavior rules. |
| scene_summaryA | Read recent hot-scene summaries (timing signal for proactivity: what is being worked on recently, how hot). |
| memory_statsA | View memory system statistics (atom count, type distribution, pending items, persona status). |
| suggest_nowA | Evaluate whether a conversation excerpt deserves proactive suggestions (correction / followup / automation / skill / todo). Call when the conversation shows signals worth reminding: an unfinished todo, a repeated mistake the user corrected, a follow-up promised, or an automation opportunity. Core principle: silence is also a skill. At most 1 per call, session budget limits, none during do-not-disturb hours. Returns newly created suggestions (may be empty). trigger: session_end (default) / session_mid (realtime, strong signals only, max 1) / manual. |
| suggest_listA | List suggestion records, filterable by status (suggested / accepted / ignored / never). |
| suggest_acceptA | Accept a suggestion. For memory_correction types, writes a behavior correction and refreshes the persona (accept = explicit approval). For automation/todo types, tries to actually create it (requires host-injected executor), otherwise returns executable instructions. Pass host to label the current host (e.g. claude-code / kimi) for fallback wording. |
| suggest_ignoreA | Ignore a suggestion (counts toward frequency learning: similar suggestions converge in weight; repeated ignores auto-silence that type). |
| card_listA | List unified ActionCards (cross-source action inbox). Current source is suggestion engine; future agent / automation / bridge sources land here. Card status uses unified semantics: pending / accepted / dismissed / resolved. |
| card_getA | Get a single ActionCard by id with full fields (source / priority / target / privacy / duplicateKey / evidence). |
| correction_confirmA | Confirm a pending behavior correction (from corrections.json, usually extracted by memory_extract rule mode). On confirmation: writes a correction memory and refreshes the persona. ID comes from memory_pending correction entries. |
| correction_rejectA | Reject a pending behavior correction (incorrect extraction or poisoned content). ID comes from memory_pending correction entries. |
| daily_reviewA | Generate a daily review guide: organize today's work into long-term memories and generate improvement suggestions. The returned template guides you through memory_recall / memory_extract / scene_summary / suggest_now. Suitable at session end or on a daily schedule. |
| onboarding_guideA | Cold-start guide: teaches this session how to use ProactiveAgent memory & suggestion tools (when to use memory_capture/recall/extract, how to confirm pending memories, restraint principle). Call once on first mount in a new environment/project. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| daily_review | 每日复盘:把今天的工作整理为长期记忆并生成改进建议。 |
| onboarding | 冷启动说明:如何在这个会话中用好 ProactiveAgent 记忆与建议能力。 |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| proactive-today | 今日主动中心摘要:待处理建议 + 近期热点场景 |
| proactive-stats | 记忆系统统计 |
| proactive-persona | L3 用户画像 markdown(稳定的用户偏好/行为规则) |
TDQS
Scored across 20 tools
Several tools have overlapping purposes, such as card_list vs suggest_list vs memory_pending, and correction_confirm vs memory_confirm. The descriptions clarify some differences, but the boundaries between action cards, suggestions, and pending memories remain confusing for an agent.
Naming is not consistent: some tools use object-action (card_list, memory_capture), others use verb-noun (suggest_list, suggest_accept), and a few are adjective-noun (daily_review, onboarding_guide). All use lowercase underscores, but the pattern is mixed and unpredictable.
20 tools is slightly above the typical 3-15 range. The count is borderline reasonable for a memory/suggestion/persona system, but several tools could be consolidated (e.g., card_list and suggest_list, correction_confirm and memory_confirm).
The surface covers core memory, suggestion, persona, and correction workflows, but lacks explicit update/delete operations for confirmed memories and card status transitions. An agent cannot fully manage the lifecycle of items once they are accepted or resolved.