{"id":50277797,"url":"https://github.com/kirineko/deepy","last_synced_at":"2026-05-27T22:00:53.123Z","repository":{"id":357510660,"uuid":"1233777005","full_name":"kirineko/deepy","owner":"kirineko","description":"Deepy - Vibe coding for DeepSeek models in your terminal","archived":false,"fork":false,"pushed_at":"2026-05-27T20:02:49.000Z","size":9979,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-27T21:18:19.924Z","etag":null,"topics":["agents","cli","coding-agent","deepseek","terminal"],"latest_commit_sha":null,"homepage":"https://kirineko.github.io/deepy/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kirineko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-05-09T10:48:36.000Z","updated_at":"2026-05-27T20:02:41.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/kirineko/deepy","commit_stats":null,"previous_names":["kirineko/deepy"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/kirineko/deepy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirineko%2Fdeepy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirineko%2Fdeepy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirineko%2Fdeepy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirineko%2Fdeepy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kirineko","download_url":"https://codeload.github.com/kirineko/deepy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirineko%2Fdeepy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33585203,"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-05-27T02:00:06.184Z","response_time":53,"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":["agents","cli","coding-agent","deepseek","terminal"],"created_at":"2026-05-27T22:00:44.324Z","updated_at":"2026-05-27T22:00:53.117Z","avatar_url":"https://github.com/kirineko.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"asset/deepy-logo.webp\" alt=\"Deepy logo\" width=\"144\"\u003e\n\u003c/p\u003e\n\n\u003ch1 align=\"center\"\u003eDeepy\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  A terminal-native coding agent for real project work.\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://deepy.kirineko.tech/\"\u003e\u003cstrong\u003eInstall\u003c/strong\u003e\u003c/a\u003e\n  ·\n  \u003ca href=\"https://kirineko.github.io/deepy/\"\u003eHome\u003c/a\u003e\n  ·\n  \u003ca href=\"README.zh-CN.md\"\u003e中文\u003c/a\u003e\n\u003c/p\u003e\n\n![Deepy terminal welcome screen](asset/welcome.webp)\n\n## What Deepy Is\n\nDeepy is a Python CLI coding agent for real project work. It stays in your\nterminal and combines OpenAI Agents SDK tool orchestration, project Rules,\nAgent Skills, MCP, subagents, sessions, and visible UI to read code, edit files,\nrun commands, search the web, and resume long tasks. It is DeepSeek-first while\nalso supporting OpenAI-compatible providers.\n\n## Why Use It\n\n- **DeepSeek-first agent loop**: tuned for DeepSeek V4 thinking mode while still\n  supporting OpenAI-compatible providers such as OpenRouter and Xiaomi MiMo.\n- **Transparent terminal execution**: thinking, tool calls, diffs, shell output,\n  usage, and context pressure stay visible in the transcript.\n- **Project memory and continuity**: `AGENTS.md` rules, local SQLite sessions,\n  `/resume`, `/compact`, automatic compacting, and context-window status keep\n  long project work recoverable.\n- **Extensible agent ecosystem**: Agent Skills, MCP servers, subagents, and\n  skill-market installation give Deepy reusable workflows beyond built-in tools.\n- **Practical coding controls**: stale-write protection, direct `!cmd` local\n  commands, managed background tasks, and `/ps` / `/stop` keep local execution\n  reviewable.\n- **Cross-platform shell support**: POSIX shell, PowerShell, cmd, Windows paths,\n  UTF-8 output, CRLF editing, and non-interactive Windows local command mode.\n\n## Quick Start\n\n1. Install `uv`:\n\n```bash\n# macOS / Linux\ncurl -LsSf https://astral.sh/uv/install.sh | sh\n\n# Windows PowerShell\npowershell -ExecutionPolicy ByPass -c \"irm https://astral.sh/uv/install.ps1 | iex\"\n```\n\n2. Install Deepy:\n\n```bash\nuv tool install deepy-cli\n```\n\n3. Start Deepy in a project:\n\n```bash\ncd your-project\ndeepy\n```\n\nIf Deepy has not been configured yet, the first run guides you through provider,\nAPI key, model, and theme setup. You can later run `deepy config setup` to\nreconfigure manually.\n\nUpgrade or uninstall:\n\n```bash\nuv tool upgrade deepy-cli\nuv tool uninstall deepy-cli\n```\n\n## First Session\n\nTry requests like these inside `deepy`:\n\n```text\nSummarize this project and point out the main entry points.\nRead @src/app.py and explain how the request flow works.\nFix the failing test, run the focused test, and summarize the diff.\nSearch the web for the current API behavior, then update the integration notes.\n```\n\nUseful interactive inputs:\n\n```text\n@src/app.py       Mention a file in the current project\n!pytest -q        Run a local non-interactive command directly\n/model            Select provider, model, and thinking mode\n/status           Show usage, context pressure, and DeepSeek balance\n/resume           Resume a previous project session\n/new              Start a fresh session\n/compact          Compact the active session context\n/mcp              Show MCP server status and tools\n/skills           Manage local and market Skills\n/ps               Show managed background shell tasks\n/stop             Choose background shell tasks to stop\nEsc               Interrupt the current model turn\nCtrl+D            Press twice to quit\n```\n\n## What It Looks Like\n\n### Terminal-Centered Agent Loop\n\nDeepy keeps model reasoning, WebFetch, shell output, and status lines visible in\none transcript.\n\n![Deepy thinking, WebFetch, and shell output](asset/webfetch-shell-thinking.webp)\n\n### Code Editing With Reviewable Diff\n\nFile edits are shown with path information and readable diff output.\n\n![Deepy edit diff preview](asset/edit-diff.webp)\n\n### Search, Fetch, And Local Commands\n\nUse WebSearch / WebFetch for external context, `@` for file mentions, and `!`\nfor direct local commands.\n\n![Deepy web research workflow](asset/websearch.webp)\n\n## Stable UI And Experimental TUI\n\nThe default `deepy` command starts the stable Rich/prompt-toolkit terminal UI.\nThe opt-in Textual interface is available with:\n\n```bash\ndeepy tui\n```\n\nThe TUI has a scrollable transcript, live thinking blocks, richer tool output\nblocks, slash-command and `@file` suggestions, status/help screens, and a\nDeepy-owned diff view. It remains experimental and may change between releases.\n\n![Deepy Textual TUI](asset/deepy-tui.webp)\n\n`/status` shows session/project usage, context-window pressure, and DeepSeek\nbalance in one panel. Exiting the TUI prints the same compact session summary\nas the stable terminal UI.\n\nSee [docs/deepy-ui-and-tui.md](docs/deepy-ui-and-tui.md) for the full feature\ncomparison and current limitations.\n\n## Rules\n\nRules are project and personal instructions that shape how Deepy should work.\nDeepy automatically loads them from `AGENTS.md` files:\n\n- `~/.deepy/AGENTS.md` for Deepy-wide personal guidance\n- `AGENTS.md` files from the git root down to the current working directory\n\nProject `AGENTS.md` files are loaded from broad to specific. A file in a nested\ndirectory appears after the repository root file and takes precedence when rules\nconflict. Direct user instructions still take precedence over loaded\n`AGENTS.md` guidance.\n\nRun `/init` in the interactive terminal to have Deepy inspect the repository and\ncreate or refresh the project root `AGENTS.md`.\n\n## Skills\n\nSkills are reusable capability packs. Deepy discovers three kinds:\n\n- **Project skills**: `\u003cproject\u003e/.agents/skills/\u003cname\u003e/SKILL.md`. These are\n  shared with the current repository and take priority over user or built-in\n  skills with the same name.\n- **User skills**: `~/.agents/skills/\u003cname\u003e/SKILL.md`. These are personal\n  skills available across projects and override built-in skills with the same\n  name.\n- **Built-in skills**: packaged with Deepy for common workflows. They are always\n  available, but they are not editable or uninstallable through the skill UI.\n\nSkills use the standard Agent Skills progressive-disclosure flow: Deepy shows\nSkill metadata first, and the model reads the full `SKILL.md` only when the task\nmatches that skill.\n\nThe skill market is a curated source for installable Skills. Market-installed\nSkills can be installed into user or project scope, updated, and uninstalled\nthrough Deepy's Skills UI. Deepy records market-installed Skill metadata under\n`~/.deepy/skill-market/`.\n\nUse `/skills` to manage local and market Skills, or invoke a Skill directly:\n\n```text\n/skills\n/\u003cname\u003e [request]\n```\n\n![Deepy Skills market](asset/skill-market.webp)\n\n## MCP\n\nDeepy can load MCP servers through the OpenAI Agents SDK. MCP is how you connect\nexternal tools such as search providers, databases, local services, or\norganization-specific context providers.\n\nMost users only need `~/.deepy/mcp.json`. Project-level MCP configuration is\nignored by default because stdio MCP servers can start local commands. Enable it\nonly for repositories you trust.\n\nSee [docs/mcp.md](docs/mcp.md) for setup, fields, search preference, subagent\nMCP inheritance, and troubleshooting.\n\n## Trust Boundaries\n\n- File edits are rendered with path information and readable diffs.\n- Existing file replacement uses stale-write protection.\n- `!cmd` is direct local command mode; model-started shell commands are shown in\n  the transcript.\n- MCP stdio servers start local commands. Project MCP config is ignored by\n  default and should only be enabled for repositories you trust.\n- Built-in subagents do not receive source mutation tools by default.\n- The tester subagent uses constrained `test_shell`, not raw unrestricted\n  `shell`.\n\n## Learning Resources\n\n| Topic | English | Chinese |\n| --- | --- | --- |\n| Tutorial videos | [docs/tutorial-videos.md](docs/tutorial-videos.md) | [docs/tutorial-videos.zh-CN.md](docs/tutorial-videos.zh-CN.md) |\n| MCP setup and troubleshooting | [docs/mcp.md](docs/mcp.md) | [docs/mcp.zh-CN.md](docs/mcp.zh-CN.md) |\n| Subagents and custom subagents | [docs/subagents.md](docs/subagents.md) | [docs/subagents.zh-CN.md](docs/subagents.zh-CN.md) |\n| Stable UI versus experimental TUI | [docs/deepy-ui-and-tui.md](docs/deepy-ui-and-tui.md) | [docs/deepy-ui-and-tui.zh-CN.md](docs/deepy-ui-and-tui.zh-CN.md) |\n\n## Command Reference\n\n```bash\ndeepy --version\ndeepy config setup\ndeepy config reset\ndeepy config theme\ndeepy doctor\ndeepy doctor --live --json\ndeepy status\ndeepy tui\ndeepy skills list\ndeepy skills show \u003cname\u003e\ndeepy sessions list\ndeepy sessions show \u003csession-id\u003e\ndeepy run \"summarize this project\"\n```\n\nDeepy stores active project sessions in a local SQLite session store. Historical\nJSONL session files from older Deepy versions are not imported, listed, or\nresumed by current session commands.\n\nInside the interactive terminal:\n\n```text\n/help                   Show interactive help\n/model                  Select provider, model, and thinking mode\n/status                 Show usage, context pressure, and DeepSeek balance\n/resume                 Resume a previous project session\n/new                    Start a fresh session\n/compact                Compact the active session context\n/mcp                    Show MCP server status and tools\n/skills                 Manage local and market Skills\n/\u003cname\u003e [request]       Invoke a Skill directly\n/init                   Create or update project AGENTS.md\n/theme                  Show or change terminal UI theme\n/ps                     Show managed background shell tasks\n/stop                   Choose background shell tasks to stop\n```\n\n## Configuration\n\nDeepy stores configuration in `~/.deepy/config.toml`. The interactive first-run\nsetup creates this file for most users.\n\nMinimal resolved shape:\n\n```toml\n[model]\napi_key = \"sk-...\"\nprovider = \"deepseek\"\nname = \"deepseek-v4-pro\"\nbase_url = \"https://api.deepseek.com\"\nthinking = true\nreasoning_effort = \"max\"\n\n[context]\nwindow_tokens = 1048576\ncompact_trigger_ratio = 0.8\nreserved_context_tokens = 50000\ncompact_preserve_recent_messages = 2\n\n[ui]\ntheme = \"dark\" # dark or light\n```\n\nManual configuration commands:\n\n```bash\ndeepy config setup\ndeepy config init --api-key sk-... --provider deepseek --model deepseek-v4-pro\ndeepy config init --api-key sk-or-... --provider openrouter --model xiaomi/mimo-v2.5-pro\ndeepy config init --api-key sk-or-... --provider openrouter --model anthropic/claude-sonnet-4.5 --thinking minimal\ndeepy config init --api-key sk-... --provider xiaomi --model mimo-v2.5-pro\ndeepy config theme light\n```\n\nSupported provider/model pairs:\n\n- `deepseek`: `deepseek-v4-pro`, `deepseek-v4-flash`; thinking modes `none`,\n  `high`, `max`.\n- `openrouter`: UI model selection offers `xiaomi/mimo-v2.5-pro`,\n  `xiaomi/mimo-v2.5`; setup/init may also use a model id copied from\n  OpenRouter. Thinking modes are `enabled`, `disabled`, `xhigh`, `high`,\n  `medium`, `low`, `minimal`, `none`.\n- `xiaomi`: `mimo-v2.5-pro`, `mimo-v2.5`; thinking modes `enabled`,\n  `disabled`.\n\nWebSearch uses Deepy's hosted SearXNG endpoint by default. You can override it:\n\n```toml\n[tools.web_search]\nsearxng_url = \"https://your-searxng.example/\"\n```\n\n## Development\n\n```bash\nuv sync --group dev\nuv run pytest\nuv run ruff check\nuv run ty check src\nuv build\n```\n\nThe Python package is built from `src/deepy`. GitHub Pages files and screenshot\nassets live outside the package directory and are not included in the wheel.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirineko%2Fdeepy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkirineko%2Fdeepy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirineko%2Fdeepy/lists"}