{"id":50874032,"url":"https://github.com/wenjiazhu1980/deepcode-macos","last_synced_at":"2026-06-15T08:00:57.213Z","repository":{"id":355780087,"uuid":"1228874218","full_name":"wenjiazhu1980/deepcode-macos","owner":"wenjiazhu1980","description":"AI coding assistant for DeepSeek in terminal. Web search, bug fixing, agent skills. Open-source alternative to Claude Code.","archived":false,"fork":false,"pushed_at":"2026-06-08T01:53:10.000Z","size":19376,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-06-08T03:22:21.162Z","etag":null,"topics":["ai","ai-assistant","automation","bug-fixing","cli","code-generation","coding-assistant","command-line","deepseek","developer-tools","generative-ai","llm","macos","nodejs","open-source","productivity","terminal","typescript","vibe-coding","web-search"],"latest_commit_sha":null,"homepage":"https://deepcode.vegamo.cn","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"lessweb/deepcode-cli","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wenjiazhu1980.png","metadata":{"files":{"readme":"README-en.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-04T13:19:42.000Z","updated_at":"2026-06-08T01:53:12.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/wenjiazhu1980/deepcode-macos","commit_stats":null,"previous_names":["wenjiazhu1980/deepcode-cli","wenjiazhu1980/deepcode-macos"],"tags_count":36,"template":false,"template_full_name":null,"purl":"pkg:github/wenjiazhu1980/deepcode-macos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenjiazhu1980%2Fdeepcode-macos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenjiazhu1980%2Fdeepcode-macos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenjiazhu1980%2Fdeepcode-macos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenjiazhu1980%2Fdeepcode-macos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wenjiazhu1980","download_url":"https://codeload.github.com/wenjiazhu1980/deepcode-macos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wenjiazhu1980%2Fdeepcode-macos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34353193,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-15T02:00:07.085Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-assistant","automation","bug-fixing","cli","code-generation","coding-assistant","command-line","deepseek","developer-tools","generative-ai","llm","macos","nodejs","open-source","productivity","terminal","typescript","vibe-coding","web-search"],"created_at":"2026-06-15T08:00:25.262Z","updated_at":"2026-06-15T08:00:57.204Z","avatar_url":"https://github.com/wenjiazhu1980.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\u003cbr/\u003e\n\u003cbr/\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href='https://deepcode.vegamo.cn/'\u003e\n    \u003cimg src='https://avatars.githubusercontent.com/u/118287711?s=200\u0026v=4' width='100' alt=\"deepcode-cli\"/\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\u003ch1\u003eDeep Code\u003c/h1\u003e\n\n[![][github-contributors-shield]][github-contributors-link] [![][github-forks-shield]][github-forks-link] [![][github-stars-shield]][github-stars-link]\n[![][github-issues-shield]][github-issues-link] [![][github-issues-pr-shield]][github-issues-pr-link] [![][github-license-shield]][github-license-link]\n[![][github-release-shield]][github-release-link]\n\nEnglish · [中文](./README.md)\n\n\u003cbr/\u003e\n\u003c/div\u003e\n\n[Deep Code](https://github.com/wenjiazhu1980/deepcode-macos) is a terminal AI coding assistant optimized for the `deepseek-v4` model, with support for deep thinking, reasoning effort control, Agent Skills, MCP integration, and a native **macOS menu bar app**.\n\nThis repository (`deepcode-macos`) builds on the [upstream deepcode-cli](https://github.com/lessweb/deepcode-cli) by adding a native macOS app, a headless programmatic interface, and continuously syncing all upstream CLI updates.\n\n## Installation\n\n### CLI (Terminal)\n\n```bash\nnpm install -g @vegamo/deepcode-cli\n```\n\nRun `deepcode` inside any project directory to get started.\n\n![intro2](resources/intro2.png)\n\n### macOS Menu Bar App\n\nDownload `DeepCode-vX.X.X.dmg` from [Releases](https://github.com/wenjiazhu1980/deepcode-macos/releases) and drag it to Applications. The app lives in your menu bar (no Dock icon) — click the icon to open a chat window, powered by the same CLI and config underneath.\n\n\u003e The macOS app is an unsigned MVP. If macOS Gatekeeper blocks it on first launch, go to **System Settings → Privacy \u0026 Security** and click **Open Anyway**.\n\n## Configuration\n\nCreate `~/.deepcode/settings.json`:\n\n```json\n{\n  \"env\": {\n    \"MODEL\": \"deepseek-v4-pro\",\n    \"BASE_URL\": \"https://api.deepseek.com\",\n    \"API_KEY\": \"sk-...\"\n  },\n  \"thinkingEnabled\": true,\n  \"reasoningEffort\": \"max\"\n}\n```\n\nThe configuration file is shared across the CLI, the macOS app, and the [VSCode extension](https://github.com/lessweb/deepcode) — configure once, use everywhere.\n\nFor complete configuration details (multi-level priority, environment variables, permissions, etc.), see [docs/configuration_en.md](docs/configuration_en.md).\n\n## Key Features\n\n### **Agent Skills**\nDeep Code supports extensible agent skills and ships with the following bundled skills out of the box:\n\n| Skill | Purpose |\n| :---- | :------ |\n| `deepcode-self-refer` | Lets the assistant consult Deep Code's own docs and guide itself |\n| `plan` | Plan Mode — a read-only-explore-then-act collaboration workflow |\n| `skill-writer` | Author and validate new Agent Skills |\n| `skill-digester` | Review and improve existing skill descriptions |\n\nSkills are discovered from these locations, in priority order:\n\n| Scope   | Path                  | Purpose                       |\n| :------ | :-------------------- | :---------------------------- |\n| Project | `./.deepcode/skills/` | Deep Code's native location   |\n| Project | `./.agents/skills/`   | Cross-client interoperability |\n| User    | `~/.deepcode/skills/` | Deep Code's native location   |\n| User    | `~/.agents/skills/`   | Cross-client interoperability |\n\nUse the `enabledSkills` field in `settings.json` to control which skills are active (including skipping built-in ones). See [docs/agent-skills_en.md](docs/agent-skills_en.md).\n\n### **Session Persistence**\nEvery conversation is automatically persisted to `~/.deepcode/projects/\u003cproject\u003e/`, including a full message log and code snapshots backed by an internal Git repository. This powers `/resume`, `/continue`, and `/undo`, and is shared across the CLI, macOS app, and VSCode extension. See [docs/session-persistence_en.md](docs/session-persistence_en.md).\n\n### **Optimized for DeepSeek**\n- Specifically tuned for DeepSeek model performance.\n- Reduce costs by using [Context Caching](https://api-docs.deepseek.com/guides/kv_cache).\n- Natively supports [Thinking Mode](https://api-docs.deepseek.com/guides/thinking_mode) and Effort Control.\n\n### **Multimodal Image Input**\n- `Ctrl+V` to paste an image from the clipboard, `Ctrl+X` to clear pasted images.\n- Supports reading local image files.\n- Can integrate vision models (e.g. Volcano Ark Doubao, Mimo Vision) for image understanding. See [docs/mimo-vision-guide.md](docs/mimo-vision-guide.md).\n\n## Slash Commands \u0026 Keyboard Shortcuts\n\n| Slash Command    | Action                                                  |\n|------------------|---------------------------------------------------------|\n| `/`              | Open the skills / commands menu                         |\n| `/new`           | Start a fresh conversation                              |\n| `/resume`        | Choose a previous conversation to continue              |\n| `/continue`      | Continue the active conversation or pick one to resume  |\n| `/model`         | Switch model, thinking mode, and reasoning effort       |\n| `/raw`           | Toggle display mode (Normal / Lite / Raw scrollback)    |\n| `/init`          | Initialize an AGENTS.md file (LLM project instructions) |\n| `/skills`        | List available skills                                   |\n| `/mcp`           | View MCP server status and available tools              |\n| `/undo`          | Restore code and/or conversation to a previous point    |\n| `/exit`          | Quit (also `Ctrl+D` twice)                              |\n\n| Key              | Action                                                   |\n|------------------|----------------------------------------------------------|\n| `Enter`          | Send the prompt                                          |\n| `Shift+Enter`    | Insert a newline (also `Ctrl+J`)                         |\n| `Ctrl+V`         | Paste an image from the clipboard                        |\n| `Ctrl+X`         | Clear pasted images                                      |\n| `Ctrl+R`         | Toggle display mode (Raw scrollback)                     |\n| `Esc`            | Interrupt the current model turn                         |\n| `Ctrl+D` twice   | Quit Deep Code                                           |\n\n## Headless Mode (Programmatic Interface)\n\n`deepcode headless` provides an NDJSON-over-stdio protocol that lets native frontends (like the macOS app) or other programs drive Deep Code programmatically. It supports submitting prompts, interrupting replies, loading sessions, switching project roots, and more. See `deepcode headless --help`.\n\n## Supported Models\n\n- `deepseek-v4-pro` (Recommended)\n- `deepseek-v4-flash`\n- Any other OpenAI-compatible model (including Volcano Ark Coding Plan, Doubao, etc.)\n\n## FAQ\n\n### Does Deep Code have a VSCode extension?\n\nYes. Deep Code offers a full-featured VSCode extension, available on the [VSCode Marketplace](https://marketplace.visualstudio.com/items?itemName=vegamo.deepcode-vscode). The extension shares the `~/.deepcode/settings.json` configuration file with the CLI and macOS app, so you can switch seamlessly between the terminal, menu bar, and editor.\n\n### Does Deep Code have a macOS app?\n\nYes. This repository provides a native macOS menu bar app — download the DMG from [Releases](https://github.com/wenjiazhu1980/deepcode-macos/releases). It lives in the menu bar and is powered by the same CLI underneath.\n\n### Does Deep Code support understanding images?\n\nDeep Code supports multimodal input — paste images from the clipboard with `Ctrl+V`, or read local image files. However, `deepseek-v4` does not support multimodal yet. Some models have multimodal capabilities but impose strict limits on multi-turn dialogue requests. For multimodal input, we recommend using the Volcano Ark `Doubao-Seed-2.0-pro` model, which has the best integration.\n\n### How to automatically send a Slack message after a task completes?\n\nWrite a shell notification script that calls a Slack webhook, then set the `notify` field in `~/.deepcode/settings.json` to the full path of the script. The script receives environment variables like `STATUS`, `DURATION`, `BODY`, `TITLE`. For detailed steps, see [docs/notify_en.md](docs/notify_en.md).\n\n### How do I enable web search?\n\nDeep Code comes with a built-in, free Web Search tool that works well for most use cases. If you prefer to use a custom script for web search, set the `webSearchTool` field in `~/.deepcode/settings.json` to the full path of your script. For detailed steps, refer to: https://github.com/qorzj/web_search_cli\n\n### How do I configure MCP?\n\nDeep Code supports MCP (Model Context Protocol) to connect external services such as GitHub, browsers, databases, and more. Configure the `mcpServers` field in `settings.json` to enable it, then use the `/mcp` command to view MCP server status and available tools.\n\nFor detailed setup instructions, see: [docs/mcp_en.md](docs/mcp_en.md)\n\n### Does Deep Code only support YOLO mode?\n\nNo. Deep Code has a built-in fine-grained permission control mechanism that lets you confirm operations before the AI assistant executes shell commands, reads/writes files, accesses the network, or calls MCP tools. You can configure each permission scope's policy — always allow (`allow`), always ask (`ask`), or deny (`deny`) — via the `permissions` field in `settings.json`. See [docs/permission_en.md](docs/permission_en.md) for details.\n\n### Does it support Coding Plan?\n\nYes. Just set `env.BASE_URL` in `~/.deepcode/settings.json` to an OpenAI-compatible API endpoint. Take Volcano Ark's Coding Plan as an example:\n\n```json\n{\n  \"env\": {\n    \"MODEL\": \"ark-code-latest\",\n    \"BASE_URL\": \"https://ark.cn-beijing.volces.com/api/coding/v3\",\n    \"API_KEY\": \"**************\"\n  },\n  \"thinkingEnabled\": true\n}\n```\n\n## Contributing\n\nContributions are welcome! Here's how to get started:\n\n```bash\n# Clone the repository\ngit clone https://github.com/wenjiazhu1980/deepcode-macos.git\ncd deepcode-macos\n\n# Install dependencies\nnpm install\n\n# Local development (typecheck + lint + format check + bundle)\nnpm run build\n\n# Run tests\nnpm test\n\n# Link globally (local global install)\nnpm link\n```\n\n- Make sure `npm run check` passes before submitting a PR (typecheck + lint + format check)\n- We recommend running `npm run format` before building to avoid errors\n- This repository continuously merges updates from [upstream deepcode-cli](https://github.com/lessweb/deepcode-cli)\n\n## Getting Help\n\n- Report bugs or request features on GitHub Issues (https://github.com/wenjiazhu1980/deepcode-macos/issues)\n\n## License\n\n- MIT\n\n## Support Us\n\nIf you find this tool helpful, please consider supporting us by:\n\n- Giving us a Star on GitHub (https://github.com/wenjiazhu1980/deepcode-macos)\n- Submitting feedback and suggestions\n- Sharing with your friends and colleagues\n\n\n\u003c!-- LINK GROUP --\u003e\n\n[github-release-link]: https://github.com/wenjiazhu1980/deepcode-macos/releases\n[github-release-shield]: https://img.shields.io/github/v/release/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-contributors-link]: https://github.com/wenjiazhu1980/deepcode-macos/graphs/contributors\n[github-contributors-shield]: https://img.shields.io/github/contributors/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-forks-link]: https://github.com/wenjiazhu1980/deepcode-macos/network/members\n[github-forks-shield]: https://img.shields.io/github/forks/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-stars-link]: https://github.com/wenjiazhu1980/deepcode-macos/network/stargazers\n[github-stars-shield]: https://img.shields.io/github/stars/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-issues-link]: https://github.com/wenjiazhu1980/deepcode-macos/issues\n[github-issues-shield]: https://img.shields.io/github/issues/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-issues-pr-link]: https://github.com/wenjiazhu1980/deepcode-macos/pulls\n[github-issues-pr-shield]: https://img.shields.io/github/issues-pr/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n[github-license-link]: https://github.com/wenjiazhu1980/deepcode-macos/blob/main/LICENSE\n[github-license-shield]: https://img.shields.io/github/license/wenjiazhu1980/deepcode-macos?color=4d6BFE\u0026labelColor=black\u0026style=flat-square\u0026cacheSeconds=1800\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenjiazhu1980%2Fdeepcode-macos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwenjiazhu1980%2Fdeepcode-macos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwenjiazhu1980%2Fdeepcode-macos/lists"}