dsh-mcp-proxy
ben7am1n
Context-cheap lazy MCP access for DeepSeek Harness
PROJECT TOPICS
PROJECT README
English | 中文
Your AI Desktop Office Assistant — Just Leave It to Abu
A locally-run AI desktop assistant inspired by Claude Code's Cowork mode. Tell Abu what you need — it reads files, runs commands, writes docs, and builds reports, all on your machine.
Download · Quick Start · Features · User Guide · Build from Source
🚧 Multi-Harness integration in progress: Abu is evolving toward pluggable agent runtimes, with DeepSeek Harness among the first integration targets. Stable releases currently use Abu's native harness.
| Feature | Abu | Regular AI Chat | Traditional Automation |
|---|---|---|---|
| Autonomous planning & task execution | :white_check_mark: | :x: | :x: |
| Read/write local files, run commands | :white_check_mark: | :x: | :white_check_mark: |
| Natural language interaction | :white_check_mark: | :white_check_mark: | :x: |
| 29 built-in skills + self-evolving (Abu grows its own) | :white_check_mark: | :x: | :x: |
| Multi-conversation Project aggregation | :white_check_mark: | :x: | :x: |
| Scheduled tasks & event triggers | :white_check_mark: | :x: | :white_check_mark: |
| IM bot (Lark/DingTalk/WeCom/Slack) | :white_check_mark: | :x: | Partial |
| Multi-agent parallel execution | :white_check_mark: | :x: | :x: |
| Browser & computer control | :white_check_mark: | :x: | Partial |
| 100% local data, privacy-safe | :white_check_mark: | :x: | :white_check_mark: |
Download the latest stable release · Read the full changelog
Recent highlights: Workspace file tree + code canvas (browse / preview / edit files in the side panel, CodeMirror source editing with auto-save, preview auto-refresh, version snapshots with rollback), declarative progress panel (the model declares its own plan steps and status via report_plan), inline visualization widgets (charts / HTML / Mermaid rendered inline in chat), multi-endpoint provider presets (Volcengine / Bailian / Zhipu access plans as curated presets + a unified add/edit modal), per-model capabilities (vision / tools / reasoning / token limits declared per model), plus doc comment-to-chat, full internationalization, and signed + notarized macOS builds.
Full changelog per release: see Releases.
Clean interface, powerful capabilities
| Welcome Natural language input — conversation is the command ![]() |
Task Execution Autonomous planning & tool invocation for complex tasks ![]() |
| Web Pages · Live Preview Generate a site and preview it live, side by side ![]() |
Content Creation · Live Preview Draft documents with a real-time Markdown preview ![]() |
| Plan Mode High-risk tasks show a plan first — runs only after you confirm ![]() |
Interactive Questions Abu pops an option card when it needs you to decide (single / multi-select) ![]() |
| Multi-Agent Parallel Up to 5 background agents working at once, progress in real time ![]() |
Desktop Pet · Activity Tray A floating pet on your desktop, its tray showing Abu's live status ![]() |
| Theme · Dark A polished, low-glare dark theme ![]() |
Theme · Light Switch between light / dark / follow-system ![]() |
| Labs In-progress features, off by default, opt-in (currently hosting: Desktop Pet) ![]() |
|
| Permission Control File access requires user authorization ![]() |
IM Channel Chat @Abu in Lark/DingTalk to interact ![]() |
| Skills 29 built-in skills + self-evolving + custom ![]() |
MCP Connectors One-click integration with Playwright, GitHub & more ![]() |
| Scheduled Tasks Cron-based scheduling for automated workflows ![]() |
Triggers / Watch HTTP, file changes, IM messages auto-trigger tasks ![]() |
| AI Service Management Multi-provider management with health checks ![]() |
IM Channel Config Connect Lark, DingTalk, WeCom & more ![]() |
| Personal Memory Remembers your preferences and work habits ![]() |
Security Sandbox Seatbelt sandbox + network isolation for privacy ![]() |
| Soul (Personality) 3 proactivity presets + custom SOUL.md for tone & style ![]() |
Diagnostic Panel One-click self-check across AI / MCP / skills / network + bundle export ![]() |
| Expert Agents A library of expert agents you can summon by @name ![]() |
Usage Stats Requests, tokens, cache hits, and per model / skill usage ![]() |
| Projects & Workspaces Group work into projects, each with its own skills & MCP ![]() |
|
| Content Safety Scan Three permission modes (Request Approval / Smart Review / Full Autonomy) + scan agents / skills / memory for prompt injection & dangerous instructions ![]() |
|
SOUL.mdcurl blind spotsTurn Abu into your team bot — just @Abu in your chat:
~/.abu/memory/ multi-file directory, applies across all projects, auto-organized by topic with MEMORY.md index injected into the prompt~/.abu/projects/<workspace>/memory/ auto-isolated per workspace, each entry is a separate .md file for easy reading, search, and pruning~/.abu/agents/abu/memory.md and {workspace}/.abu/MEMORY.md are migrated automatically on startup~/.abu/ABU.md — User-level rules (cross-project){workspace}/.abu/ABU.md — Project-level rules{workspace}/.abu/rules/*.md — Modular rules (loaded alphabetically, max 20 files)projectId on startup. Each project can independently configure default model, skill set, and MCP connectorstodo_write plans persisted to disk and survive app restartssandbox-exec) / Windows PowerShell ConstrainedLanguage isolates shell command file accessrm -rf /, etc.) caught staticallyFor detailed feature documentation, see the User Guide
Head to GitHub Releases to download the latest version:
| Platform | File |
|---|---|
| macOS (Apple Silicon) | Abu-x.x.x-mac-arm64.dmg |
| macOS (Intel) | Abu-x.x.x-mac-x64.dmg |
| Windows x64 | Abu-x.x.x-windows-x64-setup.exe |
Official macOS packages are signed and notarized. The Windows installer is current-user only and does not need administrator rights, but remains Authenticode-unsigned; SmartScreen may require More info → Run anyway. See the Installation Guide.
Open Abu → Settings → AI Service Management:
Return to the main screen, use the model selector to pick your preferred model, and start chatting.
Try these prompts:
Organize the files on my desktop by type
Extract the tables from this PDF and generate an Excel file
Every morning at 9 AM, search for the latest AI news and generate a daily digest
Use the frontend design skill to create a product landing page
Create a weekly report PPT for this week
For more use cases, see the User Guide
| Category | Skills |
|---|---|
| Document Generation | PDF, PPTX, DOCX, XLSX |
| Design & Creative | Frontend Design, Canvas Design, Algorithmic Art, SVG Diagram, Mermaid Diagram, Infographic, Slack GIF Creator, HTML Widget |
| Browser Automation | Abu-Browser (built-in, isolated session), Abu-Chrome-Bridge (optional Chrome extension for existing tabs and sign-in state) |
| Developer Tools | Claude API, MCP Builder, Web Artifacts Builder, Webapp Testing (Playwright) |
| Content Writing | Doc Co-authoring, Brand Guidelines, Internal Comms |
| Automation | Schedule, Trigger, Alert SOP |
| Project Management | Skill Creator, Project Init, Create Agent |
| Agent Reflection | Reflect — lets the agent look back on a run and distill learnings |
| Theming | Theme Factory (10+ preset themes applicable to any artifact) |
Beyond built-ins, Abu also supports Self-Evolving Skills — after multi-step complex flows, Abu proactively suggests "crystallize this into a skill" and grows a library tailored to your workflow. See User Guide → Skill System.
| Layer | Technology |
|---|---|
| Desktop Framework | Electron (main + preload + isolated React renderer) |
| Frontend | React 19 + TypeScript (strict) + TailwindCSS v4 + Vite |
| LLM Adapter | Dual-protocol adapter (Anthropic / OpenAI-compatible) |
| State Management | Zustand + Immer + Persist |
| Tool Protocol | MCP (@modelcontextprotocol/sdk) |
| Web Search | Bing / Brave / Tavily / SearXNG |
| Sandbox | macOS Seatbelt + path/command dual validation |
| UI Components | Radix UI + Lucide Icons + shadcn-style |
| Testing | Vitest + happy-dom (covers core store / agent / skill / memdir modules) |
| Evaluation | Built-in OpenAI-protocol tool-selection eval runner (npm run eval:tool-selection) |
# Clone the repo
git clone https://github.com/PM-Shawn/Abu-Cowork.git
cd Abu-Cowork
# Prepare worktree-local dependencies, Electron/browser runtimes, sidecar,
# native helper, sandbox launcher, and the OSS renderer
npm run setup:electron-dev
# Launch the Electron desktop app. The OSS renderer is rebuilt before launch.
npm run electron:dev
# Enterprise worktree: prepare and launch the private Enterprise renderer
npm run setup:electron-dev:enterprise
npm run electron:dev:enterprise
# Frontend-only preview (not desktop acceptance)
npm run dev
Tauri is not a feature-development or acceptance target. Its source remains only for compatibility with already shipped versions, migration, and rollback.
npm run dist:electron
Build artifacts are written to release-electron/. Build and validate distributable packages on the target operating system; a macOS cross-build is not Windows acceptance.
Source/fork packages do not use Abu's production updater or migrate installed Abu data. If you plan to distribute a modified build, read the Fork & Distribution Guide first.
npm test # Run tests
npm run test:watch # Watch mode
npm run test:coverage # Coverage report
npm run lint # ESLint check
src/
├── components/ # React UI components
│ ├── chat/ # Chat interface, messages, model selector
│ ├── sidebar/ # Sidebar navigation (with collapsed Recents search)
│ ├── panel/ # Right-side detail panel (workspace, project memory/instructions)
│ ├── customize/ # Customization (skills, agents, models)
│ ├── schedule/ # Scheduled task views
│ ├── trigger/ # Trigger ("on-call") management views
│ ├── settings/ # System settings (16 panels, see settings/sections/)
│ ├── preview/ # File preview (PDF/Office/image/Markdown)
│ └── ui/ # Base UI components (shadcn/Radix)
├── core/ # Core engine (non-UI)
│ ├── agent/ # Agent loop, background agents, project rules
│ ├── llm/ # LLM adapter layer (Claude / OpenAI-compatible / Ollama)
│ ├── tools/ # Tool registry, built-in tools, safety checks
│ ├── mcp/ # MCP client
│ ├── skill/ # Skill loading & preprocessing
│ ├── search/ # Web search (Bing/Brave/Tavily/SearXNG)
│ ├── memdir/ # File-based memory system (personal/project, multi-file + index)
│ ├── scheduler/ # Scheduling engine
│ ├── trigger/ # Trigger engine (HTTP/file/cron/IM)
│ ├── im/ # IM channel adapters (D-Chat/Lark/DingTalk/WeCom/Slack)
│ ├── permissions/ # Permission model & capability levels
│ ├── context/ # Context management & auto-compaction
│ ├── session/ # Session management & disk persistence
│ ├── sandbox/ # Sandbox configuration
│ ├── logging/ # Structured logging
│ └── updates/ # Auto-update channel
├── eval/ # Tool-call / model capability eval scaffold (developer use)
├── stores/ # Zustand state management
├── hooks/ # React Hooks
├── i18n/ # Internationalization (Chinese / English)
├── types/ # TypeScript type definitions
└── utils/ # Utility functions
builtin-skills/ # 29 built-in skills (one directory each)
builtin-agents/ # Built-in agent definitions (placeholder)
abu-browser-bridge/ # Browser bridge MCP Server
abu-chrome-extension/ # Chrome extension (used by the Abu-Chrome-Bridge skill)
electron/ # Electron main process, preload bridge, native hosts
sidecar/ # Agent/runtime sidecar process
src-tauri/
├── src/
│ ├── computer_use.rs # Screenshot + mouse/keyboard + sensitive app blocking
│ ├── feishu_ws.rs # Lark/Feishu WebSocket long connection
│ ├── overlay.rs # Computer-use status overlay
│ ├── proxy.rs # Network isolation proxy
│ ├── sandbox.rs # macOS Seatbelt / Win ConstrainedLanguage
│ ├── trigger_server.rs # HTTP trigger server
│ └── window_info.rs # Behavior awareness (active app sampling)
└── tauri.conf.json
| Document | Description |
|---|---|
| User Guide | Complete product features and usage instructions |
| Installation Guide | Platform-specific installation and troubleshooting |
| Fork & Distribution Guide | App identity, updater, signing, migration, and release boundaries for forks |
Issues and Pull Requests are welcome. Read the Fork & Distribution Guide before shipping a modified desktop package.
git checkout -b feat/my-featuregit commit -m 'feat: add my feature'git push origin feat/my-featureApache License 2.0 — Free to use, modify, and distribute, including commercial use. Copyright notices must be retained. Enterprise edition requires a license, offering team collaboration, SSO, audit logs, and private deployment support. Contact us.
CLASSIFICATION EVIDENCE
系统优先读取 GitHub Topics,再与站内分类词典和词根规则比对。