介绍
## Tools
此技能连接到一个封装了 Backboard SDK 的本地 Flask 后端。后端必须运行在 `http://localhost:5100` 上。
### backboard_create_assistant
使用名称和系统提示创建一个新的 Backboard 助手。
**参数:** - `name`(字符串,必填):助手的名称 - `system_prompt`(字符串,必填):助手的系统指令
**示例:** ```json { "name": "Support Bot", "system_prompt": "You are a helpful customer support assistant." } ```
### backboard_list_assistants
列出所有可用的 Backboard 助手。
**参数:** 无
### backboard_get_assistant
获取特定助手的详细信息。
**参数:** - `assistant_id`(字符串,必填):助手的 ID
### backboard_delete_assistant
删除一个助手。
**参数:** - `assistant_id`(字符串,必填):要删除的助手的 ID
### backboard_create_thread
为助手创建一个新的对话线程。
**参数:** - `assistant_id`(字符串,必填):要为其创建线程的助手的 ID
### backboard_list_threads
列出所有对话线程,可选择按助手筛选。
**参数:** - `assistant_id`(字符串,可选):按助手 ID 筛选线程
### backboard_get_thread
获取线程及其消息历史记录。
**参数:** - `thread_id`(字符串,必填):线程的 ID
### backboard_send_message
向线程发送消息并获取响应。
**参数:** - `thread_id`(字符串,必填):线程的 ID - `content`(字符串,必填):消息内容 - `memory`(字符串,可选):记忆模式 - "Auto"、"Readonly" 或 "off"(默认:"Auto")
### backboard_add_memory
为助手存储一个在对话间持久存在的记忆。
**参数:** - `assistant_id`(字符串,必填):助手的 ID - `content`(字符串,必填):要存储的记忆内容 - `metadata`(对象,可选):记忆的额外元数据
**示例:** ```json { "assistant_id": "asst_123", "content": "User prefers Python programming and dark mode interfaces", "metadata": {"category": "preferences"} } ```
### backboard_list_memories
列出助手的所有记忆。
**参数:** - `assistant_id`(字符串,必填):助手的 ID
### backboard_get_memory
获取特定的记忆。
**参数:** - `assistant_id`(字符串,必填):助手的 ID - `memory_id`(字符串,必填):记忆的 ID
### backboard_update_memory
更新现有记忆。
**参数:** - `assistant_id`(字符串,必填):助手的 ID - `memory_id`(字符串,必填):记忆的 ID - `content`(字符串,必填):记忆的新内容
### backboard_delete_memory
删除一个记忆。
**参数:** - `assistant_id`(字符串,必填):助手的 ID - `memory_id`(字符串,必填):要删除的记忆的 ID
### backboard_memory_stats
获取助手的记忆统计信息。
**参数:** - `assistant_id`(字符串,必填):助手的 ID
### backboard_upload_document
上传文档到助手或线程以进行 RAG(检索增强生成)。
**参数:** - `assistant_id`(字符串,可选):助手的 ID(使用此项或 thread_id) - `thread_id`(字符串,可选):线程的 ID(使用此项或 assistant_id) - `file_path`(字符串,必填):文档文件的路径
**支持的文件类型:** PDF、DOCX、XLSX、PPTX、TXT、CSV、MD、PY、JS、HTML、CSS、XML、JSON
### backboard_list_documents
列出助手或线程的文档。
**参数:** - `assistant_id`(字符串,可选):助手的 ID - `thread_id`(字符串,可选):线程的 ID
### backboard_document_status
检查上传文档的处理状态。
**参数:** - `document_id`(字符串,必填):文档的 ID
### backboard_delete_document
删除一个文档。
**参数:** - `document_id`(字符串,必填):要删除的文档的 ID
## 说明
当用户询问以下内容时:
### 记忆操作 - "Remember that..." 或 "Store this..." → 使用 `backboard_add_memory` - "What do you remember about..." → 使用 `backboard_list_memories` 或 `backboard_get_memory` - "Forget..." 或 "Delete memory..." → 使用 `backboard_delete_memory` - "Update my preference..." → 使用 `backboard_update_memory`
### 文档操作 - "Upload this document" 或 "Index this file" → 使用 `backboard_upload_document` - "What documents do I have?" → 使用 `backboard_list_documents` - "Is my document ready?" → 使用 `backboard_document_status`
### 助手管理 - "Create a new assistant" → 使用 `backboard_create_assistant` - "List my assistants" → 使用 `backboard_list_assistants` - "Delete assistant" → 使用 `backboard_delete_assistant`
### 对话线程 - "Start a new conversation" → 使用 `backboard_create_thread` - "Show conversation history" → 使用 `backboard_get_thread` - "Send message to thread" → 使用 `backboard_send_message`
### 一般准则 1. 始终与用户确认操作成功 2. 创建助手时,建议使用有意义的名称和系统提示 3. 对于文档上传,在尝试之前验证文件类型是否受支持 4. 使用记忆时,说明正在存储什么信息 5. 线程 ID 和助手 ID 应该被存储/跟踪以供用户上下文使用
## 示例
### 示例 1:存储用户偏好 - 用户:"Remember that I prefer dark mode and Python code examples" - 操作:调用 `backboard_add_memory`,内容为 "User prefers dark mode interfaces and Python code examples",元数据为 `{"category": "preferences"}` - 响应:"I've stored your preferences. You prefer dark mode and Python code examples."
### 示例 2:创建助手 - 用户:"Create a code review assistant" - 操作:调用 `backboard_create_assistant`,名称为 "Code Reviewer",system_prompt 为 "You are an expert code reviewer. Analyze code for bugs, performance issues, and best practices. Provide constructive feedback." - 响应:"Created your Code Reviewer assistant (ID: asst_xxx). It's ready to review code and provide feedback."
### 示例 3:上传并查询文档 - 用户:"Upload my project documentation and then tell me what it covers" - 操作 1:调用 `backboard_upload_document` 上传文件 - 操作 2:等待处理,使用 `backboard_document_status` 检查状态 - 操作 3:使用 `backboard_send_message` 并设置 memory="Auto" 来查询文档 - 响应:"I've uploaded and indexed your documentation. Based on the content, it covers..."
### 示例 4:启动线程对话 - 用户:"Start a new conversation with my support assistant" - 操作:调用 `backboard_create_thread` 并提供 assistant_id - 响应:"Started a new conversation thread (ID: thread_xxx). You can now send messages to your support assistant."
## 后端设置
此技能需要运行后端服务器。要启动:
1. 设置 `BACKBOARD_API_KEY` 环境变量 2. 导航到后端目录 3. 运行 `./start.sh`
后端将在 `http://localhost:5100` 上可用。
## API 端点参考
| 端点 | 方法 | 描述 | |----------|--------|-------------| | `/health` | GET | 健康检查 | | `/assistants` | GET, POST | 列出/创建助手 | | `/assistants/{id}` | GET, PATCH, DELETE | 获取/更新/删除助手 | | `/assistants/{id}/threads` | GET, POST | 列出/创建助手的线程 | | `/assistants/{id}/memory` | GET, POST | 列出/添加记忆 | | `/assistants/{id}/memory/{mid}` | GET, PATCH, DELETE | 获取/更新/删除记忆 | | `/assistants/{id}/memory/stats` | GET | 记忆统计 | | `/assistants/{id}/documents` | GET, POST | 列出/上传文档 | | `/threads` | GET | 列出所有线程 | | `/threads/{id}` | GET, DELETE | 获取/删除线程 | | `/threads/{id}/messages` | POST | 发送消息 | | `/threads/{id}/documents` | GET, POST | 列出/上传线程文档 | | `/documents/{id}/status` | GET | 文档处理状态 | | `/documents/{id}` | DELETE | 删除文档 |