deepseek-team 0.8.1__tar.gz
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.
- deepseek_team-0.8.1/LICENSE +21 -0
- deepseek_team-0.8.1/MANIFEST.in +8 -0
- deepseek_team-0.8.1/PKG-INFO +206 -0
- deepseek_team-0.8.1/README.md +188 -0
- deepseek_team-0.8.1/README.ru.md +195 -0
- deepseek_team-0.8.1/docs/PUBLISHING.md +190 -0
- deepseek_team-0.8.1/docs/ROUTING.md +329 -0
- deepseek_team-0.8.1/docs/ROUTING.ru.md +330 -0
- deepseek_team-0.8.1/docs/releases/0.4.0.md +26 -0
- deepseek_team-0.8.1/docs/releases/0.5.0.md +57 -0
- deepseek_team-0.8.1/docs/releases/0.6.0.md +54 -0
- deepseek_team-0.8.1/docs/releases/0.7.0.md +55 -0
- deepseek_team-0.8.1/docs/releases/0.7.1.md +50 -0
- deepseek_team-0.8.1/docs/releases/0.8.0.md +16 -0
- deepseek_team-0.8.1/docs/releases/0.8.1.md +12 -0
- deepseek_team-0.8.1/pyproject.toml +34 -0
- deepseek_team-0.8.1/scripts/check_installation.py +349 -0
- deepseek_team-0.8.1/setup.cfg +4 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/__init__.py +1 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/__main__.py +3 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/activation.py +106 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/claude_config.py +147 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/cli.py +219 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/config.py +282 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/coordination.py +947 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/coordination_cli.py +107 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/coordinator_hooks.py +251 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/data/apparmor/deepseek-team-bwrap +10 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/data/delegation.md +221 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/delegation_cli.py +121 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/development.py +248 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/doctor.py +310 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/managed.py +188 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/onboarding.py +134 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/project.py +229 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/relay.py +164 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing.py +273 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_admission.py +264 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_budget.py +313 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_cli.py +241 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_estimator.py +511 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_models.py +155 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_sources.py +340 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/routing_store.py +216 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/sandbox.py +360 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/settings.py +450 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/shell_mutation.py +397 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/worker.py +501 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/worker_admission.py +89 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/worker_slots.py +314 -0
- deepseek_team-0.8.1/src/codex_deepseek_team/workspace.py +362 -0
- deepseek_team-0.8.1/src/deepseek_team.egg-info/PKG-INFO +206 -0
- deepseek_team-0.8.1/src/deepseek_team.egg-info/SOURCES.txt +93 -0
- deepseek_team-0.8.1/src/deepseek_team.egg-info/dependency_links.txt +1 -0
- deepseek_team-0.8.1/src/deepseek_team.egg-info/entry_points.txt +2 -0
- deepseek_team-0.8.1/src/deepseek_team.egg-info/top_level.txt +1 -0
- deepseek_team-0.8.1/tests/test_activation.py +248 -0
- deepseek_team-0.8.1/tests/test_claude_coordination_integration.py +170 -0
- deepseek_team-0.8.1/tests/test_claude_hooks.py +298 -0
- deepseek_team-0.8.1/tests/test_claude_runtime.py +146 -0
- deepseek_team-0.8.1/tests/test_cli.py +82 -0
- deepseek_team-0.8.1/tests/test_codex_coordination_integration.py +269 -0
- deepseek_team-0.8.1/tests/test_codex_deepseek_checks.py +172 -0
- deepseek_team-0.8.1/tests/test_codex_deepseek_protocol.py +105 -0
- deepseek_team-0.8.1/tests/test_codex_deepseek_worker.py +430 -0
- deepseek_team-0.8.1/tests/test_config.py +127 -0
- deepseek_team-0.8.1/tests/test_coordination.py +570 -0
- deepseek_team-0.8.1/tests/test_coordination_outcomes.py +249 -0
- deepseek_team-0.8.1/tests/test_coordinators.py +71 -0
- deepseek_team-0.8.1/tests/test_delegation_profiles.py +428 -0
- deepseek_team-0.8.1/tests/test_final_reporting.py +150 -0
- deepseek_team-0.8.1/tests/test_immediate_delegation.py +153 -0
- deepseek_team-0.8.1/tests/test_installation_check.py +143 -0
- deepseek_team-0.8.1/tests/test_lifecycle_regressions.py +167 -0
- deepseek_team-0.8.1/tests/test_live_delegation.py +508 -0
- deepseek_team-0.8.1/tests/test_onboarding.py +214 -0
- deepseek_team-0.8.1/tests/test_project.py +195 -0
- deepseek_team-0.8.1/tests/test_routing_admission.py +299 -0
- deepseek_team-0.8.1/tests/test_routing_budget.py +660 -0
- deepseek_team-0.8.1/tests/test_routing_cli.py +422 -0
- deepseek_team-0.8.1/tests/test_routing_estimator.py +538 -0
- deepseek_team-0.8.1/tests/test_routing_integration.py +549 -0
- deepseek_team-0.8.1/tests/test_routing_models.py +48 -0
- deepseek_team-0.8.1/tests/test_routing_service.py +118 -0
- deepseek_team-0.8.1/tests/test_routing_sources.py +386 -0
- deepseek_team-0.8.1/tests/test_routing_store.py +112 -0
- deepseek_team-0.8.1/tests/test_sandbox.py +288 -0
- deepseek_team-0.8.1/tests/test_sandbox_cli.py +108 -0
- deepseek_team-0.8.1/tests/test_shell_mutation.py +194 -0
- deepseek_team-0.8.1/tests/test_single_path.py +56 -0
- deepseek_team-0.8.1/tests/test_universal_cli.py +154 -0
- deepseek_team-0.8.1/tests/test_worker_configuration.py +118 -0
- deepseek_team-0.8.1/tests/test_worker_hardening.py +107 -0
- deepseek_team-0.8.1/tests/test_worker_os_sandbox.py +123 -0
- deepseek_team-0.8.1/tests/test_worker_slots.py +438 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 kirill31337
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
include LICENSE README.md
|
|
2
|
+
include README.ru.md docs/ROUTING.md docs/ROUTING.ru.md
|
|
3
|
+
include docs/PUBLISHING.md
|
|
4
|
+
recursive-include docs/releases *.md
|
|
5
|
+
include scripts/check_installation.py
|
|
6
|
+
recursive-include tests *.py
|
|
7
|
+
recursive-include src/codex_deepseek_team/data *.md
|
|
8
|
+
recursive-include src/codex_deepseek_team/data/apparmor *
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: deepseek-team
|
|
3
|
+
Version: 0.8.1
|
|
4
|
+
Summary: Delegate bounded coding tasks from Codex and/or Claude Code to isolated DeepSeek workers.
|
|
5
|
+
Author: kirill31337
|
|
6
|
+
License-Expression: MIT
|
|
7
|
+
Project-URL: Documentation, https://github.com/kirill31337/deepseek-team#quick-start
|
|
8
|
+
Project-URL: Changelog, https://github.com/kirill31337/deepseek-team/releases
|
|
9
|
+
Project-URL: Repository, https://github.com/kirill31337/deepseek-team
|
|
10
|
+
Project-URL: Issues, https://github.com/kirill31337/deepseek-team/issues
|
|
11
|
+
Classifier: Programming Language :: Python :: 3
|
|
12
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
13
|
+
Classifier: Topic :: Software Development
|
|
14
|
+
Requires-Python: >=3.11
|
|
15
|
+
Description-Content-Type: text/markdown
|
|
16
|
+
License-File: LICENSE
|
|
17
|
+
Dynamic: license-file
|
|
18
|
+
|
|
19
|
+

|
|
20
|
+
|
|
21
|
+
# DeepSeek Team
|
|
22
|
+
|
|
23
|
+
**English** | [Русский](https://github.com/kirill31337/deepseek-team/blob/main/README.ru.md)
|
|
24
|
+
|
|
25
|
+
DeepSeek Team lets **Codex and Claude Code** delegate implementation, tests, documentation and research to isolated **DeepSeek workers**. The coordinator plans the work, reviews the results and integrates accepted changes. Workers handle independent tasks; full-access jobs use their own development copies.
|
|
26
|
+
|
|
27
|
+
Workers always run the `deepseek-flash` model. Effort policy is `auto`, so the coordinator chooses `low`, `medium` or `high` for each assignment unless you save a fixed level. Live delegation needs its own **DeepSeek API key**; DeepSeek Team does not reuse the credentials your coordinator already has.
|
|
28
|
+
|
|
29
|
+
This README describes version **0.8.1** of the `deepseek-team` package, which installs the single `deepseek-team` executable.
|
|
30
|
+
|
|
31
|
+
## Prerequisites
|
|
32
|
+
|
|
33
|
+
- **Linux.** Native Windows and macOS are not supported.
|
|
34
|
+
- **Python 3.11 or newer** and **Git** on `PATH`.
|
|
35
|
+
- **Codex CLI and/or Claude Code CLI** on `PATH`, normally configured. Install whichever coordinator you intend to use; `both` covers both.
|
|
36
|
+
- **Bubblewrap** (`bwrap`) and a working Linux OS sandbox. Every worker needs it before any credential is read, and it cannot be turned off.
|
|
37
|
+
|
|
38
|
+
On Ubuntu, `setup --with-sandbox` can install the required system components (see below). On other distributions, install Bubblewrap and any AppArmor prerequisites with your own package manager first, then check `deepseek-team sandbox status`.
|
|
39
|
+
|
|
40
|
+
## Install
|
|
41
|
+
|
|
42
|
+
Version 0.8.1 is published on [PyPI](https://pypi.org/project/deepseek-team/), so install the released package by name. [pipx](https://pipx.pypa.io/latest/how-to/install-pipx.html) keeps the CLI in its own environment and is the recommended route:
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
sudo apt-get install pipx # Ubuntu, once
|
|
46
|
+
pipx ensurepath
|
|
47
|
+
# Open a new terminal so PATH is refreshed.
|
|
48
|
+
pipx install deepseek-team
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
Compact alternatives, if you already prefer another manager:
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# uv
|
|
55
|
+
uv tool install deepseek-team
|
|
56
|
+
|
|
57
|
+
# pip inside a virtual environment only
|
|
58
|
+
python3 -m venv ~/venvs/deepseek-team
|
|
59
|
+
. ~/venvs/deepseek-team/bin/activate
|
|
60
|
+
python -m pip install deepseek-team
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
To install from a local checkout instead:
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
git clone https://github.com/kirill31337/deepseek-team.git
|
|
67
|
+
cd deepseek-team
|
|
68
|
+
pipx install .
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
## Quick start
|
|
72
|
+
|
|
73
|
+
`setup` prepares your user-level integration. `init` then attaches the Git project where you want to use delegation.
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
# 1. Prepare the user-level integration for Codex. --no-key defers the credential.
|
|
77
|
+
deepseek-team setup --runtime codex --no-key
|
|
78
|
+
|
|
79
|
+
# 2. Store the DeepSeek API key. The prompt is hidden; the key is never echoed.
|
|
80
|
+
deepseek-team auth set
|
|
81
|
+
|
|
82
|
+
# 3. Attach a project so its coordinator reads the delegation instructions.
|
|
83
|
+
cd /path/to/project
|
|
84
|
+
deepseek-team init --coordinator codex .
|
|
85
|
+
|
|
86
|
+
# 4. Optional: allow implementation inside an isolated development copy.
|
|
87
|
+
deepseek-team config set --project --access full-access
|
|
88
|
+
|
|
89
|
+
# 5. Confirm local readiness. This stays offline: no key is read and no request is sent.
|
|
90
|
+
deepseek-team doctor --runtime codex --offline
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
A few notes:
|
|
94
|
+
|
|
95
|
+
- `--no-key` deliberately defers authentication so `setup` never prompts for or reads a secret. Store the key separately with `deepseek-team auth set`, or omit `--no-key` on a terminal when you are ready.
|
|
96
|
+
- Fresh access defaults are **read-only**. Step 4 lets Auto delegate implementation by explicitly granting write access. Full-access means a private, owned development copy, not the host system.
|
|
97
|
+
- On Ubuntu, the very first setup may need to install the sandbox package and a named AppArmor profile. Use `deepseek-team setup --runtime codex --with-sandbox --no-key` for that explicit, administrator-authorized step. Ordinary setup never invokes `sudo`; on other distributions install the system prerequisites yourself.
|
|
98
|
+
- For Claude Code, substitute `claude` for `codex` in `--runtime` and `--coordinator`, or pass `both` to prepare both coordinators.
|
|
99
|
+
- Codex owns native hook trust: review and trust the installed hook once with `/hooks`. In Claude Code, start a fresh session and check `/hooks` there.
|
|
100
|
+
|
|
101
|
+
## What gets delegated
|
|
102
|
+
|
|
103
|
+
Auto delegation admits suitable work immediately; it does not wait for prior history to accumulate. A task is a good candidate when it is:
|
|
104
|
+
|
|
105
|
+
- small or medium, with low or medium risk;
|
|
106
|
+
- localized to a known or partially known place, with local or component-level coupling;
|
|
107
|
+
- clear about acceptance, with a way to check the result.
|
|
108
|
+
|
|
109
|
+
Implementation needs an executable check - tests, a build or a reproducer. Review, research and documentation tasks may use manual acceptance criteria instead. Unknown costs never block eligible work, and the coordinator keeps anything whose measured economics do not justify delegation.
|
|
110
|
+
|
|
111
|
+
The coordinator records what actually happened after reviewing the real diff and the declared checks. One rework is recorded without pausing anything; a rejection, or three distinct recent reworks, pauses only that task family for 300 seconds. Failed implementation is never retried automatically.
|
|
112
|
+
|
|
113
|
+
Access is independent of effort and history:
|
|
114
|
+
|
|
115
|
+
- **Read-only** (fresh default): workers inspect and report, and cannot modify the project.
|
|
116
|
+
- **Full-access** (explicit): workers implement, run local checks and write documentation inside an isolated copy owned by the job.
|
|
117
|
+
|
|
118
|
+
Workers never commit, push, publish, deploy, touch production services or spawn further agents. Those remain coordinator actions.
|
|
119
|
+
|
|
120
|
+
## Asking for help in a session
|
|
121
|
+
|
|
122
|
+
Once setup and attachment are done, you do not run workers by hand. Ask in your normal coordinator session, in plain language:
|
|
123
|
+
|
|
124
|
+
> Implement the new cache layer under `src/cache/`. Delegate the independent implementation and its tests to DeepSeek workers, run the test suite inside the worker copies, and integrate only what you have verified. Keep the public API stable and show me the final diff before you commit.
|
|
125
|
+
|
|
126
|
+
The coordinator splits that into bounded assignments, runs them through the worker queue and reports the accepted work.
|
|
127
|
+
|
|
128
|
+
Final-summary guidance ships with the package for both Codex and Claude Code. While DeepSeek Team is enabled, summaries of performed work include short bullets separating the coordinator's personal work from accepted DeepSeek results, including any rework or failed attempts. They cover the reported task across turns; native subagents are credited separately, and no delegation is stated explicitly.
|
|
129
|
+
|
|
130
|
+
After the list comes an approximate coordinator/DeepSeek split in whole-number percentages totaling 100, labelled **“subjective estimate, not measured.”** It reflects accepted scope, complexity, review and rework, never counts of calls, tasks, files, lines, tokens, time or bullets, and never the configured 25/50/75 target or claimed savings. Without accepted worker work the split is 100/0; if evidence is insufficient, the estimate is unavailable. Status-only and no-work replies need no report, and `off` disables the requirement. Updating the package refreshes hook guidance; refresh existing project instructions with `deepseek-team init --coordinator both /path/to/project` (use `codex` or `claude` for a single coordinator).
|
|
131
|
+
|
|
132
|
+
## Current defaults
|
|
133
|
+
|
|
134
|
+
| Setting | Current default | Notes |
|
|
135
|
+
| --- | --- | --- |
|
|
136
|
+
| Delegation | `auto` | Chooses the executor per task; no fixed quota. |
|
|
137
|
+
| Access | `auto` -> read-only in Auto | Full-access enables isolated implementation. |
|
|
138
|
+
| Model | `deepseek-flash` | Fixed for all workers. |
|
|
139
|
+
| Effort | `auto` | Coordinator picks `low`/`medium`/`high` per assignment. |
|
|
140
|
+
| Workers | `8` | Configurable 1-64; further jobs queue FIFO. |
|
|
141
|
+
| Total timeout | unlimited | An explicit timeout also includes queue time. |
|
|
142
|
+
|
|
143
|
+
Inspect or change the settings per project:
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
deepseek-team config show --effective
|
|
147
|
+
deepseek-team config set --project --max-workers 8
|
|
148
|
+
deepseek-team on # enable delegation for this project
|
|
149
|
+
deepseek-team off # disable it without deleting settings
|
|
150
|
+
deepseek-team status # show the saved and effective state
|
|
151
|
+
```
|
|
152
|
+
|
|
153
|
+
The optional manual **25/50/75** profiles are target distributions, not measured quotas. With `access=auto`, profile 25 uses read-only and profiles 50/75 use full-access. An explicitly saved `read-only` setting always takes priority. See the [routing guide](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.md) for how admission, evidence and feedback work.
|
|
154
|
+
|
|
155
|
+
## Isolation
|
|
156
|
+
|
|
157
|
+
Workers require the Linux OS sandbox. Full-access work runs in an owned development copy with restricted filesystem and network access. The coordinator retains architecture, security decisions, final verification and integration.
|
|
158
|
+
|
|
159
|
+
Read-only and full-access workers have different isolation boundaries; see [Hardening](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md) for the exact filesystem, credential and network rules.
|
|
160
|
+
|
|
161
|
+
## Diagnostics
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
deepseek-team doctor --runtime codex --offline # local readiness; no key read
|
|
165
|
+
deepseek-team hooks status --runtime codex # whether managed hooks are installed
|
|
166
|
+
deepseek-team sandbox status # Bubblewrap and AppArmor backend
|
|
167
|
+
deepseek-team auth status # whether a saved key exists
|
|
168
|
+
```
|
|
169
|
+
|
|
170
|
+
These checks make no provider requests. Local readiness does not validate the key with DeepSeek; live worker requests use your DeepSeek API account.
|
|
171
|
+
|
|
172
|
+
## Update and uninstall
|
|
173
|
+
|
|
174
|
+
Upgrade the released package through the same manager, then re-run the local setup steps:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
pipx upgrade deepseek-team
|
|
178
|
+
deepseek-team setup --runtime codex --no-key
|
|
179
|
+
cd /path/to/project
|
|
180
|
+
deepseek-team init --coordinator codex .
|
|
181
|
+
deepseek-team doctor --runtime codex --offline
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Run `init` for each attached project to refresh its managed instructions; your own instruction text and saved preferences are preserved. With uv, use `uv tool upgrade deepseek-team`. In a virtual environment, use its `python -m pip install --upgrade deepseek-team`. Keep one install channel per machine; a local-clone pipx installation is refreshed with `pipx install --force .` from the updated clone.
|
|
185
|
+
|
|
186
|
+
To remove DeepSeek Team, detach each project before uninstalling. If you also want to delete the saved DeepSeek key, run `deepseek-team auth remove` while the command is still installed.
|
|
187
|
+
|
|
188
|
+
```bash
|
|
189
|
+
deepseek-team detach --coordinator codex /path/to/project # for each attached project
|
|
190
|
+
deepseek-team reset --runtime codex # remove managed integration
|
|
191
|
+
pipx uninstall deepseek-team
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
`detach` preserves your own instruction content, and `reset` removes only the package-owned provider block and hooks; your primary authentication and unrelated configuration are kept. Saved keys are **not** deleted by uninstall. For uv use `uv tool uninstall deepseek-team`; for a venv use its `python -m pip uninstall deepseek-team`. Substitute `claude` or `both` for `codex` wherever your runtime differs.
|
|
195
|
+
|
|
196
|
+
## Further reading
|
|
197
|
+
|
|
198
|
+
- [Routing guide](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.md) - admission, evidence and feedback.
|
|
199
|
+
- [Hardening](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md) - coordinator and worker boundaries.
|
|
200
|
+
- [Publishing](https://github.com/kirill31337/deepseek-team/blob/main/docs/PUBLISHING.md) - release-maintainer details.
|
|
201
|
+
- [0.8.1 release notes](https://github.com/kirill31337/deepseek-team/blob/main/docs/releases/0.8.1.md)
|
|
202
|
+
- Russian README: [README.ru.md](https://github.com/kirill31337/deepseek-team/blob/main/README.ru.md)
|
|
203
|
+
|
|
204
|
+
## License
|
|
205
|
+
|
|
206
|
+
[MIT](https://github.com/kirill31337/deepseek-team/blob/main/LICENSE), copyright 2026 kirill31337.
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# DeepSeek Team
|
|
4
|
+
|
|
5
|
+
**English** | [Русский](https://github.com/kirill31337/deepseek-team/blob/main/README.ru.md)
|
|
6
|
+
|
|
7
|
+
DeepSeek Team lets **Codex and Claude Code** delegate implementation, tests, documentation and research to isolated **DeepSeek workers**. The coordinator plans the work, reviews the results and integrates accepted changes. Workers handle independent tasks; full-access jobs use their own development copies.
|
|
8
|
+
|
|
9
|
+
Workers always run the `deepseek-flash` model. Effort policy is `auto`, so the coordinator chooses `low`, `medium` or `high` for each assignment unless you save a fixed level. Live delegation needs its own **DeepSeek API key**; DeepSeek Team does not reuse the credentials your coordinator already has.
|
|
10
|
+
|
|
11
|
+
This README describes version **0.8.1** of the `deepseek-team` package, which installs the single `deepseek-team` executable.
|
|
12
|
+
|
|
13
|
+
## Prerequisites
|
|
14
|
+
|
|
15
|
+
- **Linux.** Native Windows and macOS are not supported.
|
|
16
|
+
- **Python 3.11 or newer** and **Git** on `PATH`.
|
|
17
|
+
- **Codex CLI and/or Claude Code CLI** on `PATH`, normally configured. Install whichever coordinator you intend to use; `both` covers both.
|
|
18
|
+
- **Bubblewrap** (`bwrap`) and a working Linux OS sandbox. Every worker needs it before any credential is read, and it cannot be turned off.
|
|
19
|
+
|
|
20
|
+
On Ubuntu, `setup --with-sandbox` can install the required system components (see below). On other distributions, install Bubblewrap and any AppArmor prerequisites with your own package manager first, then check `deepseek-team sandbox status`.
|
|
21
|
+
|
|
22
|
+
## Install
|
|
23
|
+
|
|
24
|
+
Version 0.8.1 is published on [PyPI](https://pypi.org/project/deepseek-team/), so install the released package by name. [pipx](https://pipx.pypa.io/latest/how-to/install-pipx.html) keeps the CLI in its own environment and is the recommended route:
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
sudo apt-get install pipx # Ubuntu, once
|
|
28
|
+
pipx ensurepath
|
|
29
|
+
# Open a new terminal so PATH is refreshed.
|
|
30
|
+
pipx install deepseek-team
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Compact alternatives, if you already prefer another manager:
|
|
34
|
+
|
|
35
|
+
```bash
|
|
36
|
+
# uv
|
|
37
|
+
uv tool install deepseek-team
|
|
38
|
+
|
|
39
|
+
# pip inside a virtual environment only
|
|
40
|
+
python3 -m venv ~/venvs/deepseek-team
|
|
41
|
+
. ~/venvs/deepseek-team/bin/activate
|
|
42
|
+
python -m pip install deepseek-team
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
To install from a local checkout instead:
|
|
46
|
+
|
|
47
|
+
```bash
|
|
48
|
+
git clone https://github.com/kirill31337/deepseek-team.git
|
|
49
|
+
cd deepseek-team
|
|
50
|
+
pipx install .
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## Quick start
|
|
54
|
+
|
|
55
|
+
`setup` prepares your user-level integration. `init` then attaches the Git project where you want to use delegation.
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
# 1. Prepare the user-level integration for Codex. --no-key defers the credential.
|
|
59
|
+
deepseek-team setup --runtime codex --no-key
|
|
60
|
+
|
|
61
|
+
# 2. Store the DeepSeek API key. The prompt is hidden; the key is never echoed.
|
|
62
|
+
deepseek-team auth set
|
|
63
|
+
|
|
64
|
+
# 3. Attach a project so its coordinator reads the delegation instructions.
|
|
65
|
+
cd /path/to/project
|
|
66
|
+
deepseek-team init --coordinator codex .
|
|
67
|
+
|
|
68
|
+
# 4. Optional: allow implementation inside an isolated development copy.
|
|
69
|
+
deepseek-team config set --project --access full-access
|
|
70
|
+
|
|
71
|
+
# 5. Confirm local readiness. This stays offline: no key is read and no request is sent.
|
|
72
|
+
deepseek-team doctor --runtime codex --offline
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
A few notes:
|
|
76
|
+
|
|
77
|
+
- `--no-key` deliberately defers authentication so `setup` never prompts for or reads a secret. Store the key separately with `deepseek-team auth set`, or omit `--no-key` on a terminal when you are ready.
|
|
78
|
+
- Fresh access defaults are **read-only**. Step 4 lets Auto delegate implementation by explicitly granting write access. Full-access means a private, owned development copy, not the host system.
|
|
79
|
+
- On Ubuntu, the very first setup may need to install the sandbox package and a named AppArmor profile. Use `deepseek-team setup --runtime codex --with-sandbox --no-key` for that explicit, administrator-authorized step. Ordinary setup never invokes `sudo`; on other distributions install the system prerequisites yourself.
|
|
80
|
+
- For Claude Code, substitute `claude` for `codex` in `--runtime` and `--coordinator`, or pass `both` to prepare both coordinators.
|
|
81
|
+
- Codex owns native hook trust: review and trust the installed hook once with `/hooks`. In Claude Code, start a fresh session and check `/hooks` there.
|
|
82
|
+
|
|
83
|
+
## What gets delegated
|
|
84
|
+
|
|
85
|
+
Auto delegation admits suitable work immediately; it does not wait for prior history to accumulate. A task is a good candidate when it is:
|
|
86
|
+
|
|
87
|
+
- small or medium, with low or medium risk;
|
|
88
|
+
- localized to a known or partially known place, with local or component-level coupling;
|
|
89
|
+
- clear about acceptance, with a way to check the result.
|
|
90
|
+
|
|
91
|
+
Implementation needs an executable check - tests, a build or a reproducer. Review, research and documentation tasks may use manual acceptance criteria instead. Unknown costs never block eligible work, and the coordinator keeps anything whose measured economics do not justify delegation.
|
|
92
|
+
|
|
93
|
+
The coordinator records what actually happened after reviewing the real diff and the declared checks. One rework is recorded without pausing anything; a rejection, or three distinct recent reworks, pauses only that task family for 300 seconds. Failed implementation is never retried automatically.
|
|
94
|
+
|
|
95
|
+
Access is independent of effort and history:
|
|
96
|
+
|
|
97
|
+
- **Read-only** (fresh default): workers inspect and report, and cannot modify the project.
|
|
98
|
+
- **Full-access** (explicit): workers implement, run local checks and write documentation inside an isolated copy owned by the job.
|
|
99
|
+
|
|
100
|
+
Workers never commit, push, publish, deploy, touch production services or spawn further agents. Those remain coordinator actions.
|
|
101
|
+
|
|
102
|
+
## Asking for help in a session
|
|
103
|
+
|
|
104
|
+
Once setup and attachment are done, you do not run workers by hand. Ask in your normal coordinator session, in plain language:
|
|
105
|
+
|
|
106
|
+
> Implement the new cache layer under `src/cache/`. Delegate the independent implementation and its tests to DeepSeek workers, run the test suite inside the worker copies, and integrate only what you have verified. Keep the public API stable and show me the final diff before you commit.
|
|
107
|
+
|
|
108
|
+
The coordinator splits that into bounded assignments, runs them through the worker queue and reports the accepted work.
|
|
109
|
+
|
|
110
|
+
Final-summary guidance ships with the package for both Codex and Claude Code. While DeepSeek Team is enabled, summaries of performed work include short bullets separating the coordinator's personal work from accepted DeepSeek results, including any rework or failed attempts. They cover the reported task across turns; native subagents are credited separately, and no delegation is stated explicitly.
|
|
111
|
+
|
|
112
|
+
After the list comes an approximate coordinator/DeepSeek split in whole-number percentages totaling 100, labelled **“subjective estimate, not measured.”** It reflects accepted scope, complexity, review and rework, never counts of calls, tasks, files, lines, tokens, time or bullets, and never the configured 25/50/75 target or claimed savings. Without accepted worker work the split is 100/0; if evidence is insufficient, the estimate is unavailable. Status-only and no-work replies need no report, and `off` disables the requirement. Updating the package refreshes hook guidance; refresh existing project instructions with `deepseek-team init --coordinator both /path/to/project` (use `codex` or `claude` for a single coordinator).
|
|
113
|
+
|
|
114
|
+
## Current defaults
|
|
115
|
+
|
|
116
|
+
| Setting | Current default | Notes |
|
|
117
|
+
| --- | --- | --- |
|
|
118
|
+
| Delegation | `auto` | Chooses the executor per task; no fixed quota. |
|
|
119
|
+
| Access | `auto` -> read-only in Auto | Full-access enables isolated implementation. |
|
|
120
|
+
| Model | `deepseek-flash` | Fixed for all workers. |
|
|
121
|
+
| Effort | `auto` | Coordinator picks `low`/`medium`/`high` per assignment. |
|
|
122
|
+
| Workers | `8` | Configurable 1-64; further jobs queue FIFO. |
|
|
123
|
+
| Total timeout | unlimited | An explicit timeout also includes queue time. |
|
|
124
|
+
|
|
125
|
+
Inspect or change the settings per project:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
deepseek-team config show --effective
|
|
129
|
+
deepseek-team config set --project --max-workers 8
|
|
130
|
+
deepseek-team on # enable delegation for this project
|
|
131
|
+
deepseek-team off # disable it without deleting settings
|
|
132
|
+
deepseek-team status # show the saved and effective state
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
The optional manual **25/50/75** profiles are target distributions, not measured quotas. With `access=auto`, profile 25 uses read-only and profiles 50/75 use full-access. An explicitly saved `read-only` setting always takes priority. See the [routing guide](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.md) for how admission, evidence and feedback work.
|
|
136
|
+
|
|
137
|
+
## Isolation
|
|
138
|
+
|
|
139
|
+
Workers require the Linux OS sandbox. Full-access work runs in an owned development copy with restricted filesystem and network access. The coordinator retains architecture, security decisions, final verification and integration.
|
|
140
|
+
|
|
141
|
+
Read-only and full-access workers have different isolation boundaries; see [Hardening](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md) for the exact filesystem, credential and network rules.
|
|
142
|
+
|
|
143
|
+
## Diagnostics
|
|
144
|
+
|
|
145
|
+
```bash
|
|
146
|
+
deepseek-team doctor --runtime codex --offline # local readiness; no key read
|
|
147
|
+
deepseek-team hooks status --runtime codex # whether managed hooks are installed
|
|
148
|
+
deepseek-team sandbox status # Bubblewrap and AppArmor backend
|
|
149
|
+
deepseek-team auth status # whether a saved key exists
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
These checks make no provider requests. Local readiness does not validate the key with DeepSeek; live worker requests use your DeepSeek API account.
|
|
153
|
+
|
|
154
|
+
## Update and uninstall
|
|
155
|
+
|
|
156
|
+
Upgrade the released package through the same manager, then re-run the local setup steps:
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
pipx upgrade deepseek-team
|
|
160
|
+
deepseek-team setup --runtime codex --no-key
|
|
161
|
+
cd /path/to/project
|
|
162
|
+
deepseek-team init --coordinator codex .
|
|
163
|
+
deepseek-team doctor --runtime codex --offline
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Run `init` for each attached project to refresh its managed instructions; your own instruction text and saved preferences are preserved. With uv, use `uv tool upgrade deepseek-team`. In a virtual environment, use its `python -m pip install --upgrade deepseek-team`. Keep one install channel per machine; a local-clone pipx installation is refreshed with `pipx install --force .` from the updated clone.
|
|
167
|
+
|
|
168
|
+
To remove DeepSeek Team, detach each project before uninstalling. If you also want to delete the saved DeepSeek key, run `deepseek-team auth remove` while the command is still installed.
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
deepseek-team detach --coordinator codex /path/to/project # for each attached project
|
|
172
|
+
deepseek-team reset --runtime codex # remove managed integration
|
|
173
|
+
pipx uninstall deepseek-team
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
`detach` preserves your own instruction content, and `reset` removes only the package-owned provider block and hooks; your primary authentication and unrelated configuration are kept. Saved keys are **not** deleted by uninstall. For uv use `uv tool uninstall deepseek-team`; for a venv use its `python -m pip uninstall deepseek-team`. Substitute `claude` or `both` for `codex` wherever your runtime differs.
|
|
177
|
+
|
|
178
|
+
## Further reading
|
|
179
|
+
|
|
180
|
+
- [Routing guide](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.md) - admission, evidence and feedback.
|
|
181
|
+
- [Hardening](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md) - coordinator and worker boundaries.
|
|
182
|
+
- [Publishing](https://github.com/kirill31337/deepseek-team/blob/main/docs/PUBLISHING.md) - release-maintainer details.
|
|
183
|
+
- [0.8.1 release notes](https://github.com/kirill31337/deepseek-team/blob/main/docs/releases/0.8.1.md)
|
|
184
|
+
- Russian README: [README.ru.md](https://github.com/kirill31337/deepseek-team/blob/main/README.ru.md)
|
|
185
|
+
|
|
186
|
+
## License
|
|
187
|
+
|
|
188
|
+
[MIT](https://github.com/kirill31337/deepseek-team/blob/main/LICENSE), copyright 2026 kirill31337.
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+

|
|
2
|
+
|
|
3
|
+
# DeepSeek Team
|
|
4
|
+
|
|
5
|
+
[English](https://github.com/kirill31337/deepseek-team/blob/main/README.md) | **Русский**
|
|
6
|
+
|
|
7
|
+
DeepSeek Team — пакет для Linux, который подключает координаторов **Codex и/или Claude Code** к изолированным воркерам DeepSeek. Координатор распределяет работу, проверяет результат и вносит принятые изменения в основной проект. Воркеры DeepSeek выполняют отдельные порученные задачи: исследование, ревью, а в режиме записи — реализацию, локальные тесты и документацию. Дистрибутив называется `deepseek-team`, единственная запускаемая команда — `deepseek-team`.
|
|
8
|
+
|
|
9
|
+
Это руководство для версии **0.8.1**. Воркеры используют модель `deepseek-flash`; глубину рассуждений (`effort`) выбирает координатор. Для работы нужен отдельный ключ DeepSeek API.
|
|
10
|
+
|
|
11
|
+
Права воркеров выбираются отдельно. Свежая установка работает в профиле Auto с доступом **только для чтения**: воркер исследует и проверяет код, но не изменяет файлы. Чтобы разрешить реализацию в отдельной копии проекта, нужно явно выбрать `full-access` (см. ниже). Установка сама по себе права записи не даёт.
|
|
12
|
+
|
|
13
|
+
## Требования
|
|
14
|
+
|
|
15
|
+
- Linux. Поддержка Windows и macOS не заявляется.
|
|
16
|
+
- Python 3.11 или новее.
|
|
17
|
+
- Git.
|
|
18
|
+
- Codex CLI и/или Claude Code CLI, уже установленные в `PATH` и настроенные обычным образом.
|
|
19
|
+
- Bubblewrap (песочница обязательна, её нельзя отключить). В Ubuntu первый `setup` может установить пакет и профиль AppArmor через `--with-sandbox`.
|
|
20
|
+
|
|
21
|
+
Версия 0.8.1 опубликована в [PyPI](https://pypi.org/project/deepseek-team/), поэтому установка выполняется по имени пакета.
|
|
22
|
+
|
|
23
|
+
## Возможности
|
|
24
|
+
|
|
25
|
+
- **Автоматическое делегирование.** Auto сразу допускает подходящую ограниченную работу, не ожидая истории, и учится на принятых результатах, доработках и отклонениях.
|
|
26
|
+
- **Ручные профили.** Профили 25/50/75 задают целевой ориентир распределения, если нужен предсказуемый режим.
|
|
27
|
+
- **Отдельные права.** `read-only` и `full-access` выбираются независимо от профиля делегирования.
|
|
28
|
+
- **Изолированные копии.** Каждое задание с записью получает собственную копию проекта.
|
|
29
|
+
- **Очередь и параллелизм.** До 8 воркеров одновременно (от 1 до 64), лишние запуски ждут в очереди FIFO.
|
|
30
|
+
- **Общий ключ.** Codex и Claude Code используют один приватный ключ DeepSeek.
|
|
31
|
+
- **Один переключатель.** `on`/`off` включают и выключают делегирование в проекте для обоих координаторов.
|
|
32
|
+
|
|
33
|
+
## Установка и первый запуск
|
|
34
|
+
|
|
35
|
+
Основной способ — `pipx`; пакет ставится по имени из PyPI:
|
|
36
|
+
|
|
37
|
+
```bash
|
|
38
|
+
# Ubuntu: pipx устанавливается один раз
|
|
39
|
+
sudo apt-get install pipx
|
|
40
|
+
pipx ensurepath # затем открыть новый терминал
|
|
41
|
+
pipx install deepseek-team
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
Компактные альтернативы:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# uv
|
|
48
|
+
uv tool install deepseek-team
|
|
49
|
+
|
|
50
|
+
# venv + pip (только внутри виртуального окружения)
|
|
51
|
+
python3 -m venv ~/venvs/deepseek-team
|
|
52
|
+
. ~/venvs/deepseek-team/bin/activate
|
|
53
|
+
python -m pip install deepseek-team
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Установка из локальной копии репозитория:
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
git clone https://github.com/kirill31337/deepseek-team.git
|
|
60
|
+
cd deepseek-team
|
|
61
|
+
pipx install .
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Не используйте `sudo pip` и не устанавливайте пакет в системное окружение Python.
|
|
65
|
+
|
|
66
|
+
### Подготовка и подключение проекта
|
|
67
|
+
|
|
68
|
+
Шаги ниже выполняются один раз; нужный проект подключается по его пути.
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
deepseek-team setup --runtime codex --no-key
|
|
72
|
+
deepseek-team auth set
|
|
73
|
+
cd /path/to/project
|
|
74
|
+
deepseek-team init --coordinator codex .
|
|
75
|
+
deepseek-team config set --project --access full-access # необязательно
|
|
76
|
+
deepseek-team doctor --runtime codex --offline
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
Что делает каждый шаг:
|
|
80
|
+
|
|
81
|
+
- `setup --no-key` проверяет готовность (Git, доступность команд, песочницу) и не читает и не запрашивает ключ.
|
|
82
|
+
- `auth set` запрашивает ключ DeepSeek скрытым вводом и сохраняет его только для вашего пользователя. Отдельный ключ DeepSeek нужен для реальной работы.
|
|
83
|
+
- `init --coordinator codex .` подключает текущий каталог как проект.
|
|
84
|
+
- `config set --project --access full-access` — **необязательная** команда. Её выполняют только если нужно разрешить воркерам реализацию и тесты в изолированной копии. В свежем профиле Auto без неё доступ остаётся read-only.
|
|
85
|
+
- `doctor --runtime codex --offline` выполняет локальные проверки без сети и без платных запросов.
|
|
86
|
+
|
|
87
|
+
В Ubuntu при первой настройке может потребоваться `deepseek-team setup --runtime codex --with-sandbox --no-key`: эта команда явно разрешает установить пакет и именованный профиль AppArmor. Обычный `setup` никогда не вызывает `sudo` — при нехватке компонентов он лишь сообщает, что нужно установить. На других дистрибутивах Linux установите системные компоненты (например, Bubblewrap) заранее.
|
|
88
|
+
|
|
89
|
+
Для Claude Code замените `codex` на `claude` в параметрах (`--runtime claude`, `--coordinator claude`), а для обоих координаторов укажите `both`. В Codex откройте `/hooks`, проверьте установленный хук и подтвердите доверие к нему. В Claude Code начните новую сессию и проверьте `/hooks`. Пакет не может подтвердить доверие вместо вас.
|
|
90
|
+
|
|
91
|
+
## Делегирование и текущие настройки
|
|
92
|
+
|
|
93
|
+
По умолчанию действует профиль **Auto** с `effort=auto`. Он сразу допускает подходящую ограниченную работу, не ожидая накопления истории: небольшие и средние задачи с низким или средним риском, известной или частично известной локализацией, связями внутри участка или компонента, ясными требованиями и указанными проверками. Реализация требует исполняемых проверок и доступа `full-access`; для ревью, исследования и документации достаточно явных критериев приёмки.
|
|
94
|
+
|
|
95
|
+
Значения `effort` для воркера: `low` — ограниченная или механическая работа, `medium` — обычный случай, `high` — сложная отладка, рассуждения по нескольким файлам и требовательное независимое ревью. Пока действует `auto`, уровень выбирает координатор для каждого поручения.
|
|
96
|
+
|
|
97
|
+
Все подходящие независимые задачи можно регистрировать: количество параллельных воркеров ограничивает только `max_workers`. Занятые слоты не отменяют назначение — лишние запуски встают в очередь FIFO. По умолчанию одновременно работают не более 8 воркеров (настраивается от 1 до 64), общего ограничения по времени нет. Явно заданный таймаут включает время ожидания в очереди.
|
|
98
|
+
|
|
99
|
+
Неизвестная стоимость не мешает назначению; измеренная невыгодность может оставить задачу за координатором. Одна доработка учитывается без паузы. Отклонение результата или три разных случая доработки за окно наблюдения приостанавливают только соответствующее семейство задач на 300 секунд по умолчанию. Неудачная реализация автоматически не повторяется.
|
|
100
|
+
|
|
101
|
+
### Права доступа
|
|
102
|
+
|
|
103
|
+
- `read-only` — режим по умолчанию для свежего Auto: воркер читает и анализирует, но не пишет.
|
|
104
|
+
- `full-access` — разрешает изменения в рабочей копии; включается настройкой доступа или ручным профилем 50/75 при `access=auto`. Это доступ на разработку **в принадлежащей воркеру изолированной копии проекта**, а не доступ ко всему хосту. Воркер изменяет свою копию; координатор проверяет и переносит принятые изменения в основной проект.
|
|
105
|
+
|
|
106
|
+
### Ключевые параметры
|
|
107
|
+
|
|
108
|
+
| Параметр | По умолчанию | Смысл |
|
|
109
|
+
| --- | --- | --- |
|
|
110
|
+
| Профиль делегирования | Auto | Адаптивный выбор исполнителя по задаче |
|
|
111
|
+
| Права доступа | read-only | `full-access` — только по явному выбору |
|
|
112
|
+
| Модель воркеров | `deepseek-flash` | Всегда, без выбора |
|
|
113
|
+
| `effort` | `auto` | Координатор выбирает `low`/`medium`/`high` |
|
|
114
|
+
| Параллелизм | 8 (от 1 до 64) | Лишние задачи ждут в очереди FIFO |
|
|
115
|
+
| Общий таймаут | без ограничения | Явный таймаут включает время в очереди |
|
|
116
|
+
|
|
117
|
+
Ручные профили **25/50/75** остаются поддерживаемыми необязательными целевыми ориентирами распределения работы. Это не измеряемые квоты на токены, время или строки кода. Если вы уже сохранили такой профиль, он имеет приоритет над Auto. При `access=auto` профиль 25 использует read-only, а 50/75 — full-access. Явно сохранённый `read-only` всегда имеет приоритет. Подробнее: [руководство по маршрутизации](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.ru.md).
|
|
118
|
+
|
|
119
|
+
## Пример задания координатору
|
|
120
|
+
|
|
121
|
+
В обычной сессии координатора достаточно описать задачу словами и попросить передать независимую работу воркерам:
|
|
122
|
+
|
|
123
|
+
> Делегируй независимую реализацию этой задачи и её тесты воркерам DeepSeek, затем сам проверь и интегрируй принятые изменения в основной проект.
|
|
124
|
+
|
|
125
|
+
Координатор определит объём, разобьёт работу на независимые части, запустит воркеров и проверит полученный результат.
|
|
126
|
+
|
|
127
|
+
Инструкция для итоговой сводки входит в устанавливаемый пакет для Codex и Claude Code. При включённом DeepSeek Team сводка выполненной работы содержит короткие пункты: что координатор сделал лично, что принято от DeepSeek и какие потребовались доработки или были сбои. Учитывается вся описываемая задача, включая предыдущие сообщения. Работа собственных субагентов указывается отдельно; если делегирования не было, это прямо отмечается.
|
|
128
|
+
|
|
129
|
+
После списка идёт приблизительное соотношение координатор/DeepSeek в целых процентах с суммой 100 и пометкой **«субъективная оценка, не измерение»**. Оно учитывает принятый объём, сложность, проверку и доработки; его не выводят из количества вызовов, задач, файлов, строк, токенов, времени или пунктов и не подменяют профилем 25/50/75 либо оценкой экономии. Без принятого вклада DeepSeek соотношение — 100/0; если данных недостаточно, оценка недоступна. Для ответов только о статусе и без выполненной работы сводка не нужна; `off` отключает требование. Обновление пакета обновляет контекст хуков; инструкции уже подключённого проекта обновляются командой `deepseek-team init --coordinator both /path/to/project` (для одного координатора укажите `codex` или `claude`).
|
|
130
|
+
|
|
131
|
+
## Полезные команды
|
|
132
|
+
|
|
133
|
+
Диагностика:
|
|
134
|
+
|
|
135
|
+
```bash
|
|
136
|
+
deepseek-team doctor --runtime codex --offline # локальные проверки, без сети
|
|
137
|
+
deepseek-team hooks status --runtime codex
|
|
138
|
+
deepseek-team sandbox status
|
|
139
|
+
deepseek-team auth status # только наличие ключа
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
Настройки и включение:
|
|
143
|
+
|
|
144
|
+
```bash
|
|
145
|
+
deepseek-team config show --effective # эффективные значения и их источник
|
|
146
|
+
deepseek-team config set --project --max-workers 8
|
|
147
|
+
deepseek-team on # включить новые задания в проекте
|
|
148
|
+
deepseek-team off # отключить новые задания
|
|
149
|
+
deepseek-team status # текущее состояние
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
`on`/`off`/`status` работают из каталога проекта или принимают путь. Состояние сохраняется для вашего пользователя, не попадает в Git и не меняет ключи или файлы инструкций.
|
|
153
|
+
|
|
154
|
+
## Изоляция
|
|
155
|
+
|
|
156
|
+
Воркеры работают с обязательной OS-изоляцией. Задания с записью выполняются в собственных копиях проекта с ограниченным доступом к файловой системе и сети. Архитектура, решения по безопасности, итоговая проверка, интеграция и публикация остаются за координатором. Воркеры не коммитят, не публикуют и не запускают других агентов.
|
|
157
|
+
|
|
158
|
+
У режимов чтения и разработки разные границы изоляции. Правила доступа к файлам, ключам и сети описаны в [руководстве по изоляции](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md).
|
|
159
|
+
|
|
160
|
+
## Обновление и удаление
|
|
161
|
+
|
|
162
|
+
Обновление выполняется через тот же менеджер пакетов:
|
|
163
|
+
|
|
164
|
+
```bash
|
|
165
|
+
pipx upgrade deepseek-team
|
|
166
|
+
deepseek-team setup --runtime codex --no-key
|
|
167
|
+
cd /path/to/project
|
|
168
|
+
deepseek-team init --coordinator codex .
|
|
169
|
+
deepseek-team doctor --runtime codex --offline
|
|
170
|
+
```
|
|
171
|
+
|
|
172
|
+
Повторите `init` в каждом подключённом проекте, чтобы обновить управляемые инструкции. Ваш собственный текст и сохранённые настройки сохраняются. Для uv используйте `uv tool upgrade deepseek-team`; в venv — его `python -m pip install --upgrade deepseek-team`. Держите на машине один канал установки; установку pipx из локального клона обновляют командой `pipx install --force .` из обновлённого клона.
|
|
173
|
+
|
|
174
|
+
Если нужно удалить и сохранённый ключ DeepSeek, выполните `deepseek-team auth remove` до удаления пакета.
|
|
175
|
+
|
|
176
|
+
Удаление:
|
|
177
|
+
|
|
178
|
+
```bash
|
|
179
|
+
deepseek-team detach --coordinator codex /path/to/project # для подключённых проектов
|
|
180
|
+
deepseek-team reset --runtime codex # удаляет интеграцию пакета
|
|
181
|
+
pipx uninstall deepseek-team
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
Сначала отсоедините проекты командой `detach`, затем удалите принадлежащую пакету интеграцию командой `reset`, и только потом удаляйте сам пакет. `reset` не трогает ваши основные настройки и модель координатора. Сохранённый ключ DeepSeek при этом не удаляется. Для uv используйте `uv tool uninstall deepseek-team`, для venv — его `python -m pip uninstall deepseek-team`. Для Claude замените `codex` на `claude` или используйте `both`.
|
|
185
|
+
|
|
186
|
+
## Дополнительная документация
|
|
187
|
+
|
|
188
|
+
- [Руководство по маршрутизации](https://github.com/kirill31337/deepseek-team/blob/main/docs/ROUTING.ru.md)
|
|
189
|
+
- [docs/HARDENING.md](https://github.com/kirill31337/deepseek-team/blob/main/docs/HARDENING.md) — изоляция и границы безопасности
|
|
190
|
+
- [docs/PUBLISHING.md](https://github.com/kirill31337/deepseek-team/blob/main/docs/PUBLISHING.md) — выпуск для сопровождающих
|
|
191
|
+
- [docs/releases/0.8.1.md](https://github.com/kirill31337/deepseek-team/blob/main/docs/releases/0.8.1.md) — заметки о выпуске 0.8.1
|
|
192
|
+
|
|
193
|
+
## Лицензия
|
|
194
|
+
|
|
195
|
+
[MIT](https://github.com/kirill31337/deepseek-team/blob/main/LICENSE). Авторские права: kirill31337, 2026.
|