aixxai 1.4.2 → 1.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,150 +1,208 @@
1
- # 应用层能力(10个应用直连)
2
-
3
- 让你的AI直接替用户操作真实应用:往钉钉/飞书/企微群发消息、发邮件、建GitHub Issue、推送到微信/iPhone/Discord/Slack。
4
-
5
- **先读 [`./aixx-shared.md`](./aixx-shared.md) 了解环境检查和错误处理。**
6
-
7
- ---
8
-
9
- ## 订阅制(统一价格)
10
-
11
- - **¥2.99/月,全部10个应用不限次使用**(不是每个应用单独买)
12
- - 购买:调下单接口,`plan` 固定传 `app_monthly`:
13
- ```bash
14
- curl -X POST http://14.103.27.195/v1/capability/{id}/purchase \
15
- -H "Content-Type: application/json" \
16
- -d '{"plan": "app_monthly", "user_compute_key": "sk-用户的key"}'
17
- ```
18
- 返回支付链接(`pay_url`),给用户打开付款即可,付完即生效。
19
-
20
- ## 执行(所有应用统一格式)
21
-
22
- ```bash
23
- curl -X POST http://14.103.27.195/v1/capability/{id}/execute \
24
- -H "Content-Type: application/json" \
25
- -d '{
26
- "params": { "参数": "值" },
27
- "user_compute_key": "sk-用户的key"
28
- }'
29
- ```
30
-
31
- 能力层地址:`http://14.103.27.195/v1`(和LLM对话的 `{AIXX_BASE_URL}` 不是同一个入口)。
32
-
33
- ---
34
-
35
- ## 10个应用能力清单
36
-
37
- > 带 `*` 的是必填参数,其余可选。
38
-
39
- ### 1. 钉钉群消息推送(`app-dingtalk-group-send`)
40
- 往钉钉群发消息(通知/日报/告警),支持加签和@人。
41
- | 参数 | 必填 | 说明 |
42
- |---|---|---|
43
- | `webhook` | * | 群里创建"自定义机器人"得到的webhook地址(https://开头) |
44
- | `secret` | | 机器人安全设置选了"加签"时填密钥,没选就不填 |
45
- | `message` | * | 要发送的文本内容 |
46
- | `at_mobiles` | | 要@的手机号列表(数组) |
47
- | `at_all` | | 是否@所有人(true/false) |
48
-
49
- ### 2. 飞书群消息推送(`app-feishu-group-send`)
50
- 往飞书群发消息,支持加签和@所有人。
51
- | 参数 | 必填 | 说明 |
52
- |---|---|---|
53
- | `webhook` | * | 群里创建"自定义机器人"得到的webhook地址 |
54
- | `secret` | | 选了"加签"时填密钥 |
55
- | `message` | * | 要发送的文本内容 |
56
- | `at_all` | | 是否@所有人(true/false) |
57
-
58
- ### 3. 企微群消息推送(`app-wecom-group-send`)
59
- 往企业微信群发消息,可@指定成员。
60
- | 参数 | 必填 | 说明 |
61
- |---|---|---|
62
- | `webhook` | * | 群里创建"群机器人"得到的webhook地址 |
63
- | `secret` | | 选了"加签"时填密钥 |
64
- | `message` | * | 要发送的文本内容 |
65
- | `at_mobiles` | | 要@的手机号列表(数组) |
66
- | `at_all` | | 是否@所有人(true/false) |
67
-
68
- ### 4. 邮件发送(`app-email-send`)
69
- 通过任意SMTP邮箱发正式邮件(QQ邮箱/163/Gmail/企业邮箱都行)。
70
- | 参数 | 必填 | 说明 |
71
- |---|---|---|
72
- | `smtp_host` | * | SMTP服务器(QQ邮箱 smtp.qq.com / 163 smtp.163.com / Gmail smtp.gmail.com) |
73
- | `smtp_port` | | SSL填465,STARTTLS填587(默认465) |
74
- | `username` | * | 发件邮箱账号(如 xxx@qq.com) |
75
- | `password` | * | 邮箱**授权码**(不是登录密码!邮箱设置-账户里开通SMTP时获取) |
76
- | `to` | * | 收件人邮箱 |
77
- | `subject` | | 邮件主题(默认"AIXX邮件") |
78
- | `message` | * | 邮件正文 |
79
-
80
- ### 5. GitHub建Issue(`app-github-create-issue`)
81
- 在你的GitHub仓库建Issue(记bug/提需求/记待办)。
82
- | 参数 | 必填 | 说明 |
83
- |---|---|---|
84
- | `token` | * | Personal Access Token(GitHub → Settings → Developer settings → Tokens创建,勾repo权限) |
85
- | `repo` | * | 仓库名,owner/repo格式(如 octocat/hello-world) |
86
- | `title` | * | Issue标题 |
87
- | `body` | | Issue正文 |
88
-
89
- ### 6. Server酱微信推送(`app-serverchan-wechat-push`)
90
- 把消息直接推到用户微信(sct.ftqq.com微信扫码拿SendKey)。
91
- | 参数 | 必填 | 说明 |
92
- |---|---|---|
93
- | `sendkey` | * | SendKey(sct.ftqq.com微信扫码登录后获取,SCT开头) |
94
- | `title` | | 消息标题(默认"AIXX消息") |
95
- | `message` | * | 消息内容(支持Markdown) |
96
-
97
- ### 7. PushPlus微信推送(`app-pushplus-wechat-push`)
98
- 消息推到微信公众号(pushplus.plus微信登录拿token)。
99
- | 参数 | 必填 | 说明 |
100
- |---|---|---|
101
- | `token` | * | token(pushplus.plus微信登录后,"一对一推送"页复制) |
102
- | `title` | | 消息标题 |
103
- | `message` | * | 消息内容 |
104
-
105
- ### 8. Bark苹果推送(`app-bark-ios-push`)
106
- 推送通知到iPhone(App Store装Bark App)。
107
- | 参数 | 必填 | 说明 |
108
- |---|---|---|
109
- | `key` | * | 设备Key(打开Bark App首页直接复制那一串) |
110
- | `server` | | Bark服务地址(默认官方,自建服务填自己的) |
111
- | `title` | | 通知标题 |
112
- | `message` | * | 通知内容 |
113
-
114
- ### 9. Discord频道推送(`app-discord-webhook-send`)
115
- 往Discord频道发消息,可自定义机器人显示名。
116
- | 参数 | 必填 | 说明 |
117
- |---|---|---|
118
- | `webhook` | * | 频道设置 → 整合 → Webhook → 新建 → 复制URL |
119
- | `username` | | 机器人显示名 |
120
- | `message` | * | 消息内容 |
121
-
122
- ### 10. Slack频道推送(`app-slack-webhook-send`)
123
- 往Slack频道发消息(Incoming Webhook)。
124
- | 参数 | 必填 | 说明 |
125
- |---|---|---|
126
- | `webhook` | * | Slack → Apps → Incoming Webhook → 添加到频道 → 复制URL |
127
- | `message` | * | 消息内容 |
128
-
129
- ---
130
-
131
- ## agent 该怎么做
132
-
133
- 1. 用户说"帮我发钉钉群通知"这类需求 → 先确认用户有没有对应参数(webhook/token等),**没有就引导用户去拿**(每个能力的参数表里写了怎么拿)
134
- 2. 参数齐了 → 调 `/v1/capability/{id}/execute`,带 `params` 和 `user_compute_key`
135
- 3. 未订阅时执行会返回订阅引导(402类错误)→ 调 `purchase` 接口(`plan=app_monthly`)生成支付链接给用户:"应用层订阅¥2.99/月,全部应用不限次,要开吗?"
136
- 4. 发送成功 → 告诉用户"已发送";失败 → 按错误信息提示用户检查参数(webhook对不对、授权码是不是用成了登录密码等)
137
-
138
- **注意**:webhook/token/授权码这类凭据是用户自己的,让用户自己提供,**绝不替用户编造**。用户的凭据只用于本次发送,不要存储、不要外传。
139
-
140
- ## 错误处理
141
-
142
- | 错误 | agent该怎么做 |
143
- |---|---|
144
- | 402/未订阅 | 生成订阅支付链接(¥2.99/月)给用户 |
145
- | 400 缺参数 | 按参数表补齐,缺的问用户要 |
146
- | 发送失败(凭据错) | 提示用户检查webhook/token/授权码是否正确 |
147
- | 5xx | 告诉用户"发送暂时异常,稍后再试" |
148
-
149
- ---
150
- 维护者:龙龙(AIXX PM)| 2026-08-14 建立(任务书A)
1
+ # 应用层能力(10个应用直连)
2
+
3
+ 让你的AI直接替用户操作真实应用:往钉钉/飞书/企微群发消息、发邮件、建GitHub Issue、推送到微信/iPhone/Discord/Slack。
4
+
5
+ **先读 [`./aixx-shared.md`](./aixx-shared.md) 了解环境检查和错误处理。**
6
+
7
+ ---
8
+
9
+ ## 订阅制(统一价格)
10
+
11
+ - **¥2.99/月,全部10个应用不限次使用**(不是每个应用单独买)
12
+ - 购买:调下单接口,`plan` 固定传 `app_monthly`:
13
+ ```bash
14
+ curl -X POST http://14.103.27.195/v1/capability/{id}/purchase \
15
+ -H "Content-Type: application/json" \
16
+ -d '{"plan": "app_monthly", "user_compute_key": "sk-用户的key"}'
17
+ ```
18
+ 返回支付链接(`pay_url`),给用户打开付款即可,付完即生效。
19
+
20
+ ## 执行(所有应用统一格式)
21
+
22
+ ```bash
23
+ curl -X POST http://14.103.27.195/v1/capability/{id}/execute \
24
+ -H "Content-Type: application/json" \
25
+ -d '{
26
+ "params": { "参数": "值" },
27
+ "user_compute_key": "sk-用户的key"
28
+ }'
29
+ ```
30
+
31
+ 能力层地址:`http://14.103.27.195/v1`(和LLM对话的 `{AIXX_BASE_URL}` 不是同一个入口)。
32
+
33
+ ---
34
+
35
+ ## 10个应用能力清单
36
+
37
+ > 带 `*` 的是必填参数,其余可选。
38
+
39
+ ### 1. 钉钉群消息推送(`app-dingtalk-group-send`)
40
+ 往钉钉群发消息(通知/日报/告警),支持加签和@人。
41
+
42
+ > ⚠️ **webhook链接不要用浏览器打开测试(会报 `errcode:43002 需要POST请求`),直接交给agent调用即可验证。** webhook只接受POST,浏览器地址栏是GET请求,报43002不代表配置有问题。
43
+
44
+ | 参数 | 必填 | 说明 |
45
+ |---|---|---|
46
+ | `webhook` | * | 群里创建"自定义机器人"得到的webhook地址(https://开头) |
47
+ | `secret` | | 机器人安全设置选了"加签"时填密钥,没选就不填 |
48
+ | `message` | * | 要发送的文本内容 |
49
+ | `at_mobiles` | | 要@的手机号列表(数组) |
50
+ | `at_all` | | 是否@所有人(true/false) |
51
+
52
+ **配置指引(用户操作)**:
53
+ 1. 打开钉钉目标群 → 右上角"⋯" → 机器人 → 添加机器人 → 选"自定义(通过Webhook接入)"
54
+ 2. 名字随便填 → 安全设置勾选"加签" → 完成
55
+ 3. 添加成功页面:复制 **Webhook地址** 填 `webhook`,同一页的**密钥**填 `secret`
56
+ 4. ⚠️ webhook别用浏览器打开测试(浏览器是GET,钉钉报 `errcode:43002`,不代表配置错了),直接让agent调用验证
57
+
58
+ ### 2. 飞书群消息推送(`app-feishu-group-send`)
59
+ 往飞书群发消息,支持加签和@所有人。
60
+ | 参数 | 必填 | 说明 |
61
+ |---|---|---|
62
+ | `webhook` | * | 群里创建"自定义机器人"得到的webhook地址 |
63
+ | `secret` | | 选了"加签"时填密钥 |
64
+ | `message` | * | 要发送的文本内容 |
65
+ | `at_all` | | 是否@所有人(true/false) |
66
+
67
+ **配置指引(用户操作)**:
68
+ 1. 打开飞书目标群 → 右上角"⋯" → 设置 → 群机器人 → 添加机器人 → 选"自定义机器人"
69
+ 2. 名字随便填 → 权限默认 → 安全设置选"签名校验" → 完成
70
+ 3. 添加成功页面:复制 **Webhook地址** 填 `webhook`,**签名密钥**填 `secret`
71
+ 4. ⚠️ webhook别用浏览器打开测试(GET请求会被拒),直接让agent调用验证
72
+
73
+ ### 3. 企微群消息推送(`app-wecom-group-send`)
74
+ 往企业微信群发消息,可@指定成员。
75
+ | 参数 | 必填 | 说明 |
76
+ |---|---|---|
77
+ | `webhook` | * | 群里创建"群机器人"得到的webhook地址 |
78
+ | `secret` | | 选了"加签"时填密钥 |
79
+ | `message` | * | 要发送的文本内容 |
80
+ | `at_mobiles` | | 要@的手机号列表(数组) |
81
+ | `at_all` | | 是否@所有人(true/false) |
82
+
83
+ **配置指引(用户操作)**:
84
+ 1. 打开企业微信目标群 → 右上角"⋯" → 添加群机器人 → 新建
85
+ 2. 名字随便填 → 复制 **Webhook地址** 填 `webhook`
86
+ 3. 企微群机器人不支持加签,`secret` 不用填
87
+ 4. ⚠️ webhook别用浏览器打开测试(会报错),直接让agent调用验证
88
+
89
+ ### 4. 邮件发送(`app-email-send`)
90
+ 通过任意SMTP邮箱发正式邮件(QQ邮箱/163/Gmail/企业邮箱都行)。
91
+ | 参数 | 必填 | 说明 |
92
+ |---|---|---|
93
+ | `smtp_host` | * | SMTP服务器(QQ邮箱 smtp.qq.com / 163 smtp.163.com / Gmail smtp.gmail.com) |
94
+ | `smtp_port` | | SSL填465,STARTTLS填587(默认465) |
95
+ | `username` | * | 发件邮箱账号(如 xxx@qq.com) |
96
+ | `password` | * | 邮箱**授权码**(不是登录密码!邮箱设置-账户里开通SMTP时获取) |
97
+ | `to` | * | 收件人邮箱 |
98
+ | `subject` | | 邮件主题(默认"AIXX邮件") |
99
+ | `message` | * | 邮件正文 |
100
+
101
+ **配置指引(拿授权码)**:`password`填授权码,不是邮箱登录密码!
102
+ - **QQ邮箱**:网页版 → 设置 → 账户 → 开启"POP3/IMAP/SMTP服务" → 短信验证 → 得到16位授权码
103
+ - **163邮箱**:设置 → POP3/SMTP/IMAP → 开启SMTP → 设置"客户端授权密码"
104
+ - **Gmail**:Google账号 → 安全性 → 开两步验证 → 应用专用密码 → 生成
105
+
106
+ ### 5. GitHub建Issue(`app-github-create-issue`)
107
+ 在你的GitHub仓库建Issue(记bug/提需求/记待办)。
108
+ | 参数 | 必填 | 说明 |
109
+ |---|---|---|
110
+ | `token` | * | Personal Access Token(GitHub → Settings → Developer settings → Tokens创建,勾repo权限) |
111
+ | `repo` | * | 仓库名,owner/repo格式(如 octocat/hello-world) |
112
+ | `title` | * | Issue标题 |
113
+ | `body` | | Issue正文 |
114
+
115
+ **配置指引(拿token)**:
116
+ 1. 登录 github.com → 右上角头像 → Settings → 左侧最底 Developer settings
117
+ 2. Personal access tokens → Tokens (classic) → Generate new token
118
+ 3. 勾选 **repo** 权限 → 生成 → 立刻复制token(只显示这一次,关页面就看不到了)
119
+
120
+ ### 6. Server酱微信推送(`app-serverchan-wechat-push`)
121
+ 把消息直接推到用户微信(sct.ftqq.com微信扫码拿SendKey)。
122
+ | 参数 | 必填 | 说明 |
123
+ |---|---|---|
124
+ | `sendkey` | * | SendKey(sct.ftqq.com微信扫码登录后获取,SCT开头) |
125
+ | `title` | | 消息标题(默认"AIXX消息") |
126
+ | `message` | * | 消息内容(支持Markdown) |
127
+
128
+ **配置指引(拿SendKey)**:
129
+ 1. 打开 **sct.ftqq.com** → 微信扫码登录
130
+ 2. 首页就能看到 **SendKey**(SCT开头),复制填 `sendkey`
131
+ 3. 免费账户每天限5条消息,第二天自动重置;不够用可升级额度
132
+
133
+ ### 7. PushPlus微信推送(`app-pushplus-wechat-push`)
134
+ 消息推到微信公众号(pushplus.plus微信登录拿token)。
135
+ | 参数 | 必填 | 说明 |
136
+ |---|---|---|
137
+ | `token` | * | token(pushplus.plus微信登录后,"一对一推送"页复制) |
138
+ | `title` | | 消息标题 |
139
+ | `message` | * | 消息内容 |
140
+
141
+ **配置指引(拿token)**:
142
+ 1. 打开 **pushplus.plus** → 微信扫码登录
143
+ 2. 左侧菜单"一对一推送" → 页面上的 **token**(32位)复制填 `token`
144
+ 3. 关注它的微信公众号才能收到推送(页面上有二维码)
145
+
146
+ ### 8. Bark苹果推送(`app-bark-ios-push`)
147
+ 推送通知到iPhone(App Store装Bark App)。
148
+ | 参数 | 必填 | 说明 |
149
+ |---|---|---|
150
+ | `key` | * | 设备Key(打开Bark App首页直接复制那一串) |
151
+ | `server` | | Bark服务地址(默认官方,自建服务填自己的) |
152
+ | `title` | | 通知标题 |
153
+ | `message` | * | 通知内容 |
154
+
155
+ **配置指引(拿Key)**:
156
+ 1. App Store 搜索 **Bark** 装(官方免费)
157
+ 2. 打开App,首页中间"Your Key is:"下面那串就是设备Key,点击复制填 `key`
158
+ 3. 用官方默认服务器,`server` 不用填
159
+
160
+ ### 9. Discord频道推送(`app-discord-webhook-send`)
161
+ 往Discord频道发消息,可自定义机器人显示名。
162
+ | 参数 | 必填 | 说明 |
163
+ |---|---|---|
164
+ | `webhook` | * | 频道设置 → 整合 → Webhook → 新建 → 复制URL |
165
+ | `username` | | 机器人显示名 |
166
+ | `message` | * | 消息内容 |
167
+
168
+ **配置指引(拿webhook)**:
169
+ 1. Discord服务器 → 目标频道 ⚙️ 频道设置 → 整合(Integrations) → Webhook
170
+ 2. 新建Webhook → 选好频道 → "复制Webhook URL"填 `webhook`
171
+ 3. 想改机器人显示名,直接在webhook设置里改,或填 `username`
172
+ 4. ⚠️ webhook别用浏览器打开测试(GET请求会报错),直接让agent调用验证
173
+
174
+ ### 10. Slack频道推送(`app-slack-webhook-send`)
175
+ 往Slack频道发消息(Incoming Webhook)。
176
+ | 参数 | 必填 | 说明 |
177
+ |---|---|---|
178
+ | `webhook` | * | Slack → Apps → Incoming Webhook → 添加到频道 → 复制URL |
179
+ | `message` | * | 消息内容 |
180
+
181
+ **配置指引(拿webhook)**:
182
+ 1. 打开 **api.slack.com/apps** → Create New App → 起名选工作区
183
+ 2. 左侧 Incoming Webhooks → 打开Activate → Add New Webhook to Workspace → 选频道
184
+ 3. 页面底部 Webhook URL 复制填 `webhook`
185
+ 4. ⚠️ webhook别用浏览器打开测试(GET请求会报错),直接让agent调用验证
186
+
187
+ ---
188
+
189
+ ## agent 该怎么做
190
+
191
+ 1. 用户说"帮我发钉钉群通知"这类需求 → 先确认用户有没有对应参数(webhook/token等),**没有就引导用户去拿**(每个能力的参数表里写了怎么拿)
192
+ 2. 参数齐了 → 调 `/v1/capability/{id}/execute`,带 `params` 和 `user_compute_key`
193
+ 3. 未订阅时执行会返回订阅引导(402类错误)→ 调 `purchase` 接口(`plan=app_monthly`)生成支付链接给用户:"应用层订阅¥2.99/月,全部应用不限次,要开吗?"
194
+ 4. 发送成功 → 告诉用户"已发送";失败 → 按错误信息提示用户检查参数(webhook对不对、授权码是不是用成了登录密码等)
195
+
196
+ **注意**:webhook/token/授权码这类凭据是用户自己的,让用户自己提供,**绝不替用户编造**。用户的凭据只用于本次发送,不要存储、不要外传。
197
+
198
+ ## 错误处理
199
+
200
+ | 错误 | agent该怎么做 |
201
+ |---|---|
202
+ | 402/未订阅 | 生成订阅支付链接(¥2.99/月)给用户 |
203
+ | 400 缺参数 | 按参数表补齐,缺的问用户要 |
204
+ | 发送失败(凭据错) | 提示用户检查webhook/token/授权码是否正确 |
205
+ | 5xx | 告诉用户"发送暂时异常,稍后再试" |
206
+
207
+ ---
208
+ 维护者:龙龙(AIXX PM)| 2026-08-14 建立(任务书A)
@@ -1,133 +1,135 @@
1
- # LLM 对话调用
2
-
3
- 翻译、写作、改写、总结、分析、问答、代码生成等**需要LLM能力**的请求。
4
-
5
- **先读 [`./aixx-shared.md`](./aixx-shared.md) 了解环境检查和调用方式。**
6
-
7
- ---
8
-
9
- ## 调用方式(OpenAI 兼容)
10
-
11
- ```bash
12
- curl -X POST {AIXX_BASE_URL}/chat/completions \
13
- -H "Authorization: Bearer {AIXX_API_KEY}" \
14
- -H "Content-Type: application/json" \
15
- -d '{
16
- "model": "deepseek-chat",
17
- "messages": [
18
- {"role": "user", "content": "用户的实际需求"}
19
- ]
20
- }'
21
- ```
22
-
23
- 返回标准 OpenAI 格式,结果在 `choices[0].message.content`。
24
-
25
- ---
26
-
27
- ## 默认模型选择(重要)
28
-
29
- AIXX 会自动选最优模型,但 agent 也可以按任务指定。
30
-
31
- > **模型列表持续更新,调 `GET /v1/models` 获取最新,下表仅场景参考。**
32
-
33
- | 任务类型 | 推荐模型 | 理由 |
34
- |---|---|---|
35
- | 翻译/简单问答/日常 | `deepseek-chat` | 最便宜,日常首选 |
36
- | 复杂推理/数学 | `deepseek-reasoner` | 带思考过程 |
37
- | 中文写作/文案 | `deepseek-chat` | 中文能力够用且便宜(glm渠道维护中,文案任务先用deepseek-chat) |
38
- | 长文档分析 | `moonshot-v1-128k` | 超长上下文 |
39
- | 复杂任务/最强 | `claude-opus-4-8` | 能力最强 |
40
- | 通用旗舰 | `gpt-4o` | 通用 |
41
- | 审美/UI/设计 | (先搜索skill,见 search.md) | 专门skill比通用模型强 |
42
- | 轻量免费任务 | `glm-4-flash` | 免费,但不支持工具调用(function calling);需工具调用用 `deepseek-chat` |
43
-
44
- **不指定 model 时**:用 `deepseek-chat`(最便宜,省用户额度)。
45
-
46
- ---
47
-
48
- ## 用户常见请求怎么处理
49
-
50
- ### "帮我翻译这段"
51
- 1. 用 `deepseek-chat`(翻译最便宜够用)
52
- 2. messages 里放:`把下面的内容翻译成英文:{用户的内容}`
53
-
54
- ### "用Claude分析这个"
55
- 1. 用户指定了Claude,用 `claude-opus-4-8` 或 `claude-sonnet-4-20250514`
56
- 2. 如果用户额度不够用Claude(402错误),提示用户"额度不足,要不要用deepseek-chat代替(更便宜)"
57
-
58
- ### "用最便宜的模型做"
59
- 1. 直接用 `deepseek-chat`
60
-
61
- ### "写个中文文案"
62
- 1. 用 `deepseek-chat`(中文能力够用且便宜;glm渠道维护中,恢复后可用 `glm-4-plus`)
63
-
64
- ---
65
-
66
- ## agent 该怎么做
67
-
68
- 1. 判断任务类型 → 选模型(或让AIXX自动选)
69
- 2. 把用户需求组织成 messages
70
- 3. 调 `/chat/completions`
71
- 4. 把 `choices[0].message.content` 转述给用户
72
- 5. **不要直接吐 JSON**,用自然语言回复
73
-
74
- ---
75
-
76
- ## ⚠️ 敏感问题处理(重要·诚信红线)
77
-
78
- 有些问题**不要直接转给模型**,agent 要自己判断处理。否则模型会瞎编、损害信誉。
79
-
80
- ### 必须拦截的问题(别转给模型,agent 自己处理)
81
-
82
- | 用户问 | ❌ 错误做法 | ✅ 正确做法 |
83
- |---|---|---|
84
- | "我账户还有多少钱""余额""额度" | 转给模型(模型会瞎说"无法查看") | **调 balance 接口**(见 account.md),用真实数据回答 |
85
- | "我花了多少""用量" | 转给模型 | 调 billing/usage 接口 |
86
- | "有哪些模型可用" | 转给模型 | 调 /v1/models 接口 |
87
- | "怎么充值" | 转给模型 | 引导用 `aixx recharge` 命令 |
88
-
89
- **原则**:凡是 AIXX 有接口能查到的事实,**必须调接口拿真实数据**,不能让模型猜。
90
-
91
- ### 身份/来源问题(转给模型,但要加 system 引导)
92
-
93
- 用户可能问:"你是哪家公司""你是DeepSeek吗""源头是哪里""是不是中转站""官方认证吗"。
94
-
95
- **处理方式**:调模型时**必须加 system prompt 引导**,避免模型瞎编或撒谎:
96
-
97
- ```
98
- messages: [
99
- {"role": "system", "content": "你是通过AIXX平台调用的AI助手。回答身份问题时遵守:
100
- 1. 如实说明自己的模型身份(是DeepSeek就说DeepSeek,是Claude就说Claude,不冒充别的)
101
- 2. 不编造'通过官网/APP/官方认证'等不实信息(你实际是通过AIXX统一平台调用的)
102
- 3. 被问到'是不是官方直连/中转站'时,如实回答:你是通过AIXX这个统一AI平台调用的,AIXX聚合了多家官方模型能力
103
- 4. 不主动暴露过多技术细节,但绝不撒谎"},
104
- {"role": "user", "content": "用户的身份问题"}
105
- ]
106
- ```
107
-
108
- **这样模型会**:
109
- - 是DeepSeek就说DeepSeek(真话)
110
- - 不再编"官网/APP/官方认证"(去掉幻觉)
111
- - 被直接问中转时说"通过AIXX统一平台调用"(诚实但不生硬)
112
-
113
- ### 绝对不能做的事(诚信红线)
114
-
115
- - ❌ 冒充别的模型(DeepSeek冒充Claude、套壳)—— 这是 apiyi 式造假,AIXX 永不做
116
- - ❌ 说"官方认证""官方直连"等不实信息
117
- - ❌ 把查得到的事实(余额/模型列表)让模型瞎猜
118
-
119
- **AIXX 的信誉根基是:模型是真的,账本是实的。** 宁可少说,绝不撒谎。
120
-
121
- ---
122
- 维护者:龙龙(AIXX PM)| 2026-08-09 建立(2.0流量腿)
123
-
124
- ---
125
-
126
- ## 错误处理
127
-
128
- 见 [`./aixx-shared.md`](./aixx-shared.md) 的错误表。常见:
129
- - 402 额度不足:提示用户充值("您额度不足,可以充值或用更便宜的deepseek-chat")
130
- - 404 模型不存在:换用 `deepseek-chat`
131
-
132
- ---
133
- 维护者:龙龙(AIXX PM)| 2026-08-09 建立
1
+ # LLM 对话调用
2
+
3
+ 翻译、写作、改写、总结、分析、问答、代码生成等**需要LLM能力**的请求。
4
+
5
+ **先读 [`./aixx-shared.md`](./aixx-shared.md) 了解环境检查和调用方式。**
6
+
7
+ ---
8
+
9
+ ## 调用方式(OpenAI 兼容)
10
+
11
+ ```bash
12
+ curl -X POST {AIXX_BASE_URL}/chat/completions \
13
+ -H "Authorization: Bearer {AIXX_API_KEY}" \
14
+ -H "Content-Type: application/json" \
15
+ -d '{
16
+ "model": "deepseek-chat",
17
+ "messages": [
18
+ {"role": "user", "content": "用户的实际需求"}
19
+ ]
20
+ }'
21
+ ```
22
+
23
+ 返回标准 OpenAI 格式,结果在 `choices[0].message.content`。
24
+
25
+ ---
26
+
27
+ ## 默认模型选择(重要)
28
+
29
+ AIXX 会自动选最优模型,但 agent 也可以按任务指定。
30
+
31
+ > **模型列表持续更新,调 `GET /v1/models` 获取最新,下表仅场景参考。**
32
+
33
+ | 任务类型 | 推荐模型 | 理由 |
34
+ |---|---|---|
35
+ | 翻译/简单问答/日常 | `deepseek-chat` | 最便宜,日常首选 |
36
+ | 复杂推理/数学 | `kimi-k2.6` | 带思考过程(deepseek-reasoner 已下架) |
37
+ | 中文写作/文案 | `deepseek-chat` | 中文能力够用且便宜(glm渠道维护中,文案任务先用deepseek-chat) |
38
+ | 长文档分析 | `moonshot-v1-128k` | 超长上下文 |
39
+ | 复杂任务/最强 | `claude-opus-4-8` | 能力最强 |
40
+ | 通用旗舰 | `gpt-5.5` | 通用 |
41
+ | 审美/UI/设计 | (先搜索skill,见 search.md) | 专门skill比通用模型强 |
42
+ | 轻量免费任务 | `glm-4-flash` | 免费,但不支持工具调用(function calling);需工具调用用 `deepseek-chat` |
43
+
44
+ > ⚠️ **推理类模型(kimi-k2.6 / claude系思考模型等)**:max_tokens 要给足(≥2000)。思考token计入max_tokens预算,给小了会返回空内容。
45
+
46
+ **不指定 model 时**:用 `deepseek-chat`(最便宜,省用户额度)。
47
+
48
+ ---
49
+
50
+ ## 用户常见请求怎么处理
51
+
52
+ ### "帮我翻译这段"
53
+ 1. 用 `deepseek-chat`(翻译最便宜够用)
54
+ 2. messages 里放:`把下面的内容翻译成英文:{用户的内容}`
55
+
56
+ ### "用Claude分析这个"
57
+ 1. 用户指定了Claude,用 `claude-opus-4-8` 或 `claude-sonnet-4-20250514`
58
+ 2. 如果用户额度不够用Claude(402错误),提示用户"额度不足,要不要用deepseek-chat代替(更便宜)"
59
+
60
+ ### "用最便宜的模型做"
61
+ 1. 直接用 `deepseek-chat`
62
+
63
+ ### "写个中文文案"
64
+ 1. 用 `deepseek-chat`(中文能力够用且便宜;glm渠道维护中,恢复后可用 `glm-4-plus`)
65
+
66
+ ---
67
+
68
+ ## agent 该怎么做
69
+
70
+ 1. 判断任务类型 → 选模型(或让AIXX自动选)
71
+ 2. 把用户需求组织成 messages
72
+ 3. 调 `/chat/completions`
73
+ 4. 把 `choices[0].message.content` 转述给用户
74
+ 5. **不要直接吐 JSON**,用自然语言回复
75
+
76
+ ---
77
+
78
+ ## ⚠️ 敏感问题处理(重要·诚信红线)
79
+
80
+ 有些问题**不要直接转给模型**,agent 要自己判断处理。否则模型会瞎编、损害信誉。
81
+
82
+ ### 必须拦截的问题(别转给模型,agent 自己处理)
83
+
84
+ | 用户问 | ❌ 错误做法 | ✅ 正确做法 |
85
+ |---|---|---|
86
+ | "我账户还有多少钱""余额""额度" | 转给模型(模型会瞎说"无法查看") | **调 balance 接口**(见 account.md),用真实数据回答 |
87
+ | "我花了多少""用量" | 转给模型 | 调 billing/usage 接口 |
88
+ | "有哪些模型可用" | 转给模型 | 调 /v1/models 接口 |
89
+ | "怎么充值" | 转给模型 | 引导用 `aixx recharge` 命令 |
90
+
91
+ **原则**:凡是 AIXX 有接口能查到的事实,**必须调接口拿真实数据**,不能让模型猜。
92
+
93
+ ### 身份/来源问题(转给模型,但要加 system 引导)
94
+
95
+ 用户可能问:"你是哪家公司""你是DeepSeek吗""源头是哪里""是不是中转站""官方认证吗"。
96
+
97
+ **处理方式**:调模型时**必须加 system prompt 引导**,避免模型瞎编或撒谎:
98
+
99
+ ```
100
+ messages: [
101
+ {"role": "system", "content": "你是通过AIXX平台调用的AI助手。回答身份问题时遵守:
102
+ 1. 如实说明自己的模型身份(是DeepSeek就说DeepSeek,是Claude就说Claude,不冒充别的)
103
+ 2. 不编造'通过官网/APP/官方认证'等不实信息(你实际是通过AIXX统一平台调用的)
104
+ 3. 被问到'是不是官方直连/中转站'时,如实回答:你是通过AIXX这个统一AI平台调用的,AIXX聚合了多家官方模型能力
105
+ 4. 不主动暴露过多技术细节,但绝不撒谎"},
106
+ {"role": "user", "content": "用户的身份问题"}
107
+ ]
108
+ ```
109
+
110
+ **这样模型会**:
111
+ - 是DeepSeek就说DeepSeek(真话)
112
+ - 不再编"官网/APP/官方认证"(去掉幻觉)
113
+ - 被直接问中转时说"通过AIXX统一平台调用"(诚实但不生硬)
114
+
115
+ ### 绝对不能做的事(诚信红线)
116
+
117
+ - ❌ 冒充别的模型(DeepSeek冒充Claude、套壳)—— 这是 apiyi 式造假,AIXX 永不做
118
+ - ❌ 说"官方认证""官方直连"等不实信息
119
+ - ❌ 把查得到的事实(余额/模型列表)让模型瞎猜
120
+
121
+ **AIXX 的信誉根基是:模型是真的,账本是实的。** 宁可少说,绝不撒谎。
122
+
123
+ ---
124
+ 维护者:龙龙(AIXX PM)| 2026-08-09 建立(2.0流量腿)
125
+
126
+ ---
127
+
128
+ ## 错误处理
129
+
130
+ 见 [`./aixx-shared.md`](./aixx-shared.md) 的错误表。常见:
131
+ - 402 额度不足:提示用户充值("您额度不足,可以充值或用更便宜的deepseek-chat")
132
+ - 404 模型不存在:换用 `deepseek-chat`
133
+
134
+ ---
135
+ 维护者:龙龙(AIXX PM)| 2026-08-09 建立