Add simple-llm skill for basic LLM requests

这个提交包含在:
X
2026-02-26 19:47:05 -08:00
父节点 3f2055e873
当前提交 e34fbb22aa

306
simple-llm/SKILL.md 普通文件
查看文件

@@ -0,0 +1,306 @@
---
name: simple-llm
description: 简单的 LLM 请求 - 明确上下文、明确需求结果,不支持推理/工具调用/复杂过程,支持 1M 上下文和图片识别
domain: utilities
version: 1.2.0
tags: [llm, api, simple, context, qwen, vision]
triggers:
keywords:
primary: [llm, simple llm, 简单llm, qwen, 大模型]
secondary: [文本生成, 总结, 翻译, 改写, 分析, 图片识别, 图片分析, ocr]
context_boost: [文本, context, context window, 上下文, 图片]
priority: low
---
# Simple LLM
简单的 LLM 请求工具,适用于明确上下文和明确需求结果的场景。
## 特点
| 特性 | 说明 |
|------|------|
| 上下文 | 支持 1M tokens |
| 成本 | 本地部署,无 token 成本 |
| 功能 | 文本生成 + 图片识别/分析 |
| 限制 | 不支持推理、工具调用、复杂过程 |
## API 配置
```
Endpoint: https://one.hao.work/v1/chat/completions
Model: qwen3.5-plus
Auth: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e
```
## 图片上传服务
本地图片需要先上传获取 URL,再传给 LLM 识别。
### 上传 API
```bash
curl -u admin:whoami139 \
-F "file=@/path/to/image.png" \
https://img.hao.work/upload
```
| 参数 | 说明 |
|------|------|
| file | 图片或 JSON 文件 |
| ttl_days | 可选,默认 90 天,小于 90 天按 90 天保存 |
### 返回示例
```json
{"filename":"abc123.png","size":12345,"url":"https://img.hao.work/images/abc123.png"}
```
### 本地图片处理流程
```
┌─────────────────────────────────────────────────────────────┐
│ 本地图片识别流程 │
│ │
│ ┌─────────────┐ │
│ │ 本地图片路径 │ │
│ └──────┬──────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 上传到图床 │ curl -u admin:whoami139 -F "file=@..." │
│ │ img.hao.work│ │
│ └──────┬──────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 获取图片URL │ https://img.hao.work/images/xxx.png │
│ └──────┬──────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 调用LLM识别 │ image_url + prompt │
│ └──────┬──────┘ │
│ ▼ │
│ ┌─────────────┐ │
│ │ 返回结果 │ │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
---
## 使用方式
### 文本请求
```bash
curl -X POST https://one.hao.work/v1/chat/completions \
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"messages": [{"role": "user", "content": "<你的提示词>"}],
"stream": true
}'
```
### 图片识别请求
```bash
curl -X POST https://one.hao.work/v1/chat/completions \
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "<你的问题或指令>"},
{"type": "image_url", "image_url": {"url": "https://example.com/image.png"}}
]
}],
"stream": true
}'
```
### 多图片请求
```bash
curl -X POST https://one.hao.work/v1/chat/completions \
-H "Authorization: Bearer sk-2e51c350efdeb41e27fcea4c3116567e514435db291b291e" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.5-plus",
"messages": [{
"role": "user",
"content": [
{"type": "text", "text": "对比这两张图片的区别"},
{"type": "image_url", "image_url": {"url": "https://example.com/image1.png"}},
{"type": "image_url", "image_url": {"url": "https://example.com/image2.png"}}
]
}],
"stream": true
}'
```
---
## 自动任务分配机制
当主模型接收到任务时,自动评估是否适合委托给 Simple LLM
### 任务适配规则
```
┌─────────────────────────────────────────────────────────────┐
│ 任务分发决策 │
│ │
│ 收到任务 │
│ │ │
│ ▼ │
│ ┌─────────────┐ 否 ┌─────────────┐ │
│ │ 是否需要推理? │ ──────→ │ 主模型处理 │ │
│ └─────────────┘ └─────────────┘ │
│ │是 │
│ ▼ │
│ ┌─────────────┐ 是 ┌─────────────┐ │
│ │ 是否需要工具? │ ──────→ │ 主模型处理 │ │
│ └─────────────┘ └─────────────┘ │
│ │否 │
│ ▼ │
│ ┌─────────────┐ 是 ┌─────────────┐ │
│ │ 是否多步骤? │ ──────→ │ 主模型处理 │ │
│ └─────────────┘ └─────────────┘ │
│ │否 │
│ ▼ │
│ ┌─────────────┐ │
│ │ Simple LLM │ ──→ 执行 → 评估 → 记录结果 │
│ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
```
### 适合自动分配的任务类型
| 类型 | 示例 | 优先级 |
|------|------|--------|
| 文本总结 | 总结这篇文章的核心观点 | 高 |
| 翻译 | 将这段文字翻译成英文 | 高 |
| 格式转换 | 将 JSON 转成 YAML | 高 |
| 代码解释 | 这段代码做了什么 | 中 |
| 图片描述 | 描述这张图片的内容 | 高 |
| OCR | 识别图片中的文字 | 高 |
| 简单分析 | 分析这段文字的情感倾向 | 中 |
| 改写润色 | 改写这段文字使其更专业 | 中 |
### 不适合分配的任务
- 需要多轮对话推理
- 需要调用外部工具/API
- 需要文件系统操作
- 需要代码执行验证
- 复杂的规划和决策
---
## 效果评估与记录
### 评估标准
执行完成后,按以下标准评估效果:
```yaml
评估维度:
准确性: 输出是否正确回答了问题 (1-5)
完整性: 输出是否覆盖了所有要求 (1-5)
格式: 输出格式是否符合预期 (1-5)
速度: 响应是否及时 (1-5)
综合评分: (准确性 + 完整性 + 格式) / 3
```
### 记录机制
`~/.agents/skills/simple-llm/records.json` 中记录:
```json
{
"task_records": [
{
"id": "task_001",
"timestamp": "2026-02-26T10:00:00Z",
"task_type": "summarize",
"prompt": "总结以下文章...",
"result_quality": 4.5,
"success": true,
"notes": "总结准确,要点清晰"
}
],
"type_stats": {
"summarize": {"count": 10, "avg_quality": 4.3},
"translate": {"count": 15, "avg_quality": 4.5},
"ocr": {"count": 5, "avg_quality": 4.0}
}
}
```
### 优先级调整
根据历史记录动态调整任务分配优先级:
```
if (任务类型 in type_stats && avg_quality >= 4.0) {
优先分配给 Simple LLM
} else if (任务类型 in type_stats && avg_quality < 3.0) {
优先使用主模型
} else {
首次尝试 Simple LLM,记录结果
}
```
---
## 示例模板
### 文本总结
```
请总结以下文章的核心内容,用 3-5 个要点表示:
[文章内容]
要求:
- 每个要点不超过 50 字
- 保留关键数据和结论
```
### 图片识别
```
识别这张图片中的所有文字,按原文排版输出:
[图片URL]
要求:
- 保持原始排版
- 标注不确定的文字
```
### 翻译
```
将以下内容翻译成英文:
[内容]
要求:
- 保持原文语气
- 专业术语保持准确
```
---
## 注意事项
1. **充分利用 1M 上下文** - 可以传入大段文本,无需担心 token 限制
2. **图片支持** - 通过 image_url 传入图片链接进行识别
3. **避免复杂指令** - 单步任务效果最佳
4. **明确输出格式** - 让模型清楚知道期望的输出形式
5. **效果反馈** - 执行后评估效果,用于优化后续任务分配