接入钉钉AI助理

适用版本

  1. [[Oracle APEX24.2]]
  2. APEX补丁版本 24.2.4

背景

随着科技的不断进步,钉钉推出了AI助理,它能够以悬浮球的形式嵌入网页中,为用户提供便捷的服务。如图所示:
20251201201801

将AI助理集成到Oracle APEX应用的整体架构如下:

OsXM1-2025-11-24-15-17-47
请注意以下几点:
● 搭建独立的Stream后端是必要的,但不在本文讨论范围内。
● AI助理的加载是由用户浏览器发起的,因此无需在Apex服务器与钉钉之间建立直接网络连接。

实施步骤

配置钉钉AI助理

  1. 记录给Stream后端的key
    20251201204510
    1
    2
    3
    
    Assistant ID: d24256
    Client ID: dingec
    Client Secret: SMgS7x
    
  2. 发布AI助理
    20251201204643
    记录嵌入的JS 例如:
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    
    <script>
    window.dingtalkAgentConfig = {
    code: '5d',
    accountToken: '${请在此输入你accountToken,必填字段}',
    channel: '${请在此输入你的channel,非必填字段,可删去}',
    orbIcon: '',
    }
    </script>
    <script
    src="https://g.alicdn.com/dingding-frontend/dd-lui-inside/0.0.6/magicOrb.js"
    defer>
    </script>
    

配置Oracle APEX

1. 引入全局JS包:

添加全局JS包引入 值为上述的https://g.alicdn.com/dingding-frontend/dd-lui-inside/0.0.6/magicOrb.js OsXM1-2025-11-24-15-45-12

2. 在第0页新增区域

在第0页新增区域 用于放AI助理球 OsXM1-2025-11-24-15-52-24
OsXM1-2025-11-24-15-49-35

3. 新增全局页项DING_AI_ACCESS_TOKEN

创建一个新的全局页面项 DING_AI_ACCESS_TOKEN,并配置相应的计算逻辑。 OsXM1-2025-11-24-16-00-49

```sql 
DECLARE
l_jwt_value varchar2(32767);
BEGIN
l_jwt_value := apex_jwt.encode(
        p_iss => 'http://stsdev.xxxxxxxxx.com/adfs/services/trust',
        p_aud => 'microsoft:identityserver:d174b183-f9eb-4861-a0a9-5ed10563f748',
        p_exp_sec => 60 * 5,
        p_other_claims => '"info": ' || apex_json.stringify(:USER_BADGE) ||
                          ',"email": ' || apex_json.stringify(:USER_EMAIL),
        p_signature_key =>q'!!');
RETURN l_jwt_value;
END;
```
4. 将全局页项嵌入AI助理中
```html 
<script>
window.dingtalkAgentConfig = {
code: '5d',
accountToken: '&DING_AI_ACCESS_TOKEN.',
channel: '&APP_NAME.',
orbIcon: '',
}
</script>
```

钉钉AI助理的KEY信息可给 Stream后端

问题

这是一个脚注 1


  1. 参考文献1:  ↩︎

Licensed under CC BY-NC-SA 4.0
最后更新于 2025-12-03 17:43
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计