diff --git a/.agent/workflows/plugin-development.md b/.agent/workflows/plugin-development.md index 4562259..31d4ca5 100644 --- a/.agent/workflows/plugin-development.md +++ b/.agent/workflows/plugin-development.md @@ -46,10 +46,10 @@ When adding or updating a plugin, you **MUST** update the following documentatio ### Plugin Directory - `README.md`: Update version, description, and usage. - - **Key Capabilities**: **MUST** include ALL core functionalities and features. Do not only list new features in "What's New". + - **Key Capabilities**: **MUST** include ALL core functionalities and features. This is a cumulative section. Every release **MUST** verify that basic core descriptions are NOT lost or overwritten by new feature lists. - **What's New**: Explicitly describe only the latest changes/updates in a prominent position at the beginning. This section is dynamic and changes with versions. - `README_CN.md`: Update version, description, and usage. - - **核心功能 (Key Capabilities)**: **必须**包含所有核心功能和特性,不能只在 "What's New" 中列出。 + - **核心功能 (Key Capabilities)**: **必须**包含所有核心功能和特性。这是一个累积性的部分,每次版本更新**必须**确认基础核心功能的描述没有丢失或被新功能列表覆盖。 - **最新更新 (What's New)**: 在开头显眼位置明确描述最新的更改/更新。此部分是动态的,随版本变化。 ### Global Documentation (`docs/`) @@ -119,7 +119,7 @@ When the user confirms a release, the agent **MUST** follow these content standa 2. **Release Summary (for user review)**: - Before committing, present a "Release Draft" containing: - **Title**: e.g., `Release v0.1.1: [Plugin Name] - [Brief Summary]` - - **Changes**: Bilingual bullet points (English/Chinese) describing the impact. + - **Changelog**: English-only list of commits since the last release, including hashes (e.g., `896de02 docs(config): reorder antigravity model alias example`). - **Verification Status**: Confirm all 8+ files have been updated and synced. 3. **Internal Documentation**: Ensure "What's New" sections in READMEs and `docs/` match exactly the changes being released. @@ -137,6 +137,7 @@ Before committing: - [ ] Code is bilingual and functional? - [ ] Docstrings have updated version? - [ ] READMEs are updated and bilingual? +- [ ] **Key Capabilities** in READMEs still cover all legacy core features + new features? - [ ] `docs/` index and detail pages are updated? - [ ] Root `README.md` is updated? - [ ] All version numbers match exactly? diff --git a/docs/plugins/pipes/github-copilot-sdk-tutorial.md b/docs/plugins/pipes/github-copilot-sdk-tutorial.md new file mode 100644 index 0000000..3be2d0d --- /dev/null +++ b/docs/plugins/pipes/github-copilot-sdk-tutorial.md @@ -0,0 +1,102 @@ +# GitHub Copilot SDK Advanced Tutorial + +**Author:** [Fu-Jie](https://github.com/Fu-Jie) | **Version:** 1.0.0 | **Project:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) + +This tutorial guides you through unleashing the full potential of the GitHub Copilot SDK plugin, specifically focusing on advanced file generation, BYOK customization, and complex task orchestration. + +--- + +## 1. The 3-Step File Delivery Protocol + +This is one of the most powerful features of this plugin. Agents can generate real physical files (e.g., `.xlsx`, `.pdf`, `.csv`) in their isolated workspace and publish them for you to download. + +### Automated Execution Logic: +1. **Write (Local)**: The Agent creates a file using code within its isolated directory (the current directory `.` during Python execution). +2. **Publish**: The Agent automatically calls `publish_file_from_workspace(filename='report.xlsx')`. +3. **Link**: The plugin handles S3 or local storage mapping, bypasses RAG interference, and returns a secure link like `/api/v1/files/.../content`. + +> [!TIP] +> **User Command Tip**: You can simply tell the Agent: "Analyze the previous data and export an Excel sheet for me." It will automatically trigger this entire sequence. + +--- + +## 2. Advanced BYOK (Bring Your Own Key) Mode + +If you don't have a GitHub Copilot subscription or want to use high-end models from OpenAI/Anthropic directly, you can use the BYOK mode. + +### How to Configure: +1. **Set Base URL**: e.g., `https://api.openai.com/v1`. +2. **Set API Key**: Enter your key in your personal settings (Valves). +3. **Real-time Model Refresh**: The plugin features a **Config-Aware Refresh** mechanism. When you modify the API Key or Base URL, simply refresh the model selector in the UI—the plugin will automatically fetch the latest available models from the backend. + +--- + +## 3. Workspace Isolation & Debugging + +Every chat session has a physically isolated folder, ensuring that files from different tasks do not interfere with each other. + +### Physical Path Rules: +- **In-Container Path**: `/app/backend/data/copilot_workspace/{user_id}/{chat_id}/` +- **Agent's Perspective**: It sees the `.` directory as the path mentioned above. + +### Debugging Pro Tips: +1. **Enable DEBUG Valve**: Set `DEBUG` to `True` in the configuration. +2. **Check the Console**: Open browser developer tools (F12) -> Console. +3. **Capture Paths**: You will see logs like `📂 Workspace Resolved: /.../`, which helps you confirm exactly where the Agent is writing its files. + +--- + +## 4. Deep Analysis Bypassing RAG + +Traditional file uploads in OpenWebUI trigger vectorization (RAG), which might not be precise enough for large-scale data analysis. + +**Advantages of this Plugin**: +- When used with the [Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6) plugin, the Agent can **directly read every byte** of the raw file. +- It can analyze every row of a CSV as if it were running a script locally, preventing information loss caused by retrieval-based slicing. + +--- + +## 5. Common Interaction Examples + +- **Data Conversion**: "Convert this JSON content into a beautifully formatted Word document and provide a download link." +- **Code Review**: "Read all `.py` files in the workspace, find potential bugs, and publish the suggestions as a Markdown report." +- **Chart Generation**: "Generate an Excel report based on the financial data and use Python to draw a trend chart for me." + +--- + +## 🚀 Real-world Example: Automated Financial Analysis + +### Scenario +A user uploads a raw sales log named `sales_data.csv` and asks the AI to generate a summarized Excel report. + +### 1. User Command +> "Analyze `sales_data.csv` in the current directory, calculate total revenue per product category, and export an Excel file named `category_summary.xlsx` for me." + +### 2. Agent Execution Flow +The Agent performs the following steps autonomously: + +* **Step 1: Write and Run Python Code** + ```python + import pandas as pd + # Direct file access in the isolated workspace (Bypassing RAG for 100% accuracy) + df = pd.read_csv('sales_data.csv') + summary = df.groupby('Category')['Revenue'].sum().reset_index() + # Save the result locally + summary.to_excel('category_summary.xlsx', index=False) + ``` +* **Step 2: Call the Publishing Tool** + The Agent calls: `publish_file_from_workspace(filename="category_summary.xlsx")` +* **Step 3: Deliver the Link** + The tool returns a `download_url`, which the Agent presents to the user. + +### 3. Final Result +The Agent responds: +> "Analysis complete! I have summarized the revenue by category. You can download your report here: +> +> [📊 Download: Category_Summary.xlsx](/api/v1/files/uuid-hash/content)" + +--- + +## ⭐ Continuous Improvement + +If you encounter any issues or have suggestions for new features, feel free to submit an Issue or participate in discussions on [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui). diff --git a/docs/plugins/pipes/github-copilot-sdk-tutorial.zh.md b/docs/plugins/pipes/github-copilot-sdk-tutorial.zh.md new file mode 100644 index 0000000..2e14dea --- /dev/null +++ b/docs/plugins/pipes/github-copilot-sdk-tutorial.zh.md @@ -0,0 +1,102 @@ +# GitHub Copilot SDK 插件进阶实战教程 + +**作者:** [Fu-Jie](https://github.com/Fu-Jie) | **版本:** 1.0.0 | **项目:** [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) + +本教程旨在指导您如何深度发挥 GitHub Copilot SDK 插件的全部潜力,特别是在自动化文件生成、BYOK 模式自定义以及复杂任务调度方面的进阶用法。 + +--- + +## 1. 核心协议:文件交付三步法 (File Delivery Protocol) + +这是本插件最强大的功能之一。Agent 不再只是“说话”,它可以在其隔离的工作区内生成真正的物理文件(如 `.xlsx`, `.pdf`, `.csv`),并将其发布给您下载。 + +### 自动化执行逻辑: +1. **本地写入 (Write)**:Agent 在其隔离目录(即 Python 执行的当前目录 `.`)下通过代码生成文件。 +2. **显式发布 (Publish)**:Agent 自动调用 `publish_file_from_workspace(filename='report.xlsx')`。 +3. **获取链接 (Link)**:插件会自动处理 S3 或本地存储映射,绕过 RAG 干扰,并返回一个类似 `/api/v1/files/.../content` 的安全链接。 + +> [!TIP] +> **用户指令技巧**:您可以直接对 Agent 说:“分析刚才的表格并导出一份 Excel 给我”。它会自动触发这一连串动作。 + +--- + +## 2. BYOK (自带 Key) 模式进阶 + +如果您没有 GitHub Copilot 订阅,或者希望使用自己购买的 OpenAI/Anthropic 高阶模型,可以使用 BYOK 模式。 + +### 如何配置: +1. **设置 Base URL**:如 `https://api.openai.com/v1`。 +2. **设置 API Key**:在个人设置中填入您的密钥。 +3. **模型实时刷新**:插件具备**配置感知刷新**机制。当您在 Valve 中修改了 API Key 或 Base URL 后,无需重启,只需刷新模型选择器,插件会自动向后端拉取最新的可用模型列表。 + +--- + +## 3. 工作区隔离与调试 (Workspace & Debugging) + +每个聊天会话都有一个物理上隔离的文件夹,确保不同任务的文件互不干扰。 + +### 物理路径规则: +- **容器内路径**:`/app/backend/data/copilot_workspace/{user_id}/{chat_id}/` +- **Agent 的视角**:它看到的 `.` 目录即是上述路径。 + +### 调试秘籍: +1. **开启 DEBUG Valve**:在配置中将 `DEBUG` 设为 `True`。 +2. **查看控制台**:打开浏览器开发者工具 (F12) -> Console。 +3. **捕获路径**:您会看到类似 `📂 Workspace Resolved: /.../` 的日志,这能帮您确认 Agent 到底把文件写到了哪里。 + +--- + +## 4. 绕过 RAG 的深度分析 + +传统的 OpenWebUI 文件上传会触发向量化(RAG),这对于大批量数据分析往往不够精确。 + +**本插件的优势**: +- 配合 [Files Filter](https://openwebui.com/posts/403a62ee-a596-45e7-be65-fab9cc249dd6) 插件使用时,Agent 可以**直接读取**原始文件的每一个字节。 +- 它能像在本地运行脚本一样分析 CSV 的每一行,而不会因为切片检索(Retrieval)导致信息丢失。 + +--- + +## 5. 常见交互指令示例 + +- **数据转换**:“把这个 JSON 内容转换成格式精美的 Word 文档并提供下载链接。” +- **代码审查**:“读取工作区内的所有 `.py` 文件,找出潜在的 Bug,并把修改建议发布为 Markdown 报告。” +- **图表生成**:“根据刚才的财务数据生成一份 Excel 报表,并用 Python 画一个趋势图给我。” + +--- + +## 🚀 实战示例:全自动财务分析报告 + +### 场景描述 +用户上传了一个名为 `sales_data.csv` 的原始销售清单,要求 AI 进行汇总统计,并生成一份带样式的 Excel 报表。 + +### 1. 用户的指令 +> “请分析当前目录下的 `sales_data.csv`,按产品类别统计总销售额,并导出一份名为 `category_summary.xlsx` 的 Excel 给我就好。” + +### 2. Agent 的自动化执行过程 +Agent 会在后台连续执行以下动作: + +* **步骤 1: 编写并运行 Python 脚本** + ```python + import pandas as pd + # 直接在隔离工作区读取原始文件(绕过 RAG,保证数据 100% 准确) + df = pd.read_csv('sales_data.csv') + summary = df.groupby('Category')['Revenue'].sum().reset_index() + # 保存结果到当前目录 + summary.to_excel('category_summary.xlsx', index=False) + ``` +* **步骤 2: 调用发布工具** + Agent 自动执行工具调用:`publish_file_from_workspace(filename="category_summary.xlsx")` +* **步骤 3: 交付链接** + 工具返回 `download_url`,Agent 最终回复用户。 + +### 3. 最终交付效果 +Agent 会向用户展示: +> “分析完成!我已经为您统计了产品类别的销售额。您可以点击下方链接下载报表: +> +> [📊 点击下载:分类销售统计报表.xlsx](/api/v1/files/uuid-hash/content)” + +--- + +## ⭐ 持续改进 + +如果您在使用过程中发现任何问题,或有新的功能建议,欢迎到 [Awesome OpenWebUI](https://github.com/Fu-Jie/awesome-openwebui) 提交 Issue 或参与讨论。 diff --git a/docs/plugins/pipes/github-copilot-sdk.md b/docs/plugins/pipes/github-copilot-sdk.md index a1c725c..9f2203d 100644 --- a/docs/plugins/pipes/github-copilot-sdk.md +++ b/docs/plugins/pipes/github-copilot-sdk.md @@ -32,7 +32,8 @@ This is an advanced Pipe function for [OpenWebUI](https://github.com/open-webui/ - **🧠 Deep Database Integration**: Real-time persistence of TOD·O lists for long-running workflows. - **🌊 Advanced Streaming**: Full support for thinking process/Chain of Thought visualization. - **🖼️ Intelligent Multimodal**: Vision capabilities and raw file analysis support. -- **⚡ Full-Lifecycle File Agent**: Supports receiving uploaded files for raw bypass analysis and publishing generated results (e.g., analyzed Excel/reports) as downloadable links—a complete closed-loop agentic workflow. +- **⚡ Full-Lifecycle File Agent**: Supports receiving uploaded files for raw bypass analysis and publishing results (Excel/reports) as downloadable links. +- **🖼️ Interactive Artifacts**: Automatically renders HTML/JS apps generated by the agent directly in the chat interface. --- diff --git a/docs/plugins/pipes/github-copilot-sdk.zh.md b/docs/plugins/pipes/github-copilot-sdk.zh.md index 2f6ed1e..b3ed70f 100644 --- a/docs/plugins/pipes/github-copilot-sdk.zh.md +++ b/docs/plugins/pipes/github-copilot-sdk.zh.md @@ -32,7 +32,8 @@ - **🧠 深度数据库集成**: 实时持久化 TOD·O 列表到 UI 进度条。 - **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染。 - **🖼️ 智能多模态**: 完整支持图像识别与附件上传分析。 -- **⚡ 全生命周期文件 Agent**: 支持接收上传文件进行绕过 RAG 的深度分析,并将处理结果(如分析后的 Excel/报告)发布为可下载链接,实现完整的闭环 Agent 工作流。 +- **⚡ 全生命周期文件 Agent**: 支持接收上传文件进行绕过 RAG 的深度分析,并将处理结果(如 Excel/报告)发布为下载链接实现闭环。 +- **🖼️ 交互式伪影 (Artifacts)**: 自动渲染 Agent 生成的 HTML/JS 应用程序,直接在聊天界面交互。 --- diff --git a/docs/plugins/pipes/index.md b/docs/plugins/pipes/index.md index 178144d..8b3000d 100644 --- a/docs/plugins/pipes/index.md +++ b/docs/plugins/pipes/index.md @@ -15,7 +15,7 @@ Pipes allow you to: ## Available Pipe Plugins -- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.6.2) - Official GitHub Copilot SDK integration. Features **Workspace Isolation**, **Database Persistence**, **Zero-config OpenWebUI Tool Bridge**, **BYOK** support, and **dynamic MCP discovery**. Supports streaming, multimodal, and infinite sessions. +- [GitHub Copilot SDK](github-copilot-sdk.md) (v0.6.2) - Official GitHub Copilot SDK integration. Features **Workspace Isolation**, **Database Persistence**, **Zero-config OpenWebUI Tool Bridge**, **BYOK** support, and **dynamic MCP discovery**. Supports streaming, multimodal, and infinite sessions. [View Deep Dive](github-copilot-sdk-deep-dive.md) | [**View Advanced Tutorial**](github-copilot-sdk-tutorial.md). --- diff --git a/docs/plugins/pipes/index.zh.md b/docs/plugins/pipes/index.zh.md index 1c19182..b33b55a 100644 --- a/docs/plugins/pipes/index.zh.md +++ b/docs/plugins/pipes/index.zh.md @@ -15,7 +15,7 @@ Pipes 可以用于: ## 可用的 Pipe 插件 -- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.6.2) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**数据库持久化**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。支持流式输出、打字机思考过程及无限会话。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md)。 +- [GitHub Copilot SDK](github-copilot-sdk.zh.md) (v0.6.2) - GitHub Copilot SDK 官方集成。具备**工作区安全隔离**、**数据库持久化**、**零配置工具桥接**与**BYOK (自带 Key) 支持**。支持流式输出、打字机思考过程及无限会话。[查看深度架构解析](github-copilot-sdk-deep-dive.zh.md) | [**查看进阶实战教程**](github-copilot-sdk-tutorial.zh.md)。 --- diff --git a/plugins/pipes/github-copilot-sdk/README.md b/plugins/pipes/github-copilot-sdk/README.md index a1c725c..9f2203d 100644 --- a/plugins/pipes/github-copilot-sdk/README.md +++ b/plugins/pipes/github-copilot-sdk/README.md @@ -32,7 +32,8 @@ This is an advanced Pipe function for [OpenWebUI](https://github.com/open-webui/ - **🧠 Deep Database Integration**: Real-time persistence of TOD·O lists for long-running workflows. - **🌊 Advanced Streaming**: Full support for thinking process/Chain of Thought visualization. - **🖼️ Intelligent Multimodal**: Vision capabilities and raw file analysis support. -- **⚡ Full-Lifecycle File Agent**: Supports receiving uploaded files for raw bypass analysis and publishing generated results (e.g., analyzed Excel/reports) as downloadable links—a complete closed-loop agentic workflow. +- **⚡ Full-Lifecycle File Agent**: Supports receiving uploaded files for raw bypass analysis and publishing results (Excel/reports) as downloadable links. +- **🖼️ Interactive Artifacts**: Automatically renders HTML/JS apps generated by the agent directly in the chat interface. --- diff --git a/plugins/pipes/github-copilot-sdk/README_CN.md b/plugins/pipes/github-copilot-sdk/README_CN.md index 7f7979f..5ba86fa 100644 --- a/plugins/pipes/github-copilot-sdk/README_CN.md +++ b/plugins/pipes/github-copilot-sdk/README_CN.md @@ -32,7 +32,8 @@ - **🧠 深度数据库集成**: 实时持久化 TOD·O 列表到 UI 进度条。 - **🌊 深度推理展示**: 完整支持模型思考过程 (Thinking Process) 的流式渲染。 - **🖼️ 智能多模态**: 完整支持图像识别与附件上传分析。 -- **⚡ 全生命周期文件 Agent**: 支持接收上传文件进行绕过 RAG 的深度分析,并将处理结果(如分析后的 Excel/报告)发布为可下载链接,实现完整的闭环 Agent 工作流。 +- **⚡ 全生命周期文件 Agent**: 支持接收上传文件进行绕过 RAG 的深度分析,并将处理结果(如 Excel/报告)发布为下载链接。 +- **🖼️ 交互式伪影 (Artifacts)**: 自动渲染 Agent 生成的 HTML/JS 应用程序,直接在聊天界面交互。 --- diff --git a/plugins/pipes/github-copilot-sdk/github_copilot_sdk.py b/plugins/pipes/github-copilot-sdk/github_copilot_sdk.py index d671481..37a8bec 100644 --- a/plugins/pipes/github-copilot-sdk/github_copilot_sdk.py +++ b/plugins/pipes/github-copilot-sdk/github_copilot_sdk.py @@ -134,10 +134,10 @@ BASE_GUIDELINES = ( " - 2. **Render**: Immediately output the SAME code in a ` ```html ` block so the user can interact with it.\n" " - **Result**: The user gets both a saved file AND a live app. Never force the user to choose one over the other.\n" "4. **Images & Files**: ALWAYS embed generated images/files directly using `![caption](url)`. Never provide plain text links.\n" - "5. **File Delivery & Publishing (CRITICAL)**:\n" - " - **Implicit Requests**: If the user says 'publish this', 'export your response', or 'give me a link to this content', you MUST: 1. Write the relevant content to a `.md` (or other appropriate) file in the current directory (`.`). 2. Call `publish_file_from_workspace(filename='name.md')` to get a link.\n" - " - **Manual Sequence**: 1. **Write Local**: Create the file in `.` (your only workspace). 2. **Publish**: Call `publish_file_from_workspace(filename='your_file.ext')`. **WARNING**: You MUST provide the filename argument; never call this tool with empty parentheses.\n" - " - *Rule*: Only files in the current directory (`.`) can be published. The tool bypasses RAG and handles S3/Local storage automatically.\n" + "5. **File Delivery & Publishing (Complementary Goal)**:\n" + " - **Philosophy**: Publishing files is essential when the user needs to *possess* the data (download, edit offline, archive). However, this should **NOT** replace chat-page visualizations (HTML artifacts, Mermaid, Markdown tables). Aim for 'Visual First + File for Persistence'.\n" + " - **Implicit Requests**: If the user wants to 'get' or 'export' something, you MUST: 1. Visualize/summarize in the chat. 2. Write to a local file. 3. Call `publish_file_from_workspace`. 4. Provide the link.\n" + " - **Standard Sequence**: 1. **Write Local**: Create file in `.` (only workspace). 2. **Publish**: Call `publish_file_from_workspace(filename='your_file.ext')`. 3. **Link**: Present the `download_url` as a Markdown link.\n" "6. **TODO Visibility**: Every time you call the `update_todo` tool, you **MUST** immediately follow up with a beautifully formatted **Markdown summary** of the current TODO list. Use task checkboxes (`- [ ]`), progress indicators, and clear headings so the user can see the status directly in the chat.\n" "7. **Python Execution Standard**: For ANY task requiring Python logic (not just data analysis), you **MUST NOT** embed multi-line code directly in a shell command (e.g., using `python -c` or `<< 'EOF'`).\n" ' - **Exception**: Trivial one-liners (e.g., `python -c "print(1+1)"`) are permitted.\n' diff --git a/plugins/pipes/github-copilot-sdk/github_copilot_sdk_cn.py b/plugins/pipes/github-copilot-sdk/github_copilot_sdk_cn.py index ad8ba04..35d77c0 100644 --- a/plugins/pipes/github-copilot-sdk/github_copilot_sdk_cn.py +++ b/plugins/pipes/github-copilot-sdk/github_copilot_sdk_cn.py @@ -63,10 +63,10 @@ FORMATTING_GUIDELINES = ( "1. **Markdown & 多媒体**:自由使用粗体、斜体、表格和列表。\n" "2. **Mermaid 图表**:请务必使用标准的 ```mermaid 代码块。\n" "3. **交互式 HTML/JS**:你可以输出完整的 ```html 代码块(含 CSS/JS),将在 iframe 中渲染。\n" - "4. **文件交付与发布 (关键规范)**:\n" - " - **隐式请求**:若用户要求“发布这个”、“导出刚才的内容”或“给我一个链接”,你必须:1. 将内容写入当前目录 (`.`) 下的 `.md` (或其他合适) 文件。2. 调用 `publish_file_from_workspace(filename='name.md')` 获取链接。\n" - " - **标准流程**:1. **本地写入**:使用 Python 在**当前目录 (`.`)** 创建文件。这是你的唯一工作区。**严禁**使用 `/tmp` 等绝对路径。2. **显式发布**:调用 `publish_file_from_workspace(filename='your_file.ext')`。该工具会自动同步至 S3 并绕过 RAG。3. **呈现链接**:从工具返回的 JSON 中提取 `download_url`,并以 Markdown 链接 `[点击下载描述](url)` 展示。\n" - " - **规则**:只有当前目录 (`.`) 下的文件可以发布。调用时必须传入 `filename` 参数,严禁空调用。\n" + "4. **文件交付与发布 (互补目标)**:\n" + " - **设计理念**:当用户需要“拥有”数据(下载、离线编辑、归档)时,发布文件是必不可少的。但这**不应**取代聊天页面的视觉化展示(如 HTML 应用、Mermaid 图表、Markdown 表格)。应追求“直观预览 + 持久产物”的双重体验。\n" + " - **隐式请求**:若用户要求“获取内容”或“导出数据”,你应当:1. 在聊天中进行视觉化汇总/预览。2. 将完整内容写入本地文件。3. 调用 `publish_file_from_workspace`。4. 展示下载链接。\n" + " - **标准流程**:1. **本地写入**:在当前目录 (`.`) 创建文件。2. **发布文件**:调用 `publish_file_from_workspace(filename='your_file.ext')`。3. **呈现链接**:从返回结果中提取 `download_url` 并在回复末尾展示。\n" "7. **主动与自主**: 你是专家工程师。对于显而易见的步骤,**不要**请求许可。**不要**停下来问“我通过吗?”或“是否继续?”。\n" " - **行为模式**: 分析用户请求 -> 制定计划 -> **立即执行**计划。\n" " - **澄清**: 仅当请求模棱两可或具有高风险(例如破坏性操作)时才提出问题。\n" diff --git a/sample_sales_data.csv b/sample_sales_data.csv new file mode 100644 index 0000000..959335d --- /dev/null +++ b/sample_sales_data.csv @@ -0,0 +1,11 @@ +Date,Product,Category,Price,Quantity,Revenue +2024-01-01,Laptop,Electronics,1200,2,2400 +2024-01-02,Mouse,Electronics,25,10,250 +2024-01-03,Chair,Furniture,150,5,750 +2024-01-04,Desk,Furniture,300,3,900 +2024-01-05,Headphones,Electronics,100,8,800 +2024-01-06,Lamp,Decor,45,12,540 +2024-01-07,Monitor,Electronics,350,4,1400 +2024-01-08,Bookcase,Furniture,200,2,400 +2024-01-09,Keyboard,Electronics,80,15,1200 +2024-01-10,Rug,Decor,120,3,360