一键导入
iblai-vibe-agent-memory
Add the agent Memory tab (enable/disable memory and manage memories) to your Next.js app
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Add the agent Memory tab (enable/disable memory and manage memories) to your Next.js app
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
Build and run your ibl.ai app on desktop and mobile (iOS, Android, macOS, Surface)
Add the agent Sandbox tab (OpenClaw instance management, agent prompt configuration, and agent skills) to your Next.js app
Add the agent Access tab (role-based access control for editor and chat roles) to your Next.js app
Add the agent Audit tab (audit log of who changed what and when, with user/date/action filters) to your Next.js app
Wrap the Chat surface with the SDK's AppSidebar — projects dropdown, pinned/recent messages, and host-supplied content/footer menu items
Add the in-process Chat SDK component (full agent surface — message stream, canvas, file attach, voice, prompts) to a Next.js app
| name | iblai-vibe-agent-memory |
| description | Add the agent Memory tab (enable/disable memory and manage memories) to your Next.js app |
| globs | null |
| alwaysApply | false |
Add the agent Memory tab -- a toggle switch to enable/disable agent
memory and a managed memories section with add, edit, bulk delete, and
individual delete actions. This is one tab in the wider agent-settings
family. All tabs share the same AgentSettingsProvider wrapper.

Do NOT add custom styles, colors, or CSS overrides to ibl.ai SDK components. They ship with their own styling. Keep the components as-is. Do NOT implement dark mode unless the user explicitly asks for it.
When building custom UI around SDK components, use the ibl.ai brand:
#0058cc, Gradient: linear-gradient(135deg, #00b0ef, #0058cc)bg-gradient-to-r from-[#2563EB] to-[#93C5FD] text-white@iblai/iblai-js) first, then shadcn/ui for everything else
(npx shadcn@latest add <component>). Do NOT write custom components
when an ibl.ai or shadcn equivalent exists. Both share the same
Tailwind theme and render in ibl.ai brand colors automatically.You MUST run /iblai-vibe-ops-test before telling the user the work is ready.
After all work is complete, start a dev server (pnpm dev) so the user
can see the result at http://localhost:3000.
iblai.env is NOT a .env.local replacement — it only holds the 3
shorthand variables (DOMAIN, PLATFORM, TOKEN). Next.js still reads
its runtime env vars from .env.local.
Use pnpm as the default package manager. Fall back to npm if pnpm
is not installed.
Common setup (brand, conventions, env files, verification): see docs/skill-setup.md.
/iblai-vibe-auth)@iblai/mcp in .mcp.json)AgentSettingsProvider must wrap the route (see /iblai-vibe-agent-setting
Step 2 if not already set up)mentorId (agent UUID). Do NOT invent one.Before proceeding, check for an iblai.env in the project root. Look for
PLATFORM, DOMAIN, and TOKEN variables. If the file does not exist or
is missing these variables, tell the user:
"You need an iblai.env with your platform configuration. Download the
template and fill in your values:
curl -o iblai.env https://raw.githubusercontent.com/iblai/vibe/refs/heads/main/iblai.env"
AgentMemoryTab// app/(app)/agents/[mentorId]/memory/page.tsx
"use client";
import { AgentMemoryTab } from "@iblai/iblai-js/web-containers/next";
export default function AgentMemoryPage() {
return (
<div className="flex h-full flex-col bg-white">
<AgentMemoryTab />
</div>
);
}
import { AgentMemoryTab } from "@iblai/iblai-js/web-containers/next";
<AgentMemoryTab
labels={{
header: { title: "Mentor memory" },
}}
/>;
get_component_info("AgentMemoryTab")
get_component_info("AgentSettingsProvider")
<AgentMemoryTab> PropsImport from @iblai/iblai-js/web-containers/next.
| Prop | Type | Required | Description |
|---|---|---|---|
labels | DeepPartial<MemoryTabLabels> | No | Override user-visible strings |
From @iblai/iblai-js/web-containers/next:
AGENT_MEMORY_TAB_LABELS -- the default agent-facing label bundle.MemoryTabLabels -- type for the full label bundle.Run /iblai-vibe-ops-test before telling the user the work is ready:
pnpm build -- must pass with zero errorspnpm test -- vitest must passpnpm dev &
npx playwright screenshot http://localhost:3000/agents/<id>/memory /tmp/agent-memory.png
mentorReducer and mentorMiddlewareinitializeDataLayer(): 5 args (v1.2+)@reduxjs/toolkit: Deduplicated via webpack aliases in next.config.tssonner and @iblai/iblai-web-mentor must be installed
(pnpm add sonner @iblai/iblai-web-mentor)AgentSettingsProvider must wrap the route at a
layout level. See /iblai-vibe-agent-setting Step 2 for the full snippet.For custom UI beyond <AgentMemoryTab>. All endpoints are prefixed with
${dmUrl}/api/ai-mentor/orgs/{org}/ where dmUrl is NEXT_PUBLIC_API_BASE_URL
and {org} is the platform/tenant key.
The system has three control levels: Platform (admin enables for tenant), Agent (admin/owner enables per agent), User (user opts in/out of capture and use).
| Method | Path | Purpose |
|---|---|---|
| GET | users/{user_id}/memsearch-settings/ | Read auto_capture_enabled, use_memory_in_responses |
| PUT | users/{user_id}/memsearch-settings/ | Update one or both flags |
Defaults are false if no settings row exists.
| Method | Path | Purpose |
|---|---|---|
| GET | users/{user_id}/memsearch-config/ | Read enable_memsearch |
| POST | users/{user_id}/memsearch-config/ | Set enable_memsearch |
| GET | users/{user_id}/memsearch-status/ | Read-only enabled status for the tenant |
| Method | Path | Purpose |
|---|---|---|
| PUT | users/{user_id}/mentors/{mentor}/settings/ | Body includes enable_memory_component: bool |
| Method | Path | Purpose |
|---|---|---|
| GET | users/{user_id}/global-memories/ | List. Params: page, page_size (≤25), user_id, start_date, end_date, search |
| POST | users/{user_id}/global-memories/ | Create. Body { content } (≥10 chars). 409 if duplicate |
| DELETE | users/{user_id}/global-memories/{memory_id}/ | Delete |
| Method | Path | Purpose |
|---|---|---|
| GET | users/{user_id}/mentors/{mentor_id}/mentor-memories/ | List grouped by category. Params: user_id, start_date, end_date, my_memory |
| POST | users/{user_id}/mentors/{mentor_id}/mentor-memories/ | Create. Body { category_slug, content } (≥10 chars) |
| PATCH | users/{user_id}/mentors/{mentor_id}/mentor-memories/{memory_id}/ | Partial update of content and/or category_slug |
| DELETE | users/{user_id}/mentors/{mentor_id}/mentor-memories/{memory_id}/ | Delete |
| Method | Path | Purpose |
|---|---|---|
| GET | mentors/{mentor_id}/memory-categories/ | List active categories |
| POST | mentors/{mentor_id}/memory-categories/ | Create. 409 if slug exists |
| PATCH | mentors/{mentor_id}/memory-categories/{category_id}/ | Update name/description/extraction prompt |
| DELETE | mentors/{mentor_id}/memory-categories/{category_id}/ | Soft-delete (sets is_active=false) |
Default categories auto-created per agent: knowledge_gaps, learning_goals,
preferences, progress_milestones, personal_context.
400 validation (content <10 chars), 403 viewing another user's memories,
404 not found, 409 duplicate.
Hide memory UI unless platform memsearch-status is enabled AND the agent's
enable_memory_component is true. Always show the user-level toggles so users
can opt in/out.