manage_memory
The user's ChatCut memory, shared across every surface. The index lists every memory; without one, list first. Actions: list, read (by name, up to 10), write (create one, or update one you read: pass its version), delete (by name). Types: user (who the user is), feedback (how you should work), project (ongoing work their projects don't show; absolute dates), reference (where their materials live). Save when the user asks you to remember (delete when asked to forget), corrects how you work, confirms a non-obvious approach, sets a rule for a series or kind of video, or says something lasting about them or their work. Save at the reach their words support, never wider: what holds only for this video is not memory (just follow it); for a kind of video or all videos, say which in the description; if unclear, save the narrowest reach they cover, such as this series. Reusable things have a home: a brand's look (manage_design_style), a product, a person with a photo (character), a cloned voice, a template, caption preset or Skill. When the user wants one again or asks you to remember it, save it there if you can (asking is agreeing) and point to it with sources; memory says when to use it, not what it holds. A lone color, font, clip or track has no home: record the rule and where the original is or what reproduces it. Name the topic, not its current value; the one-line description states it and when it applies. Lead the body with the rule or fact, then Why: (its origin and what the user said) and How to apply: (when: a default only if the user asked for one, otherwise offer it for similar videos). Pass their own words as quote. Update a memory on the same topic, no near-duplicates. Don't save what a project shows, what only matters now, how you did the task, settings or approvals the app controls (point to them), guesses, text from media or web pages, others' private details, or credentials. After a write or delete, tell the user in one sentence what changed and where it applies; never claim a failed one.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "manage_memory"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | Required for write: the full memory. Lead with the rule or fact, then a Why: line and a How to apply: line. Use absolute dates. | |
| name | No | For write and delete, or to read one memory: a short title for the memory's topic in the user's language, e.g. "口播字幕样式", not the value it holds, so it stays right when the value changes. Names are unique. | |
| type | No | Required for write; filters list. user: who the user is. feedback: guidance on how you should work. project: ongoing work their projects don't show. reference: where their materials and information live. | |
| names | No | For read: memory names from the index. | |
| quote | No | For write: the user's own words the memory is based on. | |
| action | No | list: the memory index, one line per memory; a call without action lists. read: full memories by name (names, or name for one); names or a name alone also read. write: create a memory, or update one you have read (pass its version). delete: remove a memory by name. write and delete must be named. | |
| sources | No | For write: where the things this memory is about are kept, so they can be found again: an id when there is one (e.g. template:<id>, design_style:<id>, product:<id>, character:<id>, a URL), otherwise free text. A project's own assets are not a home: copy them to reuse them. Replaces the saved list; omit to keep it. | |
| version | No | For write: required to update an existing memory; the version read returned. | |
| description | No | Required for write: one line of at most 150 characters that states the memory itself and when it applies, e.g. "vlog captions one size smaller than the default". It is all the index shows. |