@uniqueli/openwork 0.2.4 → 0.4.0

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.
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  A desktop interface for [deepagentsjs](https://github.com/langchain-ai/deepagentsjs) — an opinionated harness for building deep agents with filesystem capabilities, planning, and subagent delegation.
11
11
 
12
- **✨ Enhanced with Multiple Custom API Support** - Add unlimited OpenAI-compatible API providers with a single click!
12
+ **✨ Enhanced with Multiple Custom API Support + MCP Integration** - Add unlimited OpenAI-compatible API providers and MCP servers with a single click!
13
13
 
14
14
  ![openwork screenshot](docs/screenshot.png)
15
15
 
@@ -42,12 +42,12 @@ Or configure them in-app via the settings panel.
42
42
 
43
43
  ## Supported Models
44
44
 
45
- | Provider | Models |
46
- | --------- | -------------------------------------------------------------------------------------- |
47
- | Anthropic | Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.1, Claude Sonnet 4 |
48
- | OpenAI | GPT-5.2, GPT-5.1, o3, o3 Mini, o4 Mini, o1, GPT-4.1, GPT-4o |
49
- | Google | Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite |
50
- | **Custom** | **Add unlimited custom providers!** |
45
+ | Provider | Models |
46
+ | ---------- | ----------------------------------------------------------------------------------------------------- |
47
+ | Anthropic | Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.1, Claude Sonnet 4 |
48
+ | OpenAI | GPT-5.2, GPT-5.1, o3, o3 Mini, o4 Mini, o1, GPT-4.1, GPT-4o |
49
+ | Google | Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite |
50
+ | **Custom** | **Add unlimited custom providers!** |
51
51
 
52
52
  ## ✨ Multiple Custom API Providers
53
53
 
@@ -68,6 +68,7 @@ Or configure them in-app via the settings panel.
68
68
  ### Supported Custom APIs
69
69
 
70
70
  Works with any OpenAI-compatible API:
71
+
71
72
  - **Chinese AI Providers**: Moonshot AI (Kimi), Zhipu AI (GLM), DeepSeek, Baichuan, etc.
72
73
  - **Self-hosted models**: vLLM, Text Generation WebUI, LocalAI, Ollama (with OpenAI compatibility)
73
74
  - **Cloud services**: Azure OpenAI, AWS Bedrock (with proxy), Cloudflare AI
@@ -76,6 +77,7 @@ Works with any OpenAI-compatible API:
76
77
  ### Example Configurations
77
78
 
78
79
  **Moonshot AI (Kimi)**
80
+
79
81
  ```
80
82
  ID: moonshot
81
83
  Display Name: Moonshot AI
@@ -84,6 +86,7 @@ Model Name: kimi-k2-turbo-preview
84
86
  ```
85
87
 
86
88
  **Zhipu AI (GLM)**
89
+
87
90
  ```
88
91
  ID: zhipu
89
92
  Display Name: Zhipu AI
@@ -92,40 +95,181 @@ Model Name: glm-4-plus
92
95
  ```
93
96
 
94
97
  **DeepSeek**
98
+
95
99
  ```
96
100
  ID: deepseek
97
101
  Display Name: DeepSeek
98
102
  Base URL: https://api.deepseek.com/v1
99
103
  Model Name: deepseek-chat
100
104
  ```
105
+
101
106
  Configure via Settings UI or by setting environment variables:
107
+
102
108
  ```bash
103
109
  CUSTOM_BASE_URL=https://api.example.com/v1
104
110
  CUSTOM_API_KEY=your-api-key
105
111
  CUSTOM_MODEL=your-model-name # optional
106
112
  ```
107
113
 
114
+ ## 🔌 MCP Server Integration
115
+
116
+ **New in v0.4.0**: Full support for Model Context Protocol (MCP) servers!
117
+
118
+ ### What is MCP?
119
+
120
+ MCP (Model Context Protocol) is an open protocol that allows AI assistants to securely connect to external data sources and tools. With MCP, your agent can:
121
+
122
+ - Access API documentation (YAPI, Swagger, etc.)
123
+ - Query databases
124
+ - Search the web
125
+ - Interact with file systems
126
+ - And much more!
127
+
128
+ ### How to Add MCP Servers
129
+
130
+ 1. Open the right panel in openwork
131
+ 2. Click the **"MCP"** section to expand it
132
+ 3. Click the **"+ 添加"** button
133
+ 4. Fill in the form:
134
+ - **传输类型**: STDIO (local process) or SSE (HTTP endpoint)
135
+ - **服务器ID**: Unique identifier (e.g., `yapi-devloper-mcp`)
136
+ - **显示名称**: Name shown in UI (e.g., `YAPI开发助手`)
137
+ - **命令** (STDIO only): Command to run (e.g., `npx`)
138
+ - **命令参数** (STDIO only): Arguments (e.g., `-y yapi-devloper-mcp@latest --stdio`)
139
+ - **环境变量**: Optional key-value pairs for sensitive data (API keys, etc.)
140
+ - **分类**: Choose a category for better organization
141
+ 5. Click **"测试连接"** to verify the configuration
142
+ 6. Click **"创建服务器"** to save
143
+
144
+ ### Example Configurations
145
+
146
+ **YAPI Developer MCP**
147
+
148
+ ```
149
+ ID: yapi-devloper-mcp
150
+ Name: YAPI开发助手
151
+ Type: STDIO
152
+ Command: npx
153
+ Args: -y yapi-devloper-mcp@latest --stdio
154
+ Environment Variables:
155
+ YAPI_BASE_URL: https://yapi.jiaoyanyun.com
156
+ YAPI_USERNAME: your-username
157
+ YAPI_PASSWORD: your-password
158
+ Category: API
159
+ ```
160
+
161
+ **Context7 (Vector Context Service)**
162
+
163
+ ```
164
+ ID: context7
165
+ Name: Context7
166
+ Type: STDIO
167
+ Command: npx
168
+ Args: -y @upstash/context7-mcp@latest
169
+ Category: Custom
170
+ ```
171
+
172
+ **Filesystem MCP**
173
+
174
+ ```
175
+ ID: filesystem
176
+ Name: 文件系统
177
+ Type: STDIO
178
+ Command: npx
179
+ Args: -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
180
+ Category: Filesystem
181
+ ```
182
+
183
+ **GitHub MCP**
184
+
185
+ ```
186
+ ID: github
187
+ Name: GitHub
188
+ Type: STDIO
189
+ Command: npx
190
+ Args: -y @modelcontextprotocol/server-github
191
+ Environment Variables:
192
+ GITHUB_PERSONAL_ACCESS_TOKEN: ghp_xxxxxxxxxxxx
193
+ Category: Development
194
+ ```
195
+
196
+ **Brave Search MCP**
197
+
198
+ ```
199
+ ID: brave-search
200
+ Name: Brave搜索
201
+ Type: SSE
202
+ URL: https://sse.brave.search
203
+ Environment Variables:
204
+ BRAVE_API_KEY: your-brave-api-key
205
+ Category: Productivity
206
+ ```
207
+
208
+ ### Using MCP Tools
209
+
210
+ Once connected, MCP tools are automatically available to your agent:
211
+
212
+ - Tools are discovered and loaded automatically
213
+ - Each server shows its connection status and tool count
214
+ - Tools appear as regular LangChain tools in the agent's toolkit
215
+ - Disconnect or disable servers to temporarily stop using their tools
216
+
217
+ ### Managing MCP Servers
218
+
219
+ - **Connect/Disconnect**: Click the plug icon to connect/disconnect
220
+ - **Enable/Disable**: Click the power icon to enable/disable a server
221
+ - **Delete**: Click the trash icon to permanently remove a server
222
+ - **View Status**: See real-time connection status (Connected/Connecting/Error/Disconnected)
223
+
108
224
  ## Changelog
109
225
 
226
+ ### v0.4.0 (2026-02-10)
227
+
228
+ - 🔌 **MCP Integration**: 新增Model Context Protocol (MCP) 完整支持
229
+ - 支持STDIO和SSE两种传输方式
230
+ - 可视化MCP服务器管理界面(右侧面板新增MCP分区)
231
+ - 支持环境变量配置(用于API密钥等敏感信息)
232
+ - 自动将MCP工具转换为LangChain工具
233
+ - Agent运行时自动加载已连接的MCP工具
234
+ - 实时显示连接状态和工具数量
235
+ - 支持测试连接功能
236
+ - 已测试:YAPI Developer MCP、Context7等
237
+
238
+ ### v0.3.0 (2026-02-09)
239
+
240
+ - 🚀 **Skills System Major Upgrade**: 技能系统重大升级
241
+ - ⚡ **Performance**: 将所有文件操作转换为异步I/O,解决UI阻塞问题
242
+ - 🔒 **Security**: 新增完整的输入验证系统,防止注入攻击和资源耗尽
243
+ - 💾 **Memory**: 实现LRU缓存机制(最大100个技能),防止内存泄漏
244
+ - 🎯 **Skill Combination**: 新增技能组合功能,支持跨学科专业知识整合
245
+ - 📝 **Version Management**: 为所有技能添加语义化版本控制
246
+ - 🛠️ **Error Handling**: 增强错误处理系统,提供中文错误消息和恢复建议
247
+ - 🐛 **UI Fix**: 修复创建技能对话框在From Template模式下窗口过大、关闭按钮不可见的问题
248
+
110
249
  ### v0.2.4 (2026-02-06)
250
+
111
251
  - ✨ **聊天建议卡片**: 新对话空状态下显示可点击的建议卡片(文件整理、内容创作、文档处理),点击即可快速开始对话
112
252
 
113
253
  ### v0.2.3 (2026-02-04)
254
+
114
255
  - ✨ **Skills System**: 新增技能配置系统,支持 12 个内置技能和自定义技能创建
115
256
  - 🐛 修复 `deleteUserSkill` 误删所有技能记录的严重 Bug
116
257
  - 🐛 修复 Switch 组件、创建技能对话框、技能过滤等多个问题
117
258
  - ⚡ 技能初始化改为懒加载,提升启动性能
118
259
 
119
260
  ### v0.2.2 (2026-xx-xx)
261
+
120
262
  - ✨ 支持多个自定义 API 配置
121
263
  - 🔧 动态 Provider 系统
122
264
 
123
265
  ### v0.2.1 (2026-01-19)
266
+
124
267
  - 🐛 **Critical Fix**: Fixed "Missing credentials" error for users without OpenAI API key
125
268
  - 🔧 Custom API now works correctly even when OPENAI_API_KEY is not set in environment
126
269
  - 📝 Improved logging for debugging custom API configurations
127
270
 
128
271
  ### v0.2.0 (2026-01-18)
272
+
129
273
  - ✨ **Multiple Custom API Providers**: Add unlimited custom providers via UI
130
274
  - 🎨 **Improved UX**: One-click provider addition with "+ 添加Provider" button
131
275
  - 🔧 **Better Configuration**: Each provider has its own name, base URL, API key, and model
@@ -133,6 +277,7 @@ CUSTOM_MODEL=your-model-name # optional
133
277
  - 📝 **Simplified Settings**: Cleaner settings dialog focused on standard providers
134
278
 
135
279
  ### v0.1.0 (2026-01-15)
280
+
136
281
  - 🎉 Initial release with basic custom API support
137
282
  - 🔑 Single custom API configuration via Settings
138
283