@serjm/deepseek-code 0.4.3 → 0.4.6
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/CHANGELOG.md +85 -0
- package/README.md +72 -109
- package/README.ru.md +73 -109
- package/dist/api/index.d.ts +5 -0
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +42 -4
- package/dist/api/index.js.map +1 -1
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +15 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/interactive.d.ts.map +1 -1
- package/dist/cli/interactive.js +65 -3
- package/dist/cli/interactive.js.map +1 -1
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +26 -21
- package/dist/commands/index.js.map +1 -1
- package/dist/config/defaults.d.ts +9 -0
- package/dist/config/defaults.d.ts.map +1 -1
- package/dist/config/defaults.js +25 -7
- package/dist/config/defaults.js.map +1 -1
- package/dist/core/agent-loop.d.ts +56 -3
- package/dist/core/agent-loop.d.ts.map +1 -1
- package/dist/core/agent-loop.js +458 -104
- package/dist/core/agent-loop.js.map +1 -1
- package/dist/core/i18n.d.ts +3 -0
- package/dist/core/i18n.d.ts.map +1 -1
- package/dist/core/i18n.js +9 -0
- package/dist/core/i18n.js.map +1 -1
- package/dist/core/mcp-tools.d.ts +15 -0
- package/dist/core/mcp-tools.d.ts.map +1 -0
- package/dist/core/mcp-tools.js +94 -0
- package/dist/core/mcp-tools.js.map +1 -0
- package/dist/core/metrics.d.ts +9 -2
- package/dist/core/metrics.d.ts.map +1 -1
- package/dist/core/metrics.js +51 -9
- package/dist/core/metrics.js.map +1 -1
- package/dist/tools/bash.d.ts.map +1 -1
- package/dist/tools/bash.js +317 -23
- package/dist/tools/bash.js.map +1 -1
- package/dist/tools/chrome-manager.d.ts.map +1 -1
- package/dist/tools/chrome-manager.js +5 -2
- package/dist/tools/chrome-manager.js.map +1 -1
- package/dist/tools/chrome.d.ts.map +1 -1
- package/dist/tools/chrome.js +8 -3
- package/dist/tools/chrome.js.map +1 -1
- package/dist/tools/glob.d.ts.map +1 -1
- package/dist/tools/glob.js +40 -3
- package/dist/tools/glob.js.map +1 -1
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +69 -13
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/process-manager.d.ts +17 -0
- package/dist/tools/process-manager.d.ts.map +1 -0
- package/dist/tools/process-manager.js +94 -0
- package/dist/tools/process-manager.js.map +1 -0
- package/dist/tools/read.d.ts.map +1 -1
- package/dist/tools/read.js +94 -0
- package/dist/tools/read.js.map +1 -1
- package/dist/tools/shell.d.ts +20 -0
- package/dist/tools/shell.d.ts.map +1 -0
- package/dist/tools/shell.js +100 -0
- package/dist/tools/shell.js.map +1 -0
- package/dist/tools/types.d.ts +27 -1
- package/dist/tools/types.d.ts.map +1 -1
- package/dist/tools/types.js +43 -1
- package/dist/tools/types.js.map +1 -1
- package/dist/ui/app.d.ts.map +1 -1
- package/dist/ui/app.js +219 -178
- package/dist/ui/app.js.map +1 -1
- package/dist/ui/chat-view.d.ts +24 -3
- package/dist/ui/chat-view.d.ts.map +1 -1
- package/dist/ui/chat-view.js +116 -58
- package/dist/ui/chat-view.js.map +1 -1
- package/dist/ui/input-bar.d.ts.map +1 -1
- package/dist/ui/input-bar.js +38 -4
- package/dist/ui/input-bar.js.map +1 -1
- package/dist/ui/setup-wizard.js +1 -1
- package/dist/ui/setup-wizard.js.map +1 -1
- package/dist/ui/status-bar.d.ts +5 -1
- package/dist/ui/status-bar.d.ts.map +1 -1
- package/dist/ui/status-bar.js +10 -4
- package/dist/ui/status-bar.js.map +1 -1
- package/dist/utils/logger.d.ts +15 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +47 -0
- package/dist/utils/logger.js.map +1 -1
- package/package.json +3 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,90 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.4.6 — Real-Project Agent Hardening
|
|
4
|
+
|
|
5
|
+
Stabilization driven by running the agent on real, large Windows projects.
|
|
6
|
+
|
|
7
|
+
### Fixed
|
|
8
|
+
- **Windows shell is now consistent.** All commands run through one resolved shell — Windows PowerShell by default, with a cmd.exe fallback when PowerShell is unavailable (`DEEPSEEK_CODE_SHELL` overrides). This ends the "wrote PowerShell, ran under cmd.exe" failures that produced junk like a literal `$null` file, and the system prompt now states the exact active dialect so the agent stops brute-forcing command variants.
|
|
9
|
+
- **Image content no longer bricks the session.** The DeepSeek API accepts only text; a single `image_url` block in history made every later request fail with `400 unknown variant image_url`. All message content is now flattened to text before sending; image paste is a no-op with a notice; `read_file` returns metadata for binary images (and SVG source / extracted PDF text) instead of inlining base64.
|
|
10
|
+
- **Correct context window and pricing.** The context window is the real **1M tokens** for V4 models (was hardcoded 128k), so auto-compaction no longer fires ~8× too early; cost/token accounting verified against the official pricing page.
|
|
11
|
+
- **Auto-compaction keeps the original task and recent messages** instead of collapsing history to a lone summary (a driver of the agent "remembering" planned work as done).
|
|
12
|
+
- **Browser reuses a single tab** by default instead of opening a new tab per navigation; screenshots are saved for the user and clearly flagged as non-viewable by the model (verify via DOM/`eval`/console).
|
|
13
|
+
|
|
14
|
+
### Added
|
|
15
|
+
- **Background processes** for `run_shell_command` (`background`, `wait_for_port`, `stop_pid`): start a dev/preview server without hanging, wait for its port, then stop it (whole process tree). Orphans are killed on exit.
|
|
16
|
+
- **Verified-state ledger**: a tool-derived summary of what was actually done (files changed, ok/failed counts) is injected at follow-ups and after compaction, plus a rule that an iteration counts as done only if this run contains its tool calls — guarding against narrating un-done work.
|
|
17
|
+
- Honest-reporting rules: separate the final check result from earlier failed attempts; "could not run X" is reported as Not checked, not as a project defect.
|
|
18
|
+
- MCP: connected MCP tools are callable by the agent; shared-hub project_id auto-derived from cwd; dsc identity stamped on hub writes.
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
- **Ctrl+C** now exits only on a double press (with a hint on the first) and never aborts the running agent — aborting was what dropped the process to the shell on Windows. To steer the agent mid-run, type a follow-up (it is queued into the active run).
|
|
22
|
+
|
|
23
|
+
### Known Issues
|
|
24
|
+
- The agent does not always reach for `background:true` on the first try for a dev server (it may run it blocking once and hit a timeout before recovering).
|
|
25
|
+
- This model has no vision: screenshots are saved for the user but verified by the agent via DOM/console, not visually.
|
|
26
|
+
|
|
27
|
+
## 0.4.5 — TUI Stabilization, Multimodal & Pipeline
|
|
28
|
+
|
|
29
|
+
### Added
|
|
30
|
+
- **Tool-call activity in history** — finished tool batches are committed to the scrollback as a readable per-call list (`✓`/`✗` + tool + file/command + duration), so you can see exactly what the agent did.
|
|
31
|
+
- **Crash guard** — stray runtime errors are recorded to `~/.deepseek-code/crash.log` instead of dropping you back to the shell mid-session.
|
|
32
|
+
- `read_file` now supports images (PNG, JPG, GIF, WEBP, SVG, BMP) — reads as binary, encodes to base64 data URL.
|
|
33
|
+
- `read_file` now supports Jupyter notebooks (`.ipynb`) — parses JSON, extracts code and markdown cells.
|
|
34
|
+
- `read_file` now supports PDF files — naive text extraction + base64 data URL as fallback.
|
|
35
|
+
- `dataUrlsToContentBlocks()` utility in API layer converts data: URLs to `ContentBlock[]` for multimodal messages.
|
|
36
|
+
- `npm run check` pipeline: lint → typecheck → build → test in one command.
|
|
37
|
+
- **Big Paste Preview** — dialog shown when pasting >500 chars, displaying char/line count with Enter to confirm or Esc to cancel.
|
|
38
|
+
- **Follow-up Queue Indicator** — StatusBar shows `[F:1]` badge when follow-up messages are queued during agent run, cleared on new message send.
|
|
39
|
+
|
|
40
|
+
### Changed
|
|
41
|
+
- **Chat history now renders through Ink `<Static>`** — finalized messages are printed once to the terminal scrollback. This eliminates the full-screen redraw flicker and enables native mouse-wheel scrolling. The in-app PageUp/PageDown windowing was removed in favor of the terminal's own scrollback.
|
|
42
|
+
- **Shell commands run asynchronously** — `run_shell_command` now uses `spawn` instead of blocking `execSync`, so long commands (installs, builds, tests) no longer freeze the UI and can be cancelled. Cancellation/timeout kills the whole process tree (`taskkill /t` on Windows, process-group on POSIX).
|
|
43
|
+
- Cancellation signal is now plumbed to every tool.
|
|
44
|
+
- `buildMessages()` in API layer now properly passes `ContentBlock[]` for multimodal messages (no longer casts to string).
|
|
45
|
+
- **Removed `deepseek-vl2`** — only `deepseek-v4-pro` and `deepseek-v4-flash` remain; images pass as base64 data URLs in text.
|
|
46
|
+
|
|
47
|
+
### Fixed
|
|
48
|
+
- **Screen flicker on long output is gone** — the live region is now height-bounded (wrap-aware) so Ink never falls back to clearing the whole terminal each frame, which was the cause of both the shaking and the broken scrollback.
|
|
49
|
+
- Default model set to `deepseek-v4-pro`; `DEEPSEEK_MODELS` updated to V4-Flash / V4-Pro.
|
|
50
|
+
- Removed false vision-model warning on image paste — DeepSeek V4 models receive images as text-embedded data URLs.
|
|
51
|
+
|
|
52
|
+
### Known Issues
|
|
53
|
+
- **Ctrl+C on Windows may still drop to the shell** instead of pausing the agent. Cancellation is now cooperative and the process no longer hard-crashes, but the clean pause-on-interrupt is still under investigation on Windows terminals.
|
|
54
|
+
- The new `<Static>` rendering has been validated primarily on **Windows Terminal**; appearance may differ on cmd.exe, the VS Code terminal, macOS, or Linux.
|
|
55
|
+
- Switching between `deepseek-v4-pro` and `deepseek-v4-flash` updates the configured model, but the practical difference in responses has not been independently verified.
|
|
56
|
+
|
|
57
|
+
## 0.4.4 — TUI Stability & Release Candidate
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- Execution Summary now includes details for failed tool calls: tool name, label, and error.
|
|
61
|
+
- Increased Windows glob test timeout to reduce flaky failures on slower Windows runs.
|
|
62
|
+
- Fixed CLI argument parsing so `--json` or `--headless` without a prompt no longer treats `node` and the script path as an agent prompt.
|
|
63
|
+
- Added a Node fallback for `grep_search` when `rg` is not installed.
|
|
64
|
+
- Stream timeouts now surface as explicit errors instead of being hidden as user cancellations.
|
|
65
|
+
- Added Windows shell policy guidance and runtime rejection for common Unix-only inspection commands in Windows shells.
|
|
66
|
+
- PowerShell cmdlets such as `Remove-Item`, `Get-Content`, and `Select-String` now execute through PowerShell on Windows instead of falling through to `cmd.exe`.
|
|
67
|
+
- Commands that mix PowerShell cmdlets with `cmd`/Bash chaining operators such as `&&` are now rejected with a clear Windows shell policy error.
|
|
68
|
+
- `mkdir -p` is now rejected on Windows to avoid creating a literal `-p` directory.
|
|
69
|
+
- Default interactive agent iteration limit increased from 100 to 200, and max-iteration stops now still emit Execution Summary.
|
|
70
|
+
- Added automatic context compaction between agent iterations when the last request approaches the context window limit, with compact progress shown in the TUI status bar.
|
|
71
|
+
- Blocked broad process-kill commands such as `taskkill /F /IM node.exe` so the agent cannot terminate itself or unrelated Node-based sessions.
|
|
72
|
+
- TUI status bar now shows `VIEW:FOLLOW` or `VIEW:PAUSED` with keyboard scroll hints.
|
|
73
|
+
- `/help` now explicitly documents that mouse wheel input is not captured in the TUI.
|
|
74
|
+
- Added explicit `/budget normal` and `/budget large` modes while keeping the interactive default budget off.
|
|
75
|
+
- Stabilized streaming output by batching assistant chunks to reduce TUI rerenders.
|
|
76
|
+
- Stabilized slash-command editing, including `/model`, Backspace/Delete, Esc, and Ctrl+U behavior.
|
|
77
|
+
- Preserved live follow-up input while the agent is running, so user messages are queued into the active loop instead of being lost.
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
- Added an interactive budget preset for future use, but it is not enabled by default.
|
|
81
|
+
- Reverted the restrictive default interactive budget because it stopped real large-project work too early.
|
|
82
|
+
|
|
83
|
+
### Known Issues
|
|
84
|
+
- Mouse wheel support is not enabled in the production TUI.
|
|
85
|
+
- History scrolling remains keyboard-first with PageUp, PageDown, and End.
|
|
86
|
+
- Large project acceptance testing is still required before publication.
|
|
87
|
+
|
|
3
88
|
## 0.4.3 — Project Mode & Browser Control
|
|
4
89
|
|
|
5
90
|
### Improvements
|
package/README.md
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<br/>
|
|
3
3
|
<h1>DeepSeek Code</h1>
|
|
4
|
-
<p><strong>
|
|
4
|
+
<p><strong>A terminal AI coding agent for real repository work, powered by the DeepSeek API.</strong></p>
|
|
5
5
|
|
|
6
6
|
<p>
|
|
7
7
|
<a href="https://github.com/SerjMihashin/deepseek-code/blob/master/LICENSE">
|
|
8
8
|
<img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License"/>
|
|
9
9
|
</a>
|
|
10
10
|
<img src="https://img.shields.io/badge/TypeScript-5.7-blue" alt="TypeScript"/>
|
|
11
|
-
<img src="https://img.shields.io/badge/
|
|
12
|
-
<img src="https://img.shields.io/badge/
|
|
11
|
+
<img src="https://img.shields.io/badge/Node-%3E%3D20-green" alt="Node >= 20"/>
|
|
12
|
+
<img src="https://img.shields.io/badge/DeepSeek-API-orange" alt="DeepSeek API"/>
|
|
13
|
+
<img src="https://img.shields.io/badge/status-active_development-yellow" alt="Status"/>
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
16
|
<p>
|
|
@@ -18,36 +19,20 @@
|
|
|
18
19
|
<br/>
|
|
19
20
|
</div>
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
DeepSeek Code (`dsc`) is an open-source CLI/TUI agent that helps you work inside an existing codebase: inspect files, plan changes, edit code, run checks, use Chrome for web flows, and produce an honest execution summary.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
It is designed for developers who want an agent in the terminal, not a black-box cloud workspace. The project is actively evolving toward a stable, practical coding assistant for large repositories.
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
- Startup update notice and improved `/changelog` modes.
|
|
27
|
-
- `/changelog` command to view release notes inside the CLI.
|
|
28
|
-
- `/update-check` command to check the latest npm version.
|
|
29
|
-
- Stability and honest reporting improvements.
|
|
30
|
-
- `/budget` commands to limit runaway agent loops.
|
|
31
|
-
- Git Files section in Execution Summary.
|
|
32
|
-
- Interactive `/lang` picker and runtime response language.
|
|
33
|
-
- InputBar Home/End and Alt+Enter newline fallback.
|
|
26
|
+
## Why Developers Use It
|
|
34
27
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
It is built for developers who want a practical local workflow:
|
|
44
|
-
|
|
45
|
-
- **Lower cost**: use DeepSeek API directly instead of a fixed monthly coding subscription.
|
|
46
|
-
- **Real project work**: inspect files, patch code, run tests, and continue from previous sessions.
|
|
47
|
-
- **Terminal-native**: no IDE lock-in, no heavy desktop app, no cloud workspace requirement.
|
|
48
|
-
- **User-controlled automation**: choose read-only planning, manual approvals, auto-edit, or full turbo mode.
|
|
49
|
-
|
|
50
|
-
---
|
|
28
|
+
| Need | What DeepSeek Code provides |
|
|
29
|
+
|---|---|
|
|
30
|
+
| Work from the terminal | TUI with streaming output, tool activity, status, token/cost info, and keyboard navigation |
|
|
31
|
+
| Keep control | Plan, Default, Auto-Edit, and Turbo approval modes |
|
|
32
|
+
| Use real project context | Reads/searches repository files, edits focused ranges, runs build/test commands |
|
|
33
|
+
| Debug web projects | Chrome automation for pages, forms, console, network state, and screenshots |
|
|
34
|
+
| Avoid hidden failures | Execution Summary reports tool calls, changed files, failed commands, and verification gaps |
|
|
35
|
+
| Keep costs flexible | Uses your own DeepSeek API key instead of a fixed coding subscription |
|
|
51
36
|
|
|
52
37
|
## Install
|
|
53
38
|
|
|
@@ -55,42 +40,36 @@ It is built for developers who want a practical local workflow:
|
|
|
55
40
|
npm install -g @serjm/deepseek-code
|
|
56
41
|
```
|
|
57
42
|
|
|
58
|
-
Run
|
|
43
|
+
Run in a project:
|
|
59
44
|
|
|
60
45
|
```bash
|
|
61
|
-
|
|
46
|
+
dsc
|
|
62
47
|
```
|
|
63
48
|
|
|
64
|
-
|
|
49
|
+
One-shot and headless runs:
|
|
65
50
|
|
|
66
51
|
```bash
|
|
52
|
+
dsc -p "Find why tests are failing and propose a fix"
|
|
53
|
+
dsc --headless --json -p "Review this repository for risky changes"
|
|
67
54
|
npx @serjm/deepseek-code
|
|
68
55
|
```
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
Requires Node.js 20+ and a DeepSeek API key.
|
|
71
58
|
|
|
72
|
-
|
|
73
|
-
dsc
|
|
74
|
-
dsc -p "Find the bug in auth.ts and patch it"
|
|
75
|
-
dsc --headless --json -p "Review this repository"
|
|
76
|
-
```
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## Why Use It
|
|
59
|
+
## What Is New In 0.4.4
|
|
81
60
|
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
61
|
+
- More stable TUI streaming with batched output and live follow-up input.
|
|
62
|
+
- Slash-command editing fixes for `/model`, Backspace/Delete, Esc, and Ctrl+U.
|
|
63
|
+
- Clear `VIEW:FOLLOW` / `VIEW:PAUSED` status for reading long sessions.
|
|
64
|
+
- Failed tool call details in Execution Summary.
|
|
65
|
+
- Explicit stream timeout errors instead of silent aborts.
|
|
66
|
+
- Windows-friendly `grep_search` fallback when `rg` is unavailable.
|
|
67
|
+
- Windows shell policy and guardrails for Unix-only commands such as `head`.
|
|
68
|
+
- Explicit `/budget normal` and `/budget large` modes; default interactive budget remains off.
|
|
90
69
|
|
|
91
|
-
|
|
70
|
+
See [CHANGELOG.md](./CHANGELOG.md) for the full release history.
|
|
92
71
|
|
|
93
|
-
##
|
|
72
|
+
## Typical Workflow
|
|
94
73
|
|
|
95
74
|
```text
|
|
96
75
|
You: "Find why checkout fails after login and fix it"
|
|
@@ -99,44 +78,45 @@ DeepSeek Code:
|
|
|
99
78
|
1. Searches the relevant files
|
|
100
79
|
2. Reads the auth and checkout code
|
|
101
80
|
3. Applies a focused patch
|
|
102
|
-
4. Runs
|
|
103
|
-
5.
|
|
81
|
+
4. Runs approved checks
|
|
82
|
+
5. Reports what changed, what passed, what failed, and what was not checked
|
|
104
83
|
```
|
|
105
84
|
|
|
106
|
-
Core
|
|
107
|
-
|
|
108
|
-
- **Autonomous coding agent**: plans, reads, edits, searches, and runs commands.
|
|
109
|
-
- **Full terminal UI**: streaming output, tool activity, status, costs, and context usage.
|
|
110
|
-
- **Approval modes**: Plan, Default, Auto-Edit, and Turbo.
|
|
111
|
-
- **Browser automation**: open pages, click, fill forms, inspect console/network, take screenshots.
|
|
112
|
-
- **MCP support**: connect external tool servers for custom workflows.
|
|
113
|
-
- **Persistent memory**: save project facts with `/remember`.
|
|
114
|
-
- **AI code review**: use `/review` to inspect bugs, risks, and security issues.
|
|
115
|
-
- **Headless mode**: CI-friendly JSON output with `--headless --json`.
|
|
85
|
+
## Core Features
|
|
116
86
|
|
|
117
|
-
|
|
87
|
+
- **Agent loop**: plan, inspect, edit, verify, and continue.
|
|
88
|
+
- **TUI**: live status, streaming response, tool activity, scroll/follow indicators, and keyboard controls.
|
|
89
|
+
- **Approval modes**: read-only planning, manual confirmation, auto-edit, or trusted full automation.
|
|
90
|
+
- **Browser tools**: Chrome-based checks for rendered UI, console errors, forms, screenshots, and network behavior.
|
|
91
|
+
- **Session continuity**: continue previous work and save project facts with `/remember`.
|
|
92
|
+
- **Review mode**: use `/review` for bug, regression, and security-oriented code review.
|
|
93
|
+
- **Headless mode**: scriptable output via `--headless --json`.
|
|
94
|
+
- **Budget modes**: `/budget audit`, `/budget normal`, `/budget large`, `/budget off`.
|
|
118
95
|
|
|
119
|
-
## Commands
|
|
96
|
+
## Useful Commands
|
|
120
97
|
|
|
121
98
|
| Command | Description |
|
|
122
99
|
|---|---|
|
|
123
|
-
| `/help` | Show
|
|
124
|
-
| `/setup` | Configure API key, language, and approval mode |
|
|
100
|
+
| `/help` | Show commands and keyboard controls |
|
|
101
|
+
| `/setup` | Configure API key, language, model, and approval mode |
|
|
102
|
+
| `/model` | Switch model or open the model picker |
|
|
103
|
+
| `/lang` | Switch response language |
|
|
125
104
|
| `/remember <text>` | Save project context |
|
|
126
105
|
| `/memory` | Show saved memories |
|
|
127
106
|
| `/review` | Run AI code review |
|
|
128
|
-
| `/checkpoint` | Save
|
|
129
|
-
| `/
|
|
130
|
-
| `/
|
|
131
|
-
| `/
|
|
132
|
-
| `/
|
|
133
|
-
| `/
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
107
|
+
| `/checkpoint` / `/restore` | Save or restore git checkpoints |
|
|
108
|
+
| `/budget status\|off\|audit\|normal\|large` | Control loop limits explicitly |
|
|
109
|
+
| `/chrome` | Manage Chrome mode |
|
|
110
|
+
| `/browser-test` | Run browser checks |
|
|
111
|
+
| `/stats` | Show tokens, cost, and session statistics |
|
|
112
|
+
| `/changelog` | Read release notes inside the CLI |
|
|
113
|
+
|
|
114
|
+
Keyboard highlights:
|
|
115
|
+
|
|
116
|
+
- `PageUp` / `PageDown`: read chat history.
|
|
117
|
+
- `End`: jump back to the latest message.
|
|
118
|
+
- `Shift+Enter` / `Alt+Enter`: insert a newline.
|
|
119
|
+
- Mouse wheel is not captured in the TUI yet; this is intentional while terminal mouse support is being hardened.
|
|
140
120
|
|
|
141
121
|
## Configuration
|
|
142
122
|
|
|
@@ -158,20 +138,22 @@ Or create `.deepseek-code/settings.json` in your project:
|
|
|
158
138
|
}
|
|
159
139
|
```
|
|
160
140
|
|
|
161
|
-
---
|
|
162
|
-
|
|
163
141
|
## Safety Model
|
|
164
142
|
|
|
165
|
-
DeepSeek Code is
|
|
143
|
+
DeepSeek Code is built around explicit control:
|
|
166
144
|
|
|
167
145
|
- **Plan**: read-only analysis.
|
|
168
|
-
- **Default**: asks before edits and commands.
|
|
169
|
-
- **Auto-Edit**:
|
|
146
|
+
- **Default**: asks before edits and shell commands.
|
|
147
|
+
- **Auto-Edit**: edits files automatically; shell commands still need confirmation.
|
|
170
148
|
- **Turbo**: full automation for trusted local work.
|
|
171
149
|
|
|
172
|
-
|
|
150
|
+
The agent also uses path checks, dangerous command blocking, file size limits, `.deepseekignore`, checkpoints, optional sandboxing, Windows shell guidance, and honest final reporting.
|
|
151
|
+
|
|
152
|
+
## Project Status
|
|
173
153
|
|
|
174
|
-
|
|
154
|
+
DeepSeek Code is in active development. The current focus is stability for real development work: large repositories, transparent tool activity, reliable input, honest summaries, Windows-first ergonomics, and release-quality packaging.
|
|
155
|
+
|
|
156
|
+
Planned work includes deeper TUI hardening, safer mouse-wheel research, larger project exams, and stronger acceptance workflows for browser-based projects.
|
|
175
157
|
|
|
176
158
|
## Development
|
|
177
159
|
|
|
@@ -179,32 +161,13 @@ It also supports command sanitization, file size limits, `.deepseekignore`, chec
|
|
|
179
161
|
git clone https://github.com/SerjMihashin/deepseek-code.git
|
|
180
162
|
cd deepseek-code
|
|
181
163
|
npm install
|
|
164
|
+
npm run lint
|
|
165
|
+
npm run typecheck
|
|
182
166
|
npm run build
|
|
183
167
|
npm test
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Package check:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
168
|
npm pack --dry-run
|
|
190
|
-
npm publish --dry-run --access public
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
Publish to npm:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
npm login
|
|
197
|
-
npm publish --access public
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
If npm asks for two-factor authentication:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
npm publish --access public --otp=123456
|
|
204
169
|
```
|
|
205
170
|
|
|
206
|
-
---
|
|
207
|
-
|
|
208
171
|
## License
|
|
209
172
|
|
|
210
173
|
Apache-2.0 © 2026 Serj Mikhashin
|
package/README.ru.md
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
<br/>
|
|
3
3
|
<h1>DeepSeek Code</h1>
|
|
4
|
-
<p><strong>
|
|
4
|
+
<p><strong>AI coding agent в терминале для реальной работы с проектами, на базе DeepSeek API.</strong></p>
|
|
5
5
|
|
|
6
6
|
<p>
|
|
7
7
|
<a href="https://github.com/SerjMihashin/deepseek-code/blob/master/LICENSE">
|
|
8
8
|
<img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License"/>
|
|
9
9
|
</a>
|
|
10
10
|
<img src="https://img.shields.io/badge/TypeScript-5.7-blue" alt="TypeScript"/>
|
|
11
|
-
<img src="https://img.shields.io/badge/
|
|
12
|
-
<img src="https://img.shields.io/badge/
|
|
11
|
+
<img src="https://img.shields.io/badge/Node-%3E%3D20-green" alt="Node >= 20"/>
|
|
12
|
+
<img src="https://img.shields.io/badge/DeepSeek-API-orange" alt="DeepSeek API"/>
|
|
13
|
+
<img src="https://img.shields.io/badge/status-active_development-yellow" alt="Status"/>
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
16
|
<p>
|
|
@@ -18,36 +19,20 @@
|
|
|
18
19
|
<br/>
|
|
19
20
|
</div>
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
DeepSeek Code (`dsc`) — это open-source CLI/TUI агент для разработки. Он запускается прямо в вашем репозитории, читает код, планирует изменения, правит файлы, запускает проверки, умеет работать с Chrome для web-проектов и честно показывает итог выполнения.
|
|
22
23
|
|
|
23
|
-
|
|
24
|
+
Проект активно развивается в сторону стабильного coding agent для больших кодовых баз: прозрачный live status, надежный ввод, понятные отчеты, Windows-first ergonomics и безопасная подготовка релизов.
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
- Уведомление об обновлениях при запуске и улучшенные режимы `/changelog`.
|
|
27
|
-
- `/changelog` показывает список изменений прямо в CLI.
|
|
28
|
-
- `/update-check` проверяет последнюю версию в npm.
|
|
29
|
-
- Улучшена стабильность и честность отчётов.
|
|
30
|
-
- `/budget` команды ограничивают runaway tool/API calls.
|
|
31
|
-
- Execution Summary показывает Files: changed/untracked/dirty before run.
|
|
32
|
-
- `/lang` picker и ответы на выбранном языке.
|
|
33
|
-
- InputBar: Home/End и Alt+Enter для новой строки.
|
|
34
|
-
|
|
35
|
-
Подробнее в [CHANGELOG.md](./CHANGELOG.md).
|
|
36
|
-
|
|
37
|
-
---
|
|
38
|
-
|
|
39
|
-
## Коротко
|
|
40
|
-
|
|
41
|
-
DeepSeek Code — это AI-агент для разработки прямо в терминале. Он читает проект, редактирует файлы, запускает команды, делает code review, запоминает контекст и умеет управлять Chrome, когда задача выходит за пределы кода.
|
|
42
|
-
|
|
43
|
-
Он подходит, если нужен практичный локальный workflow:
|
|
44
|
-
|
|
45
|
-
- **Ниже стоимость**: используется ваш DeepSeek API key, без дорогой фиксированной подписки.
|
|
46
|
-
- **Реальная работа с проектом**: поиск по коду, патчи, тесты, продолжение прошлых сессий.
|
|
47
|
-
- **Терминальный подход**: без привязки к конкретной IDE и без отдельного облачного workspace.
|
|
48
|
-
- **Контроль над автоматизацией**: режимы от read-only анализа до полного turbo.
|
|
26
|
+
## Зачем он нужен
|
|
49
27
|
|
|
50
|
-
|
|
28
|
+
| Задача | Что дает DeepSeek Code |
|
|
29
|
+
|---|---|
|
|
30
|
+
| Работать из терминала | TUI со streaming output, tool activity, статусом, токенами/стоимостью и навигацией |
|
|
31
|
+
| Не отдавать все на автопилот | Режимы Plan, Default, Auto-Edit и Turbo |
|
|
32
|
+
| Разбираться в реальном проекте | Поиск по репозиторию, чтение файлов, точечные правки, запуск build/test |
|
|
33
|
+
| Проверять web-флоу | Chrome automation: страницы, формы, console, network, screenshots |
|
|
34
|
+
| Видеть правду в отчете | Execution Summary показывает tool calls, измененные файлы, failed commands и gaps |
|
|
35
|
+
| Контролировать стоимость | Используется ваш DeepSeek API key, без фиксированной подписки на coding IDE |
|
|
51
36
|
|
|
52
37
|
## Установка
|
|
53
38
|
|
|
@@ -55,88 +40,84 @@ DeepSeek Code — это AI-агент для разработки прямо в
|
|
|
55
40
|
npm install -g @serjm/deepseek-code
|
|
56
41
|
```
|
|
57
42
|
|
|
58
|
-
|
|
43
|
+
Запуск в проекте:
|
|
59
44
|
|
|
60
45
|
```bash
|
|
61
|
-
|
|
46
|
+
dsc
|
|
62
47
|
```
|
|
63
48
|
|
|
64
|
-
|
|
49
|
+
Разовые и headless-запуски:
|
|
65
50
|
|
|
66
51
|
```bash
|
|
52
|
+
dsc -p "Найди, почему падают тесты, и предложи фикс"
|
|
53
|
+
dsc --headless --json -p "Проведи ревью этого репозитория"
|
|
67
54
|
npx @serjm/deepseek-code
|
|
68
55
|
```
|
|
69
56
|
|
|
70
|
-
|
|
57
|
+
Требуется Node.js 20+ и DeepSeek API key.
|
|
71
58
|
|
|
72
|
-
|
|
73
|
-
dsc
|
|
74
|
-
dsc -p "Найди баг в auth.ts и исправь"
|
|
75
|
-
dsc --headless --json -p "Сделай review репозитория"
|
|
76
|
-
```
|
|
59
|
+
## Что нового в 0.4.4
|
|
77
60
|
|
|
78
|
-
|
|
61
|
+
- Более стабильный streaming в TUI: chunks батчатся, меньше лишних rerender.
|
|
62
|
+
- Live follow-up: можно писать агенту во время выполнения задачи.
|
|
63
|
+
- Исправлено редактирование slash-команд: `/model`, Backspace/Delete, Esc, Ctrl+U.
|
|
64
|
+
- Явный статус чтения истории: `VIEW:FOLLOW` и `VIEW:PAUSED`.
|
|
65
|
+
- Execution Summary показывает детали failed tool calls.
|
|
66
|
+
- Stream timeout теперь виден как ошибка, а не выглядит как молчаливый обрыв.
|
|
67
|
+
- `grep_search` работает на Windows даже без установленного `rg`.
|
|
68
|
+
- Windows shell policy: меньше падений из-за `head`, `sed`, `cat` и Unix-only команд.
|
|
69
|
+
- Добавлены `/budget normal` и `/budget large`; по умолчанию interactive budget остается выключенным.
|
|
79
70
|
|
|
80
|
-
|
|
71
|
+
Полная история изменений: [CHANGELOG.md](./CHANGELOG.md).
|
|
81
72
|
|
|
82
|
-
|
|
83
|
-
|---|---|
|
|
84
|
-
| Исправить код из терминала | Читает файлы, предлагает патчи и запускает проверочные команды |
|
|
85
|
-
| Держать расходы под контролем | Работает напрямую через ваш DeepSeek API key |
|
|
86
|
-
| Работать в существующих репозиториях | Запускается там, где уже лежит код |
|
|
87
|
-
| Не отдавать все на автопилот | Режимы подтверждений контролируют правки и shell-команды |
|
|
88
|
-
| Отлаживать browser flow | Встроенный Chrome: страницы, формы, консоль, network, скриншоты |
|
|
89
|
-
| Не терять контекст | Память проекта и продолжение сессий помогают на длинных задачах |
|
|
90
|
-
|
|
91
|
-
---
|
|
92
|
-
|
|
93
|
-
## Что он умеет
|
|
73
|
+
## Как выглядит рабочий сценарий
|
|
94
74
|
|
|
95
75
|
```text
|
|
96
76
|
Вы: "Найди, почему checkout падает после логина, и исправь"
|
|
97
77
|
|
|
98
78
|
DeepSeek Code:
|
|
99
|
-
1.
|
|
79
|
+
1. Находит релевантные файлы
|
|
100
80
|
2. Читает auth и checkout код
|
|
101
81
|
3. Вносит точечный патч
|
|
102
|
-
4. Запускает
|
|
103
|
-
5.
|
|
82
|
+
4. Запускает подтвержденные проверки
|
|
83
|
+
5. Честно пишет, что изменено, что прошло, что упало и что не проверялось
|
|
104
84
|
```
|
|
105
85
|
|
|
106
|
-
|
|
86
|
+
## Возможности
|
|
107
87
|
|
|
108
|
-
-
|
|
109
|
-
-
|
|
110
|
-
- **Режимы
|
|
111
|
-
-
|
|
112
|
-
-
|
|
113
|
-
-
|
|
114
|
-
- **
|
|
115
|
-
- **
|
|
88
|
+
- **Agent loop**: планирование, чтение, правки, проверки и продолжение диалога.
|
|
89
|
+
- **TUI**: live status, streaming, tool activity, scroll/follow indicators и keyboard controls.
|
|
90
|
+
- **Режимы контроля**: read-only plan, ручные подтверждения, auto-edit или turbo для доверенной локальной работы.
|
|
91
|
+
- **Browser tools**: Chrome-проверки для UI, console errors, forms, screenshots и network behavior.
|
|
92
|
+
- **Память и сессии**: продолжение работы и сохранение фактов проекта через `/remember`.
|
|
93
|
+
- **Code review**: `/review` для поиска багов, регрессий, рисков и security-проблем.
|
|
94
|
+
- **Headless mode**: JSON-вывод для скриптов и CI через `--headless --json`.
|
|
95
|
+
- **Budget modes**: `/budget audit`, `/budget normal`, `/budget large`, `/budget off`.
|
|
116
96
|
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
## Команды
|
|
97
|
+
## Основные команды
|
|
120
98
|
|
|
121
99
|
| Команда | Описание |
|
|
122
100
|
|---|---|
|
|
123
|
-
| `/help` | Показать команды |
|
|
124
|
-
| `/setup` | Настроить API key,
|
|
125
|
-
| `/
|
|
101
|
+
| `/help` | Показать команды и горячие клавиши |
|
|
102
|
+
| `/setup` | Настроить API key, язык, модель и режим подтверждений |
|
|
103
|
+
| `/model` | Сменить модель или открыть выбор модели |
|
|
104
|
+
| `/lang` | Сменить язык ответов |
|
|
105
|
+
| `/remember <text>` | Сохранить факт о проекте |
|
|
126
106
|
| `/memory` | Показать сохраненную память |
|
|
127
107
|
| `/review` | Запустить AI code review |
|
|
128
|
-
| `/checkpoint` | Сохранить git checkpoint |
|
|
129
|
-
| `/
|
|
130
|
-
| `/
|
|
131
|
-
| `/
|
|
132
|
-
| `/
|
|
133
|
-
| `/
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
108
|
+
| `/checkpoint` / `/restore` | Сохранить или восстановить git checkpoint |
|
|
109
|
+
| `/budget status\|off\|audit\|normal\|large` | Явно управлять лимитами agent loop |
|
|
110
|
+
| `/chrome` | Управление Chrome mode |
|
|
111
|
+
| `/browser-test` | Запустить browser checks |
|
|
112
|
+
| `/stats` | Показать токены, стоимость и статистику сессии |
|
|
113
|
+
| `/changelog` | Читать release notes внутри CLI |
|
|
114
|
+
|
|
115
|
+
Горячие клавиши:
|
|
116
|
+
|
|
117
|
+
- `PageUp` / `PageDown`: читать историю.
|
|
118
|
+
- `End`: вернуться к последнему сообщению.
|
|
119
|
+
- `Shift+Enter` / `Alt+Enter`: новая строка во вводе.
|
|
120
|
+
- Mouse wheel пока не захватывается в TUI намеренно: поддержка мыши будет включаться только после отдельного безопасного исследования.
|
|
140
121
|
|
|
141
122
|
## Конфигурация
|
|
142
123
|
|
|
@@ -158,20 +139,22 @@ export DEEPSEEK_MODEL="deepseek-chat"
|
|
|
158
139
|
}
|
|
159
140
|
```
|
|
160
141
|
|
|
161
|
-
---
|
|
162
|
-
|
|
163
142
|
## Контроль и безопасность
|
|
164
143
|
|
|
165
144
|
DeepSeek Code построен вокруг явного контроля:
|
|
166
145
|
|
|
167
146
|
- **Plan**: только read-only анализ.
|
|
168
|
-
- **Default**: спрашивает перед правками и
|
|
147
|
+
- **Default**: спрашивает перед правками и shell-командами.
|
|
169
148
|
- **Auto-Edit**: правки файлов автоматические, shell-команды требуют подтверждения.
|
|
170
149
|
- **Turbo**: полная автоматизация для доверенной локальной работы.
|
|
171
150
|
|
|
172
|
-
|
|
151
|
+
Дополнительно есть path checks, блокировка опасных команд, лимиты размера файлов, `.deepseekignore`, checkpoints, опциональный sandbox, Windows shell guidance и честный финальный отчет.
|
|
152
|
+
|
|
153
|
+
## Статус проекта
|
|
173
154
|
|
|
174
|
-
|
|
155
|
+
Проект находится в активной разработке. Основной фокус сейчас — довести CLI до состояния, где им реально удобно работать над большими проектами: прозрачный activity/status, стабильный TUI, надежный ввод, честные отчеты, отсутствие мусорных файлов и предсказуемый release workflow.
|
|
156
|
+
|
|
157
|
+
В планах: дальнейшая стабилизация TUI, безопасное исследование mouse wheel, large-project exams и более строгие acceptance-проверки для web-проектов.
|
|
175
158
|
|
|
176
159
|
## Разработка
|
|
177
160
|
|
|
@@ -179,32 +162,13 @@ DeepSeek Code построен вокруг явного контроля:
|
|
|
179
162
|
git clone https://github.com/SerjMihashin/deepseek-code.git
|
|
180
163
|
cd deepseek-code
|
|
181
164
|
npm install
|
|
165
|
+
npm run lint
|
|
166
|
+
npm run typecheck
|
|
182
167
|
npm run build
|
|
183
168
|
npm test
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
Проверить пакет:
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
169
|
npm pack --dry-run
|
|
190
|
-
npm publish --dry-run --access public
|
|
191
170
|
```
|
|
192
171
|
|
|
193
|
-
Опубликовать в npm:
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
npm login
|
|
197
|
-
npm publish --access public
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
Если npm просит двухфакторный код:
|
|
201
|
-
|
|
202
|
-
```bash
|
|
203
|
-
npm publish --access public --otp=123456
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
---
|
|
207
|
-
|
|
208
172
|
## Лицензия
|
|
209
173
|
|
|
210
174
|
Apache-2.0 © 2026 Serj Mikhashin
|