* feat(github-copilot-sdk): add workspace skills support - Introduce ENABLE_WORKSPACE_SKILLS valve to enable/disable workspace custom tools discovery - Modify _build_session_config() to auto-load tools from .copilot-skills/ directory - Add workspace_skills_example.py template with 3 working example tools - Update README.md and README_CN.md with Workspace Skills guide and usage examples - Create v0.9.0.md and v0.9.0_CN.md release notes - Sync version to all docs files (index.md, index.zh.md, and main docs) - Bump version from 0.8.0 to 0.9.0 across all 7+ locations * docs: establish temp files handling policy (project-based, not /tmp) - Add TEMP_FILES_POLICY.md guideline for all skills and workflows - Update pr-submitter skill to use .temp/ directory instead of /tmp - Update release-prep skill documentation with temp file convention - Add .temp/ and .build/ entries to .gitignore - Create internal policy memo in /memories/repo/ This policy ensures: - All temporary files stay within project workspace (not system /tmp) - Alignment with OpenWebUI workspace isolation principles - Multi-user safety and cleanup traceability - Consistent handling across all skills and development workflows * fix(terminology): rename 'workspace skills' to 'workspace custom tools' for accuracy The term 'Skills' in Anthropic context refers to instruction-based frameworks (SKILL.md files with YAML frontmatter + markdown), not custom tool functions. Our implementation uses @define_tool decorator to define custom tools that the SDK auto-discovers from .copilot-skills/ directory. These are Tools, not Skills. Changes: - Rename ENABLE_WORKSPACE_SKILLS valve -> ENABLE_WORKSPACE_TOOLS - Update all documentation (README, README_CN, docs, release notes) - Fix section headings and descriptions throughout - Ensure consistent terminology across all files This is a terminology-only change; functionality remains identical. * feat(pipes): release v0.9.0 of GitHub Copilot SDK Pipe - Integrated OpenWebUI Skills Bridge and manage_skills tool - Reinforced status bar stability with session_finalized logic - Added persistent SDK config directory support * docs(pipes): add comprehensive guides and v0.9.0 notes for Copilot SDK - Added skill manager and best practices guides - Added publishing tool documentation - Included v0.9.0 release notes and deployment script - Updated usage guides
5.0 KiB
5.0 KiB
GitHub Copilot SDK Pipe Detailed Usage Guide
Author: Fu-Jie | Version: 0.9.0 | Project: OpenWebUI Extensions
This guide is for production usage. README remains community-facing and concise; this page focuses on step-by-step operations and troubleshooting.
1. When to Use This Guide
Use this manual if you need to:
- Run GitHub Copilot official models in OpenWebUI
- Use BYOK providers (OpenAI/Anthropic)
- Generate and publish artifacts (Excel/CSV/HTML/PDF)
- Manage Skills with OpenWebUI bridge and
manage_skills
2. Pre-flight Checklist
2.1 Required components
- OpenWebUI is running (recommended
v0.8.0+for Rich UI) - Pipe is installed:
plugins/pipes/github-copilot-sdk/github_copilot_sdk.py - Recommended companion filter:
2.2 Authentication (at least one)
You must configure one of the following:
GH_TOKENfor official GitHub Copilot modelsBYOK_API_KEYfor OpenAI/Anthropic style providers
3. Installation Flow
- Open OpenWebUI → Workspace → Functions
- Create function and paste
github_copilot_sdk.py - Save and enable
- In chat model selector, choose:
github_copilot_official_sdk_pipe.*(official)- or your BYOK model entries
4. Configuration Baseline
4.1 Minimal admin setup
GH_TOKENorBYOK_API_KEYENABLE_OPENWEBUI_TOOLS = TrueENABLE_MCP_SERVER = TrueENABLE_OPENWEBUI_SKILLS = TrueSHOW_THINKING = True
4.2 Recommended production settings
COPILOTSDK_CONFIG_DIR=/app/backend/data/.copilot- Persists SDK config/session state across restarts
OPENWEBUI_SKILLS_SHARED_DIR=/app/backend/data/cache/copilot-openwebui-skills- Shared skill cache directory
DEBUG=Trueduring troubleshooting only
4.3 User-level overrides
Users can override GH_TOKEN, REASONING_EFFORT, BYOK_API_KEY, DISABLED_SKILLS, etc.
5. Model Access Modes
5.1 Official Copilot mode
- Set
GH_TOKEN - Use official model catalog
- Supports reasoning effort, tools, infinite session features
5.2 BYOK mode
- Set
BYOK_TYPE,BYOK_BASE_URL,BYOK_API_KEY - Leave
BYOK_MODELSempty for auto-fetch, or set explicit list - Best when no Copilot subscription is available
6. Artifact Publishing Workflow (Critical)
Use publish_file_from_workspace with the sequence: write → publish → return links.
6.1 HTML delivery modes
artifacts(default)- Returns
[Preview]+[Download] html_embedcan be rendered in a full-height iframe block
- Returns
richui- Returns
[Preview]+[Download] - Rich UI renders automatically (no iframe block in message)
- Returns
6.2 PDF delivery rule
- Output Markdown links only (
[Preview]+[Download]when available) - Do not embed PDF via iframe/html blocks
6.3 Images and other files
- Images: prefer direct display + download
- Other artifacts (
xlsx/csv/docx): provide download links
7. Skills Operations
Key rule:
manage_skillsis a tool, not a skill; all skills are installed in one directory:OPENWEBUI_SKILLS_SHARED_DIR/shared/.
7.1 OpenWebUI Skills bridge
With ENABLE_OPENWEBUI_SKILLS=True:
- Skills from UI sync into SDK directories
- Directory-side updates sync back according to sync policy
7.2 manage_skills quick actions
list,install,create,edit,show,delete
7.3 Operational tips
- Use
DISABLED_SKILLSto reduce noisy skill routing - Keep skill descriptions explicit for better intent matching
8. First-run Validation Checklist
- Basic chat response works
- Tool call can be triggered
- CSV/XLSX can be published and downloaded
- HTML mode works (
artifactsorrichui) - PDF returns links only (no embed)
manage_skills listreturns skill inventory
9. Troubleshooting
9.1 Empty model list
- Ensure at least one of
GH_TOKEN/BYOK_API_KEYis set - Validate BYOK base URL and model names
9.2 Tools not executing
- Check
ENABLE_OPENWEBUI_TOOLS,ENABLE_MCP_SERVER,ENABLE_OPENAPI_SERVER - Confirm session/model has tool access
9.3 Publish succeeded but link unavailable
- Use the original URLs returned by tool output
- Verify storage/backend access policy
- For PDF, do not attempt iframe embedding
9.4 Status appears stuck
- Upgrade to latest plugin code
- Enable
DEBUG=Truetemporarily - Verify frontend version compatibility for Rich UI
10. Practical Prompt Templates
- “Analyze
sales.csv, summarize by month, exportmonthly_summary.xlsx, and give me the download link.” - “Generate an interactive HTML dashboard and publish it with Preview and Download links.”
- “Create a reusable skill named
finance-reportingfrom this workflow.”
For deeper architecture and examples: