231 lines
6.5 KiB
Markdown
231 lines
6.5 KiB
Markdown
# 目录
|
|
|
|
- [查智能体用户数](#查智能体用户数)
|
|
- [查客户端是否登录](#查客户端是否登录)
|
|
- [查智能体对话日志](#查智能体对话日志)
|
|
- [查智能体信息](#查智能体信息)
|
|
- [查智能体使用数据](查智能体使用数据)
|
|
- [查项目统计数据](#查项目统计数据)
|
|
- [新增devco账号](#新增devco账号)
|
|
- [查某个用户的智能体](#查某个用户的智能体)
|
|
- [查工作流工单状态](#查工作流工单状态)
|
|
- [查智能体绑定的技能](#查智能体绑定的技能)
|
|
- [查智能体的发布快照](#查智能体的发布快照)
|
|
|
|
## 查智能体用户数
|
|
|
|
```sql
|
|
select
|
|
'单智能体' AS agent_type,
|
|
agent.agent_id,
|
|
agent.agent_name,
|
|
IFNULL (aus.user_num, 0) AS user_num
|
|
from `mis-agent`.`agent` AS agent left join agent_usage_stats AS aus ON agent.agent_id = aus.agent_id
|
|
where agent.del_flag = '0'
|
|
UNION ALL
|
|
select
|
|
'多智能体' AS agent_type,
|
|
ma.agent_id,
|
|
ma.agent_name,
|
|
IFNULL (maus.user_num, 0) AS user_num
|
|
from `mis-agent`.`multi_agent_main` AS ma left join agent_usage_stats AS maus ON ma.agent_id = maus.agent_id
|
|
where ma.del_flag = '0';
|
|
```
|
|
|
|
## 查客户端是否登录
|
|
|
|
```sql
|
|
select * from `mis-cloud-claw`.`sys_logininfor`
|
|
where client_key = (
|
|
select client_key from `mis-cloud-claw`.`sys_client` where `client_id` = '客户端ID'
|
|
);
|
|
```
|
|
|
|
## 查智能体对话日志
|
|
|
|
1. 查询所有切片号,假设查询出来的`part`是[1,2]
|
|
|
|
```sql
|
|
select part from `mis-agent`.`log_agent_chat` where del_flag = '0';
|
|
```
|
|
|
|
2. 根据切片号查询并合并各个切片表的数据
|
|
|
|
```sql
|
|
select * from `mis-agent`.`log_agent_chat_1` where chat_window_id = 会话ID
|
|
UNION ALL
|
|
select * from `mis-agent`.`log_agent_chat_2` where chat_window_id = 会话ID
|
|
```
|
|
|
|
## 查智能体信息
|
|
|
|
必须提供**智能体ID**,在不明确用户查询的是单智能体还是多智能体时,友好的询问要查询哪种智能体。
|
|
|
|
1. 查询单智能体信息
|
|
|
|
```sql
|
|
with agent_info AS (
|
|
select
|
|
agent_id,
|
|
agent_name,
|
|
system_prompt,
|
|
`description`,
|
|
max_messages,
|
|
max_tokens,
|
|
kb_uuids,
|
|
kb_configs,
|
|
kb_similarity_threshold,
|
|
kb_top_k,
|
|
kb_max_recall_toekn,
|
|
llm_name,
|
|
long_term_memory,
|
|
case kb_mode when '1' then '直接检索' when '2' then 'tool检索' else '' end AS kb_mode,
|
|
case kb_search_type when '0' then '向量检索' when '1' then '混合检索' when '2' then '智能检索' else '' end AS kb_search_type
|
|
from `mis-agent`.`agent`
|
|
where agent_id = <智能体ID>
|
|
),
|
|
agent_skill AS (
|
|
select
|
|
<智能体ID> AS agent_id,
|
|
GROUP_CONCAT(skill_name) AS skill_names
|
|
from `mis-mcp`.`skill`
|
|
where skill_id in (
|
|
select skill_id from mis-agent.agent_skill_mapping
|
|
where agent_id = <智能体ID>
|
|
)
|
|
),
|
|
agent_mcp_tool AS (
|
|
select
|
|
<智能体ID> AS agent_id,
|
|
GROUP_CONCAT(tool_name) AS tool_names
|
|
from `mis-mcp`.`map_tools`
|
|
where mcp_server_uuid in (
|
|
select mcp_server_uuid from mis-agent.agent_tool_mapping
|
|
where relate_agent_id = <智能体ID>
|
|
)
|
|
)
|
|
|
|
select * from agent_info AS a
|
|
left join agent_skill AS b on a.agent_id = b.agent_id
|
|
left join agent_mcp_tool AS c on a.agent_id = c.agent_id
|
|
```
|
|
|
|
2. 查询多智能体信息
|
|
|
|
查询主智能体:
|
|
```sql
|
|
select * from `mis-agent`.`multi_agent_main` where agent_id = <主智能体ID>
|
|
```
|
|
|
|
查询子智能体:
|
|
```sql
|
|
select * from `mis-agent`.`agent_release_info` where release_id in (
|
|
select
|
|
release_id
|
|
from `mis-agent`.`multi_agent_sub`
|
|
where main_agent_id = <主智能体ID>
|
|
)
|
|
```
|
|
|
|
## 查智能体使用数据
|
|
|
|
必须提供**智能体ID**。
|
|
|
|
```sql
|
|
select * from `mis-agent`.`agent_usage_stats_daily` where agent_id = <智能体ID> order by daily desc
|
|
```
|
|
|
|
## 查项目统计数据
|
|
|
|
必须提供**项目名称**。
|
|
|
|
1. 查询项目注册表,判断是否包含该项目。用户提供的项目名称大概率是模糊的,比如"认证"、"ebiz",要根据语义判断究竟是哪一个,如果猜不准就询问一下用户是哪个。
|
|
|
|
```sql
|
|
select * from `mis-agent`.`project_stats_registry`
|
|
```
|
|
|
|
**重要:`project_stats_registry`里的`id`字段,称为项目ID,或者叫project_id,后面的步骤需要用到。**
|
|
|
|
2. 查询项目统计数据
|
|
|
|
```sql
|
|
select * from `mis-agent`.`project_data_stats_daily` where project_id = <project_id>
|
|
```
|
|
|
|
## 新增devco账号
|
|
|
|
用户的输入格式如下。
|
|
|
|
```text
|
|
devco
|
|
username1
|
|
username2
|
|
username3
|
|
```
|
|
|
|
- 在用户的输入中,`devco`是触发d当前技能的关键词。
|
|
- **从第二行开始,去掉空白行以后,每一个都是用户名。**如果用户提供的用户名存在重复,请忽略大小写保留1个即可。
|
|
- `client_id`和`state`字段是固定值,用户名对应的是`account`字段。
|
|
|
|
**在`mis-dev`资源下的`mis-cloud-paw`库中执行**批量插入sql,示例:
|
|
|
|
```sql
|
|
INSERT INTO `mis-cloud-paw`.`external_login_client_account`(client_id, account, state) VALUES
|
|
('226c18408b5705449f37b621a432a6d3', 'username1', 1),
|
|
('226c18408b5705449f37b621a432a6d3', 'username2', 1),
|
|
('226c18408b5705449f37b621a432a6d3', 'username3', 1);
|
|
```
|
|
|
|
## 查某个用户的智能体
|
|
|
|
把`{username}`替换成真实的用户名。
|
|
|
|
```sql
|
|
select
|
|
agent_id, agent_mode,
|
|
publish_status, publish_scope, published_at,
|
|
version_lane, key_scope_default
|
|
from `mis-paw-claw`.`agent`
|
|
where del_flag = '0'
|
|
and create_by = (select user_id from `mis-cloud-claw`.`sys_user` where user_name = '{username}')
|
|
```
|
|
|
|
## 查工作流工单状态
|
|
|
|
把`{business_key}`替换成申请单ID。
|
|
|
|
```sql
|
|
call `mis-workflow-claw`.sp_flow_status_by_business_key('{business_key}')
|
|
```
|
|
|
|
## 查智能体绑定的技能
|
|
|
|
把`{agentId}`替换成真实的智能体ID。
|
|
|
|
```sql
|
|
with mapping AS (
|
|
select
|
|
asm.agent_id,asm.mapping_id,asm.skill_id,asm.skill_release_id,asm.create_time
|
|
from `mis-paw-claw`.`agent_skill_mapping` asm
|
|
where asm.agent_id = '{agentId}'
|
|
and asm.del_flag = '0'
|
|
)
|
|
select mapping.mapping_id, mapping.skill_id, mapping.skill_release_id, sk.skill_name,sk.skill_file
|
|
from mapping join `mis-mcp-paw-claw`.`skill` sk
|
|
on mapping.skill_id = sk.skill_id and sk.del_flag = '0'
|
|
union all
|
|
select mapping.mapping_id, mapping.skill_id, mapping.skill_release_id, sr.skill_name, sr.skill_file
|
|
from mapping join `mis-mcp-paw-claw`.`skill_release` sr
|
|
on mapping.skill_release_id = sr.skill_release_id and sr.del_flag = '0'
|
|
```
|
|
|
|
## 查智能体的发布快照
|
|
|
|
把`{agentId}`替换成真实的智能体ID。
|
|
|
|
```sql
|
|
select * from `mis-paw-claw`.`agent_published_version_snapshot` apvs
|
|
where apvs.agent_id = '{agentId}'
|
|
and apvs.del_flag = '0'
|
|
``` |