从 Prisma 后台读取器读取;数据库提供方:Prisma。
内部运营后台 / v0.1 MVP
用户运营控制台
用来查看一个用户从消息进入、队列处理、回复发件箱、用量扣费、记忆沉淀到错误状态的完整链路。 页面会优先读取实时 API;如果 API 不可用,会回退到本地样例数据。
会话数据来自数据库会话和最近消息。
通过 /admin/queue 从当前 QueueRuntime 读取。
从数据库 outbound_message 记录读取。
从数据库 usage_record 记录读取。
从数据库 wallet_ledger 记录和最新余额状态读取。
由失败的队列任务和发件箱记录推导。
用户详情
单用户运营视图
当前用户
wmdD_uGQAAbf9Qzegr9osfgjCjg_-yNA
21310e29-6fab-44d2-a023-fe9f378c3b2e;风险 正常;最近活跃 2026-06-28T17:46:30.356Z
- 余额
- 297
- 记忆
- 开启
- 媒体记忆
- 关闭
- 主动消息
- 关闭
消息预览
Prisma Message table previews| ID | 方向 | 状态 | 预览 |
|---|---|---|---|
| a8bb64b5-f0fd-423a-b63e-e5e3d0d47814 | 入站/用户 | 已接收;文本预览 | 你好 |
| 9055cdb9-e6a1-4e4d-9831-fa00f7f670d6 | 出站/AI | 已发送;文本预览 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| 3b1e80d9-5477-4bcd-a1ef-5b495087df73 | 入站/用户 | 已接收;文本预览 | 你好 |
| e5780dfb-6c8e-4f67-96fb-c12f23710b2c | 出站/AI | 已发送;文本预览 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| 81b1a6cd-2fb7-4a69-8b5b-f4f9b65a88f0 | 入站/用户 | 已接收;文本预览 | 你叫小语 |
| 528cecf6-003f-4ebf-bf2a-3a91bdfe9223 | 出站/AI | 已发送;文本预览 | 收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。 |
发件箱
仅展示发送内容预览| ID | 状态 | 尝试次数 | 预览 |
|---|---|---|---|
| 872a287d-15dd-4375-a1e3-1258363e6819 | 已发送 | 1 | 收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。 |
| 54a578f7-31e8-4e02-9889-055b3d08407f | 已发送 | 1 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| dbd1332e-2d55-4554-beb2-c8c992304904 | 失败可重试 | 5 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
用量 / 账本
账务只读模型记忆
仅展示内容预览队列 / 错误 / 审计
根据运行时状态推导链路对象
wmdD_uGQAAbf9Qzegr9osfgjCjg_-yNA
- 用户 ID
- 21310e29-6fab-44d2-a023-fe9f378c3b2e
- 余额
- 297 点
- 记忆
- 开启
- 媒体记忆
- 关闭
- 主动消息
- 关闭
- 风险
- 正常
- 最近活跃
- 2026-06-28T17:46:30.356Z
会话边界
63563012-6731-4e8f-9c7f-5bdf49da6032
- 人设
- 状态
- 打开
- 最近消息
- 2026-06-28T18:12:08.000Z
- 运行来源
- API 进程
DB conversation row loaded; no summary has been written yet.
反馈 / 客服
内部测试记录
当前记录
| 用户 | 分类 | 严重程度 | 状态 | 摘要 | 创建时间 |
|---|---|---|---|---|---|
| 模拟用户user_mock_1 | 缺陷 | 高 | 已分诊 | 后台观察到一次可重试的发送失败,需要发送侧跟进。 | 2026-06-27T02:36:00.000+08:00 |
| 模拟用户user_mock_1 | 客服支持 | 中 | 待处理 | 用户反馈 Beta 阶段主动回复频率偏高。 | 2026-06-27T02:30:00.000+08:00 |
运营操作
当前用户的低风险控制
消息与记忆控制
只修改当前用户的状态。这些操作不会硬删除记忆、不会修改余额、不会真实发消息,也不会连接外部认证服务。
失败发送处理
重试只会把符合条件的失败记录标记为待发送;忽略只会标记取消。两条路径都不会调用微信,也不会删除内容。
高风险操作
修改余额、删除用户、真实回放、外部系统接入等操作保持禁用,直到具备专门授权、审计和回滚流程。
余额事实源只能通过计费账本和对账流程变更。
需要删除申请流程、授权、审计复核和回滚方案。
最近操作
运营状态变更
当前链路暂无低风险运营操作记录。
来源:Prisma能力边界
实时读取与契约兜底
conversation
实时Durable conversation/user data is read from DB tables.
Prisma 后台读取助手messages
实时链路响应中展示 6 条消息。
Prisma Message 表queue
实时In-memory runtime is queryable now; Redis/BullMQ adapter should preserve this read contract.
QueueRuntime.listJobs(队列读取)outbox
实时实时发件箱记录已可见。
Prisma OutboundMessage 表usage
实时当前链路对象返回 3 条用量记录。
Prisma UsageRecord 表ledger
实时当前链路对象返回 4 条钱包账本记录。
Prisma WalletLedger 表记忆
实时当前链路对象返回 0 条记忆记录。
Prisma MemoryItem 表errors
实时Structured logs or an error table can be added later without changing the admin response shape.
队列 / 发件箱推导状态审计
实时当前链路对象返回 0 条审计记录。
Prisma AuditLog 表MVP 边界
从模拟看板到实时链路视图
会话
已接入会话对象已从 Prisma 数据库记录加载。
消息
已接入当前链路对象可见 6 条最近消息。
队列
已接入当前 QueueRuntime 可见 4 个任务。
发件箱
已接入仓库中可见 3 条发件箱记录。
用量
已接入数据库中可见 3 条用量记录。
账本
已接入数据库中可见 4 条钱包账本记录。
记忆
已接入数据库读取器已启用;当前链路对象还没有记忆记录。
错误
已接入队列和发件箱失败会作为后台错误展示。
链路时间线
一条入站消息的最小可观测路径
- conversation正常
已从数据库加载会话
DB conversation row loaded; no summary has been written yet.
- userId=21310e29-6fab-44d2-a023-fe9f378c3b2e
- personaId=00000000-0000-0000-0000-000000000201
- messages=6
- message正常
用户消息 已接收
你好
- contentType=text
- previewKind=text_preview
- platformMessageId=BHjonr5XmJqbuZDdwWfScAfuhv
- message正常
AI消息 已发送
Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。
- contentType=text
- previewKind=text_preview
- idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv:ai_message
- replyToMessageId=a8bb64b5-f0fd-423a-b63e-e5e3d0d47814
- message正常
用户消息 已接收
你好
- contentType=text
- previewKind=text_preview
- platformMessageId=AZS1RXvde4qGm7hECB5MJ3PUhf
- message正常
AI消息 已发送
Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。
- contentType=text
- previewKind=text_preview
- idempotencyKey=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf:ai_message
- replyToMessageId=3b1e80d9-5477-4bcd-a1ef-5b495087df73
- message正常
用户消息 已接收
你叫小语
- contentType=text
- previewKind=text_preview
- platformMessageId=AvaxtRE4jQkQL8bSTeHhtu25Qj
- message正常
AI消息 已发送
收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。
- contentType=text
- previewKind=text_preview
- idempotencyKey=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj:ai_message
- replyToMessageId=81b1a6cd-2fb7-4a69-8b5b-f4f9b65a88f0
- queue正常
wechat.inbound / message.received
任务状态:已完成。
- idempotencyKey=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf
- traceId=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf
- attempts=1
- queue正常
wechat.inbound / message.received
任务状态:已完成。
- idempotencyKey=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj
- traceId=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj
- attempts=1
- queue失败
wechat.inbound / message.received
wechat_send_failed:wecom_95000
- idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv
- traceId=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv
- attempts=5
- queue等待
queue.dead / job.dead
任务状态:等待。
- idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv:dead
- traceId=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv
- attempts=0
- outbox正常
发件箱 已发送
收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。
- channel=wechat_kf
- idempotencyKey=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj:outbox:0
- attempts=1
- outbox正常
发件箱 已发送
Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。
- channel=wechat_kf
- idempotencyKey=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf:outbox:0
- attempts=1
- outbox失败
发件箱 失败可重试
Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。
- channel=wechat_kf
- idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv:outbox:0
- attempts=5
- usage正常
用量 已结算
成本 1 / 扣费 1;来源:message=528cecf6-003f-4ebf-bf2a-3a91bdfe9223; idempotencyKey=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj:usage
- type=chat_token
- usage正常
用量 已结算
成本 1 / 扣费 1;来源:message=e5780dfb-6c8e-4f67-96fb-c12f23710b2c; idempotencyKey=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf:usage
- type=chat_token
- usage正常
用量 已结算
成本 1 / 扣费 1;来源:message=9055cdb9-e6a1-4e4d-9831-fa00f7f670d6; idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv:usage
- type=chat_token
- ledger正常
账本 结算
usage_settled;变动 -1;变更后余额 297
- entryType=settle
- ledger正常
账本 结算
usage_settled;变动 -1;变更后余额 298
- entryType=settle
- ledger正常
账本 结算
usage_settled;变动 -1;变更后余额 299
- entryType=settle
- ledger正常
账本 grant
local_mvp_initial_balance;变动 300;变更后余额 300
- entryType=grant
消息
最近会话记录
| ID | 发送方 | 状态 | 预览 |
|---|---|---|---|
| a8bb64b5-f0fd-423a-b63e-e5e3d0d47814 | inbound/user | 已接收 | 你好 |
| 9055cdb9-e6a1-4e4d-9831-fa00f7f670d6 | outbound/ai | 已发送 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| 3b1e80d9-5477-4bcd-a1ef-5b495087df73 | inbound/user | 已接收 | 你好 |
| e5780dfb-6c8e-4f67-96fb-c12f23710b2c | outbound/ai | 已发送 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| 81b1a6cd-2fb7-4a69-8b5b-f4f9b65a88f0 | inbound/user | 已接收 | 你叫小语 |
| 528cecf6-003f-4ebf-bf2a-3a91bdfe9223 | outbound/ai | 已发送 | 收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。 |
发件箱
出站发送队列
| ID | 状态 | 渠道 | 尝试次数 | 预览 |
|---|---|---|---|---|
| 872a287d-15dd-4375-a1e3-1258363e6819 | 已发送 | wechat_kf | 1 | 收到。你刚才说「你叫小语」,我会用短句陪你慢慢聊。 |
| 54a578f7-31e8-4e02-9889-055b3d08407f | 已发送 | wechat_kf | 1 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
| dbd1332e-2d55-4554-beb2-c8c992304904 | 失败可重试 | wechat_kf | 5 | Xiaoyu:收到。你刚才说「你好」,我会用短句陪你慢慢聊。 |
用量 / 账本
账务边界
成本 1 / 扣费 1;来源:message=528cecf6-003f-4ebf-bf2a-3a91bdfe9223; idempotencyKey=wechat_kf:AvaxtRE4jQkQL8bSTeHhtu25Qj:usage
成本 1 / 扣费 1;来源:message=e5780dfb-6c8e-4f67-96fb-c12f23710b2c; idempotencyKey=wechat_kf:AZS1RXvde4qGm7hECB5MJ3PUhf:usage
成本 1 / 扣费 1;来源:message=9055cdb9-e6a1-4e4d-9831-fa00f7f670d6; idempotencyKey=wechat_kf:BHjonr5XmJqbuZDdwWfScAfuhv:usage
变更后余额 297;原因:usage_settled
变更后余额 298;原因:usage_settled
变更后余额 299;原因:usage_settled
变更后余额 300;原因:local_mvp_initial_balance
记忆
长期记忆只读模型
当前链路暂无可见 DB 记忆记录。
读取器:Prisma当前链路暂无打开中的记忆删除请求。
删除路径:仅写入请求标记错误
运营错误状态
queue_job_dead
wechat_send_failed:wecom_95000
负责人:queue建议处理:inspect dead-letter job and replay manuallysend_failed_retryable
发件箱消息 dbd1332e-2d55-4554-beb2-c8c992304904 is failed_retryable.
负责人:sender建议处理:等到下次可重试时间后由发送 Worker 重试send_failed_retryable
wecom_95000
负责人:sender建议处理:等到下次可重试时间后由发送 Worker 重试API 合约
后台读取与安全操作接口
GET /admin/trace/live读取会话、队列、发件箱、用量、账本和推导错误的实时后台链路。
负责人:api- mode
- source
- overview
- user
- conversation
- timeline
- outbox
- usage
- ledger
- memory
- deletionRequests
- errors
- audit
- capabilities
GET /admin/users/:userId/trace当 API 进程观察到某个用户后,按同一链路契约筛选该用户。
负责人:api- user
- conversation
- timeline
- outbox
- usage
- ledger
- memory
- deletionRequests
- errors
GET /admin/users?limit=&search=&status=Read-only internal user list for operations search, filtering, and trace-subject selection.
负责人:api- items[].id
- items[].status
- items[].balanceUnits
- items[].memoryEnabled
- items[].proactiveEnabled
- items[].lastSeen
GET /admin/overviewSmall read model for admin landing page counts and provider status.
负责人:api- overview
- source
- capabilities
GET /admin/outboxOutbound queue rows exposed through the current ConversationRepository.
负责人:api- items[].id
- items[].status
- items[].channel
- items[].payload
- items[].attemptCount
GET /admin/queue当前进程队列任务的运行时可观测数据。
负责人:api- items[].job
- items[].status
- items[].attemptsMade
- items[].lastError
GET /admin/errors从队列和发件箱状态推导出的运营错误。
负责人:api- items[].code
- items[].severity
- items[].relatedObject
- items[].suggestedAction
GET /admin/feedbackInternal Beta feedback/support records from the process-memory mock store.
负责人:api- items[].userId
- items[].category
- items[].severity
- items[].status
- items[].summary
- items[].createdAt
POST /admin/feedbackCreate an internal feedback record with audit-style result; no external ticketing system is called.
负责人:api- action
- status
- source
- targetId
- item
- audit.externalSystem
- audit.rawMessageReturned
GET /users/:userId/settings/memory内部用户级记忆 / 主动消息设置读取模型,不调用外部服务。
负责人:api- found
- source
- settings.memoryEnabled
- settings.proactiveEnabled
- settings.mediaMemoryEnabled
- safety
POST /users/:userId/settings/memory内部用户级设置更新,用于记忆、媒体记忆和主动消息控制。
负责人:api- action
- status
- targetId
- reasonCode
- message
- before
- after
POST /users/:userId/settings/memory/delete-request用户级记忆删除申请;关闭记忆并记录申请,不做硬删除。
负责人:api- action
- status
- targetType
- targetId
- reasonCode
- message
- after.hardDelete
POST /admin/users/:userId/actions/pause-proactive低风险运营操作:关闭主动消息,不发送真实消息。
负责人:api- action
- status
- targetId
- reasonCode
- message
- before
- after
POST /admin/users/:userId/actions/disable-memory低风险运营操作:关闭记忆,不删除记忆记录。
负责人:api- action
- status
- targetId
- reasonCode
- message
- before
- after
POST /admin/users/:userId/actions/request-memory-deletion后台控制台的记忆删除申请标记;停止后续记忆使用,不硬删除。
负责人:api- action
- status
- targetType
- targetId
- reasonCode
- message
- after.scope
- after.hardDelete
POST /admin/outbox/:outboxId/actions/retry把符合条件的失败发件箱记录标记为待重试,不执行真实发送。
负责人:api- action
- status
- targetId
- reasonCode
- message
- before
- after
POST /admin/outbox/:outboxId/actions/ignore把符合条件的发件箱记录标记为已取消,不删除消息载荷。
负责人:api- action
- status
- targetId
- reasonCode
- message
- before
- after
GET /admin/trace/mock当 API / 数据库数据不可用时,用于后台界面开发的静态契约样例。
负责人:api- same shape as /admin/trace/live