원클릭으로
persona-inspect
使用 Persona 数据库 Inspection CLI 工具快速排查 persona 模块的 SQLite 数据问题。定位聚合画像查询,单表查询请直接用 sqlite3 CLI。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
使用 Persona 数据库 Inspection CLI 工具快速排查 persona 模块的 SQLite 数据问题。定位聚合画像查询,单表查询请直接用 sqlite3 CLI。
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
使用 DicePP Shell 工具进行交互式机器人指令验收。涉及用户可见指令、骰子结果、会话状态、多步骤流程、私聊/群聊差异或需要确认机器人实际回复时使用;开发验证时可由 auto-test-run 配合调用。
运行 DicePP Persona 真实 LLM 功能回归,客观验收生活模拟、主动消息、私聊多轮、群聊上下文、持久化和 trace。仅在用户显式调用本技能或明确要求 Persona 真实 LLM 回归时使用;不得自动触发,也不得由 subagent 自行调用。
代码审视清理——扫描变更中的遗留调试代码、废弃注释、无 backlog 引用的 TODO 等,一次确认后批量修改,跑通全量测试。
用当前 dev 源码在 5090 端口起一个 Dashboard 实例(默认仅本地 127.0.0.1,--expose 才绑 0.0.0.0),联动 dicepp-shell serve 常驻 Bot Runtime,做 Dashboard 开发联调验收。需要可视化 Dashboard 状态、调试控制通道、验证 Bot↔Dashboard 通信、测试 Dashboard 面板与真实 Bot 生命周期联动,或要在不碰生产 docker 栈的前提下用 --expose 临时把 Dashboard 暴露给外网查看时使用。
从 master 创建新的 feature 分支,基于 git worktree 实现环境隔离。
开发分支提交重组——分析、分组、walkthrough 确认、reset-soft 重提交、验证无内容丢失。不修改代码。
| name | persona-inspect |
| description | 使用 Persona 数据库 Inspection CLI 工具快速排查 persona 模块的 SQLite 数据问题。定位聚合画像查询,单表查询请直接用 sqlite3 CLI。 |
| license | MIT |
| metadata | {"author":"DicePP","version":"2.0"} |
docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py 的目录)data/bots/<bot_id>/bot_data.db 或通过 --db 指定)sqlite3 CLI,本工具专注跨表聚合和格式化输出| 子命令 | 说明 |
|---|---|
user <id> | 用户全貌:画像 + 关系分 + 最近消息 + 评分变化 + 今日用量 |
state | 角色永久状态(JSON pretty-print) |
llm-health | LLM 健康概览:错误分布 + 延迟 p50/p95/p99 + max_rounds + 今日用量 |
active | 群活跃度 Top N + 最近群聊观察 |
tables | 列出所有 persona_ 前缀表的 DDL |
trace | LLM Trace 详情:轮次级 think/tool_call/tool_result 格式化输出 |
| 选项 | 说明 | 默认值 |
|---|---|---|
--db PATH | SQLite 数据库文件路径 | 自动推断 |
--bot-id ID | Bot ID,自动查找对应数据库 | 无 |
--limit N | 返回记录数上限 | 10(trace 默认 5) |
| 选项 | 说明 |
|---|---|
--id N | 精确匹配单条 trace |
--user-id UID | 按 user_id 过滤(自动包含空 user_id 的记录) |
--full | 展开所有返回 trace 的完整内容(默认仅展开最新一条) |
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py state --bot-id <bot_id>
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py user <user_id> --bot-id <bot_id>
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py user <user_id> --bot-id <bot_id>
# 评分变化在输出末尾,按时间升序排列
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py llm-health --bot-id <bot_id>
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py active --bot-id <bot_id>
# 查看某用户最近的 trace(自动展开最新一条的 round_messages)
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py trace --user-id <user_id> --bot-id <bot_id>
# 查看所有 trace 的完整轮次细节
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py trace --user-id <user_id> --full --bot-id <bot_id>
# 查看特定 trace
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py trace --id 42 --bot-id <bot_id>
python docs/agent/skills-common/persona-inspect/scripts/persona_inspect.py tables --bot-id <bot_id>
以下常见需求直接用 sqlite3 更快:
# 日记列表
sqlite3 data/bots/<id>/bot_data.db \
"SELECT date, substr(content,1,100) FROM persona_diary ORDER BY date DESC LIMIT 5;"
# 每日事件
sqlite3 data/bots/<id>/bot_data.db \
"SELECT date, event_type, description FROM persona_daily_events ORDER BY date DESC LIMIT 5;"
# 某用户的消息历史
sqlite3 data/bots/<id>/bot_data.db \
"SELECT role, substr(content,1,100), created_at FROM persona_messages
WHERE user_id='<id>' ORDER BY created_at DESC LIMIT 10;"
# LLM trace 元数据
sqlite3 data/bots/<id>/bot_data.db \
"SELECT id, status, latency_ms, tokens_in, tokens_out, error, created_at
FROM persona_llm_traces ORDER BY created_at DESC LIMIT 10;"
# trace 的 round_messages(轮次级工具调用细节)
sqlite3 data/bots/<id>/bot_data.db \
"SELECT id, status, round_messages FROM persona_llm_traces
WHERE user_id='<id>' ORDER BY created_at DESC LIMIT 3;"
sqlite3 配置建议 (~/.sqliterc):
.headers on
.mode column
.nullvalue NULL
--db 和 --bot-id 同时存在时,--db 优先