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.
Files changed (95) hide show
  1. deepseek_team-0.8.1/LICENSE +21 -0
  2. deepseek_team-0.8.1/MANIFEST.in +8 -0
  3. deepseek_team-0.8.1/PKG-INFO +206 -0
  4. deepseek_team-0.8.1/README.md +188 -0
  5. deepseek_team-0.8.1/README.ru.md +195 -0
  6. deepseek_team-0.8.1/docs/PUBLISHING.md +190 -0
  7. deepseek_team-0.8.1/docs/ROUTING.md +329 -0
  8. deepseek_team-0.8.1/docs/ROUTING.ru.md +330 -0
  9. deepseek_team-0.8.1/docs/releases/0.4.0.md +26 -0
  10. deepseek_team-0.8.1/docs/releases/0.5.0.md +57 -0
  11. deepseek_team-0.8.1/docs/releases/0.6.0.md +54 -0
  12. deepseek_team-0.8.1/docs/releases/0.7.0.md +55 -0
  13. deepseek_team-0.8.1/docs/releases/0.7.1.md +50 -0
  14. deepseek_team-0.8.1/docs/releases/0.8.0.md +16 -0
  15. deepseek_team-0.8.1/docs/releases/0.8.1.md +12 -0
  16. deepseek_team-0.8.1/pyproject.toml +34 -0
  17. deepseek_team-0.8.1/scripts/check_installation.py +349 -0
  18. deepseek_team-0.8.1/setup.cfg +4 -0
  19. deepseek_team-0.8.1/src/codex_deepseek_team/__init__.py +1 -0
  20. deepseek_team-0.8.1/src/codex_deepseek_team/__main__.py +3 -0
  21. deepseek_team-0.8.1/src/codex_deepseek_team/activation.py +106 -0
  22. deepseek_team-0.8.1/src/codex_deepseek_team/claude_config.py +147 -0
  23. deepseek_team-0.8.1/src/codex_deepseek_team/cli.py +219 -0
  24. deepseek_team-0.8.1/src/codex_deepseek_team/config.py +282 -0
  25. deepseek_team-0.8.1/src/codex_deepseek_team/coordination.py +947 -0
  26. deepseek_team-0.8.1/src/codex_deepseek_team/coordination_cli.py +107 -0
  27. deepseek_team-0.8.1/src/codex_deepseek_team/coordinator_hooks.py +251 -0
  28. deepseek_team-0.8.1/src/codex_deepseek_team/data/apparmor/deepseek-team-bwrap +10 -0
  29. deepseek_team-0.8.1/src/codex_deepseek_team/data/delegation.md +221 -0
  30. deepseek_team-0.8.1/src/codex_deepseek_team/delegation_cli.py +121 -0
  31. deepseek_team-0.8.1/src/codex_deepseek_team/development.py +248 -0
  32. deepseek_team-0.8.1/src/codex_deepseek_team/doctor.py +310 -0
  33. deepseek_team-0.8.1/src/codex_deepseek_team/managed.py +188 -0
  34. deepseek_team-0.8.1/src/codex_deepseek_team/onboarding.py +134 -0
  35. deepseek_team-0.8.1/src/codex_deepseek_team/project.py +229 -0
  36. deepseek_team-0.8.1/src/codex_deepseek_team/relay.py +164 -0
  37. deepseek_team-0.8.1/src/codex_deepseek_team/routing.py +273 -0
  38. deepseek_team-0.8.1/src/codex_deepseek_team/routing_admission.py +264 -0
  39. deepseek_team-0.8.1/src/codex_deepseek_team/routing_budget.py +313 -0
  40. deepseek_team-0.8.1/src/codex_deepseek_team/routing_cli.py +241 -0
  41. deepseek_team-0.8.1/src/codex_deepseek_team/routing_estimator.py +511 -0
  42. deepseek_team-0.8.1/src/codex_deepseek_team/routing_models.py +155 -0
  43. deepseek_team-0.8.1/src/codex_deepseek_team/routing_sources.py +340 -0
  44. deepseek_team-0.8.1/src/codex_deepseek_team/routing_store.py +216 -0
  45. deepseek_team-0.8.1/src/codex_deepseek_team/sandbox.py +360 -0
  46. deepseek_team-0.8.1/src/codex_deepseek_team/settings.py +450 -0
  47. deepseek_team-0.8.1/src/codex_deepseek_team/shell_mutation.py +397 -0
  48. deepseek_team-0.8.1/src/codex_deepseek_team/worker.py +501 -0
  49. deepseek_team-0.8.1/src/codex_deepseek_team/worker_admission.py +89 -0
  50. deepseek_team-0.8.1/src/codex_deepseek_team/worker_slots.py +314 -0
  51. deepseek_team-0.8.1/src/codex_deepseek_team/workspace.py +362 -0
  52. deepseek_team-0.8.1/src/deepseek_team.egg-info/PKG-INFO +206 -0
  53. deepseek_team-0.8.1/src/deepseek_team.egg-info/SOURCES.txt +93 -0
  54. deepseek_team-0.8.1/src/deepseek_team.egg-info/dependency_links.txt +1 -0
  55. deepseek_team-0.8.1/src/deepseek_team.egg-info/entry_points.txt +2 -0
  56. deepseek_team-0.8.1/src/deepseek_team.egg-info/top_level.txt +1 -0
  57. deepseek_team-0.8.1/tests/test_activation.py +248 -0
  58. deepseek_team-0.8.1/tests/test_claude_coordination_integration.py +170 -0
  59. deepseek_team-0.8.1/tests/test_claude_hooks.py +298 -0
  60. deepseek_team-0.8.1/tests/test_claude_runtime.py +146 -0
  61. deepseek_team-0.8.1/tests/test_cli.py +82 -0
  62. deepseek_team-0.8.1/tests/test_codex_coordination_integration.py +269 -0
  63. deepseek_team-0.8.1/tests/test_codex_deepseek_checks.py +172 -0
  64. deepseek_team-0.8.1/tests/test_codex_deepseek_protocol.py +105 -0
  65. deepseek_team-0.8.1/tests/test_codex_deepseek_worker.py +430 -0
  66. deepseek_team-0.8.1/tests/test_config.py +127 -0
  67. deepseek_team-0.8.1/tests/test_coordination.py +570 -0
  68. deepseek_team-0.8.1/tests/test_coordination_outcomes.py +249 -0
  69. deepseek_team-0.8.1/tests/test_coordinators.py +71 -0
  70. deepseek_team-0.8.1/tests/test_delegation_profiles.py +428 -0
  71. deepseek_team-0.8.1/tests/test_final_reporting.py +150 -0
  72. deepseek_team-0.8.1/tests/test_immediate_delegation.py +153 -0
  73. deepseek_team-0.8.1/tests/test_installation_check.py +143 -0
  74. deepseek_team-0.8.1/tests/test_lifecycle_regressions.py +167 -0
  75. deepseek_team-0.8.1/tests/test_live_delegation.py +508 -0
  76. deepseek_team-0.8.1/tests/test_onboarding.py +214 -0
  77. deepseek_team-0.8.1/tests/test_project.py +195 -0
  78. deepseek_team-0.8.1/tests/test_routing_admission.py +299 -0
  79. deepseek_team-0.8.1/tests/test_routing_budget.py +660 -0
  80. deepseek_team-0.8.1/tests/test_routing_cli.py +422 -0
  81. deepseek_team-0.8.1/tests/test_routing_estimator.py +538 -0
  82. deepseek_team-0.8.1/tests/test_routing_integration.py +549 -0
  83. deepseek_team-0.8.1/tests/test_routing_models.py +48 -0
  84. deepseek_team-0.8.1/tests/test_routing_service.py +118 -0
  85. deepseek_team-0.8.1/tests/test_routing_sources.py +386 -0
  86. deepseek_team-0.8.1/tests/test_routing_store.py +112 -0
  87. deepseek_team-0.8.1/tests/test_sandbox.py +288 -0
  88. deepseek_team-0.8.1/tests/test_sandbox_cli.py +108 -0
  89. deepseek_team-0.8.1/tests/test_shell_mutation.py +194 -0
  90. deepseek_team-0.8.1/tests/test_single_path.py +56 -0
  91. deepseek_team-0.8.1/tests/test_universal_cli.py +154 -0
  92. deepseek_team-0.8.1/tests/test_worker_configuration.py +118 -0
  93. deepseek_team-0.8.1/tests/test_worker_hardening.py +107 -0
  94. deepseek_team-0.8.1/tests/test_worker_os_sandbox.py +123 -0
  95. 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
+ ![DeepSeek Team banner](https://raw.githubusercontent.com/kirill31337/deepseek-team/main/assets/deepseek-team-banner-4b37ec05.jpg)
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
+ ![DeepSeek Team banner](https://raw.githubusercontent.com/kirill31337/deepseek-team/main/assets/deepseek-team-banner-4b37ec05.jpg)
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
+ ![DeepSeek Team banner](https://raw.githubusercontent.com/kirill31337/deepseek-team/main/assets/deepseek-team-banner-4b37ec05.jpg)
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.