@uniqueli/openwork
v0.4.1
Published
A tactical agent interface for deepagentsjs with multiple custom API support
Downloads
370
Maintainers
Readme
@uniqueli/openwork
A desktop interface for deepagentsjs — an opinionated harness for building deep agents with filesystem capabilities, planning, and subagent delegation.
✨ Enhanced with Multiple Custom API Support + MCP Integration - Add unlimited OpenAI-compatible API providers and MCP servers with a single click!

[!CAUTION] openwork gives AI agents direct access to your filesystem and the ability to execute shell commands. Always review tool calls before approving them, and only run in workspaces you trust.
Get Started
# Run directly with npx
npx @uniqueli/openwork
# Or install globally
npm install -g @uniqueli/openwork
openworkRequires Node.js 18+.
From Source
git clone https://github.com/langchain-ai/openwork.git
cd openwork
npm install
npm run devOr configure them in-app via the settings panel.
Supported Models
| Provider | Models | | ---------- | ----------------------------------------------------------------------------------------------------- | | Anthropic | Claude Opus 4.5, Claude Sonnet 4.5, Claude Haiku 4.5, Claude Opus 4.1, Claude Sonnet 4 | | OpenAI | GPT-5.2, GPT-5.1, o3, o3 Mini, o4 Mini, o1, GPT-4.1, GPT-4o | | Google | Gemini 3 Pro Preview, Gemini 3 Flash Preview, Gemini 2.5 Pro, Gemini 2.5 Flash, Gemini 2.5 Flash Lite | | Custom | Add unlimited custom providers! |
✨ Multiple Custom API Providers
New in v0.2.0: Add multiple custom OpenAI-compatible API providers directly from the UI!
How to Add Custom Providers
- Click the model selector in the chat interface
- Click the "+ 添加Provider" button at the bottom of the provider list
- Fill in the form:
- ID: Unique identifier (e.g.,
moonshot,zhipu,deepseek) - Display Name: Name shown in UI (e.g.,
Moonshot AI,Zhipu AI) - Base URL: API endpoint (e.g.,
https://api.moonshot.cn/v1) - API Key: Your API key
- Model Name: Model identifier (e.g.,
kimi-k2-turbo-preview)
- ID: Unique identifier (e.g.,
- Click Save - your new provider appears immediately!
Supported Custom APIs
Works with any OpenAI-compatible API:
- Chinese AI Providers: Moonshot AI (Kimi), Zhipu AI (GLM), DeepSeek, Baichuan, etc.
- Self-hosted models: vLLM, Text Generation WebUI, LocalAI, Ollama (with OpenAI compatibility)
- Cloud services: Azure OpenAI, AWS Bedrock (with proxy), Cloudflare AI
- Other providers: Together AI, Anyscale, Fireworks AI, etc.
Example Configurations
Moonshot AI (Kimi)
ID: moonshot
Display Name: Moonshot AI
Base URL: https://api.moonshot.cn/v1
Model Name: kimi-k2-turbo-previewZhipu AI (GLM)
ID: zhipu
Display Name: Zhipu AI
Base URL: https://open.bigmodel.cn/api/paas/v4
Model Name: glm-4-plusDeepSeek
ID: deepseek
Display Name: DeepSeek
Base URL: https://api.deepseek.com/v1
Model Name: deepseek-chatConfigure via Settings UI or by setting environment variables:
CUSTOM_BASE_URL=https://api.example.com/v1
CUSTOM_API_KEY=your-api-key
CUSTOM_MODEL=your-model-name # optional🔌 MCP Server Integration
New in v0.4.0: Full support for Model Context Protocol (MCP) servers!
What is MCP?
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:
- Access API documentation (YAPI, Swagger, etc.)
- Query databases
- Search the web
- Interact with file systems
- And much more!
How to Add MCP Servers
- Open the right panel in openwork
- Click the "MCP" section to expand it
- Click the "+ 添加" button
- Fill in the form:
- 传输类型: STDIO (local process) or SSE (HTTP endpoint)
- 服务器ID: Unique identifier (e.g.,
yapi-devloper-mcp) - 显示名称: Name shown in UI (e.g.,
YAPI开发助手) - 命令 (STDIO only): Command to run (e.g.,
npx) - 命令参数 (STDIO only): Arguments (e.g.,
-y yapi-devloper-mcp@latest --stdio) - 环境变量: Optional key-value pairs for sensitive data (API keys, etc.)
- 分类: Choose a category for better organization
- Click "测试连接" to verify the configuration
- Click "创建服务器" to save
Example Configurations
YAPI Developer MCP
ID: yapi-devloper-mcp
Name: YAPI开发助手
Type: STDIO
Command: npx
Args: -y yapi-devloper-mcp@latest --stdio
Environment Variables:
YAPI_BASE_URL: https://yapi.jiaoyanyun.com
YAPI_USERNAME: your-username
YAPI_PASSWORD: your-password
Category: APIContext7 (Vector Context Service)
ID: context7
Name: Context7
Type: STDIO
Command: npx
Args: -y @upstash/context7-mcp@latest
Category: CustomFilesystem MCP
ID: filesystem
Name: 文件系统
Type: STDIO
Command: npx
Args: -y @modelcontextprotocol/server-filesystem /path/to/allowed/directory
Category: FilesystemGitHub MCP
ID: github
Name: GitHub
Type: STDIO
Command: npx
Args: -y @modelcontextprotocol/server-github
Environment Variables:
GITHUB_PERSONAL_ACCESS_TOKEN: ghp_xxxxxxxxxxxx
Category: DevelopmentBrave Search MCP
ID: brave-search
Name: Brave搜索
Type: SSE
URL: https://sse.brave.search
Environment Variables:
BRAVE_API_KEY: your-brave-api-key
Category: ProductivityUsing MCP Tools
Once connected, MCP tools are automatically available to your agent:
- Tools are discovered and loaded automatically
- Each server shows its connection status and tool count
- Tools appear as regular LangChain tools in the agent's toolkit
- Disconnect or disable servers to temporarily stop using their tools
Managing MCP Servers
- Connect/Disconnect: Click the plug icon to connect/disconnect
- Enable/Disable: Click the power icon to enable/disable a server
- Delete: Click the trash icon to permanently remove a server
- View Status: See real-time connection status (Connected/Connecting/Error/Disconnected)
Changelog
v0.4.0 (2026-02-10)
- 🔌 MCP Integration: 新增Model Context Protocol (MCP) 完整支持
- 支持STDIO和SSE两种传输方式
- 可视化MCP服务器管理界面(右侧面板新增MCP分区)
- 支持环境变量配置(用于API密钥等敏感信息)
- 自动将MCP工具转换为LangChain工具
- Agent运行时自动加载已连接的MCP工具
- 实时显示连接状态和工具数量
- 支持测试连接功能
- 已测试:YAPI Developer MCP、Context7等
v0.3.0 (2026-02-09)
- 🚀 Skills System Major Upgrade: 技能系统重大升级
- ⚡ Performance: 将所有文件操作转换为异步I/O,解决UI阻塞问题
- 🔒 Security: 新增完整的输入验证系统,防止注入攻击和资源耗尽
- 💾 Memory: 实现LRU缓存机制(最大100个技能),防止内存泄漏
- 🎯 Skill Combination: 新增技能组合功能,支持跨学科专业知识整合
- 📝 Version Management: 为所有技能添加语义化版本控制
- 🛠️ Error Handling: 增强错误处理系统,提供中文错误消息和恢复建议
- 🐛 UI Fix: 修复创建技能对话框在From Template模式下窗口过大、关闭按钮不可见的问题
v0.2.4 (2026-02-06)
- ✨ 聊天建议卡片: 新对话空状态下显示可点击的建议卡片(文件整理、内容创作、文档处理),点击即可快速开始对话
v0.2.3 (2026-02-04)
- ✨ Skills System: 新增技能配置系统,支持 12 个内置技能和自定义技能创建
- 🐛 修复
deleteUserSkill误删所有技能记录的严重 Bug - 🐛 修复 Switch 组件、创建技能对话框、技能过滤等多个问题
- ⚡ 技能初始化改为懒加载,提升启动性能
v0.2.2 (2026-xx-xx)
- ✨ 支持多个自定义 API 配置
- 🔧 动态 Provider 系统
v0.2.1 (2026-01-19)
- 🐛 Critical Fix: Fixed "Missing credentials" error for users without OpenAI API key
- 🔧 Custom API now works correctly even when OPENAI_API_KEY is not set in environment
- 📝 Improved logging for debugging custom API configurations
v0.2.0 (2026-01-18)
- ✨ Multiple Custom API Providers: Add unlimited custom providers via UI
- 🎨 Improved UX: One-click provider addition with "+ 添加Provider" button
- 🔧 Better Configuration: Each provider has its own name, base URL, API key, and model
- 🌐 Chinese AI Support: Perfect for Moonshot AI, Zhipu AI, DeepSeek, and other providers
- 📝 Simplified Settings: Cleaner settings dialog focused on standard providers
v0.1.0 (2026-01-15)
- 🎉 Initial release with basic custom API support
- 🔑 Single custom API configuration via Settings
Contributing
We welcome contributions! See CONTRIBUTING.md for guidelines.
Report bugs via GitHub Issues.
Credits
This project is a fork of openwork by LangChain with enhanced custom API support.
License
MIT — see LICENSE for details.
