seedcode-cli 6.2.5__tar.gz → 7.2.5__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 (149) hide show
  1. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/.gitignore +2 -1
  2. seedcode_cli-7.2.5/LICENSE +82 -0
  3. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/PKG-INFO +268 -53
  4. seedcode_cli-7.2.5/README.md +623 -0
  5. seedcode_cli-7.2.5/npm/LICENSE +82 -0
  6. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/npm/README.md +9 -4
  7. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/pyproject.toml +6 -3
  8. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/scripts/windows/README.md +7 -6
  9. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/__init__.py +5 -2
  10. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/_default_key_template.py +1 -1
  11. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/app.py +534 -52
  12. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/branding.py +5 -4
  13. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/codemode.py +48 -8
  14. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/__init__.py +19 -1
  15. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/about.py +10 -1
  16. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/agent.py +2 -1
  17. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/assist.py +2 -1
  18. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/chat.py +3 -3
  19. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/codemode.py +10 -1
  20. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/desktop.py +2 -1
  21. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/mode.py +3 -1
  22. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/provider.py +281 -18
  23. seedcode_cli-7.2.5/seedcode/commands/session.py +137 -0
  24. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/status.py +47 -4
  25. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser.py +15 -2
  26. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_engine.py +23 -3
  27. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/controller.py +16 -3
  28. seedcode_cli-7.2.5/seedcode/computer/lifecycle_guard.py +173 -0
  29. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/windows.py +13 -1
  30. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/agent.py +239 -19
  31. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/chat.py +88 -11
  32. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/models.py +274 -9
  33. seedcode_cli-7.2.5/seedcode/core/providers/__init__.py +169 -0
  34. seedcode_cli-7.2.5/seedcode/core/providers/custom.py +159 -0
  35. seedcode_cli-7.2.5/seedcode/core/providers/failover.py +102 -0
  36. seedcode_cli-7.2.5/seedcode/core/providers/health.py +223 -0
  37. seedcode_cli-7.2.5/seedcode/core/providers/ollama_start.py +135 -0
  38. seedcode_cli-7.2.5/seedcode/core/session.py +1122 -0
  39. seedcode_cli-7.2.5/seedcode/core/tasks.py +926 -0
  40. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/defaults.py +8 -4
  41. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/base.py +11 -1
  42. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/filesystem.py +13 -3
  43. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/terminal.py +4 -1
  44. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/textio.py +10 -2
  45. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/__init__.py +100 -18
  46. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/badges.py +9 -2
  47. seedcode_cli-7.2.5/seedcode/ui/codemode_header.py +352 -0
  48. seedcode_cli-7.2.5/seedcode/ui/dashboard.py +313 -0
  49. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/layout.py +39 -0
  50. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/renderer.py +23 -4
  51. seedcode_cli-7.2.5/seedcode/ui/session_view.py +281 -0
  52. seedcode_cli-7.2.5/seedcode/ui/tasks.py +698 -0
  53. seedcode_cli-7.2.5/seedcode/utils/text.py +107 -0
  54. seedcode_cli-6.2.5/LICENSE +0 -21
  55. seedcode_cli-6.2.5/README.md +0 -410
  56. seedcode_cli-6.2.5/npm/LICENSE +0 -21
  57. seedcode_cli-6.2.5/seedcode/assets/logo.txt +0 -15
  58. seedcode_cli-6.2.5/seedcode/core/providers/__init__.py +0 -85
  59. seedcode_cli-6.2.5/seedcode/ui/dashboard.py +0 -165
  60. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/scripts/pyproject_build_hook.py +0 -0
  61. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/__main__.py +0 -0
  62. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/apps/__init__.py +0 -0
  63. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/apps/discovery.py +0 -0
  64. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/apps/installer.py +0 -0
  65. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/apps/launcher.py +0 -0
  66. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/apps/verifier.py +0 -0
  67. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/assets/logo.png +0 -0
  68. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/cli.py +0 -0
  69. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/codemode_state.py +0 -0
  70. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/clear.py +0 -0
  71. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/doctor.py +0 -0
  72. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/help.py +0 -0
  73. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/history.py +0 -0
  74. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/palette.py +0 -0
  75. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/commands/theme.py +0 -0
  76. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/__init__.py +0 -0
  77. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_cdp.py +0 -0
  78. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_extract.py +0 -0
  79. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_popups.py +0 -0
  80. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_selenium.py +0 -0
  81. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/browser_skills.py +0 -0
  82. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/catalog.py +0 -0
  83. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/dispatcher.py +0 -0
  84. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/dpi.py +0 -0
  85. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/engine.py +0 -0
  86. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/keyboard.py +0 -0
  87. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/logbook.py +0 -0
  88. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/mouse.py +0 -0
  89. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/ocr.py +0 -0
  90. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/operator_skills.py +0 -0
  91. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/permissions.py +0 -0
  92. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/recovery.py +0 -0
  93. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/registry.py +0 -0
  94. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/resolver.py +0 -0
  95. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/screen.py +0 -0
  96. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/screen_state.py +0 -0
  97. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/selfguard.py +0 -0
  98. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/semantic.py +0 -0
  99. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/skills.py +0 -0
  100. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/state.py +0 -0
  101. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/verifier.py +0 -0
  102. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/computer/vision.py +0 -0
  103. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/config/__init__.py +0 -0
  104. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/config/defaults.py +0 -0
  105. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/config/manager.py +0 -0
  106. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/__init__.py +0 -0
  107. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/client.py +0 -0
  108. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/errors.py +0 -0
  109. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/http.py +0 -0
  110. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/identity.py +0 -0
  111. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/identity_store.py +0 -0
  112. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/lifecycle.py +0 -0
  113. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/limits.py +0 -0
  114. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/project.py +0 -0
  115. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/aerolink.py +0 -0
  116. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/base.py +0 -0
  117. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/default.py +0 -0
  118. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/freemodel.py +0 -0
  119. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/ollama.py +0 -0
  120. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/providers/openrouter.py +0 -0
  121. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/core/streaming.py +0 -0
  122. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/default_api.py +0 -0
  123. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/memory/__init__.py +0 -0
  124. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/memory/manager.py +0 -0
  125. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/memory/storage.py +0 -0
  126. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/memory/store.py +0 -0
  127. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/__init__.py +0 -0
  128. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/desktop.py +0 -0
  129. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/git.py +0 -0
  130. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/patch.py +0 -0
  131. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/permissions.py +0 -0
  132. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/tools/search.py +0 -0
  133. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/dialog.py +0 -0
  134. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/fuzzy.py +0 -0
  135. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/menu.py +0 -0
  136. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/palette.py +0 -0
  137. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/progress.py +0 -0
  138. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/prompts.py +0 -0
  139. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/reference.py +0 -0
  140. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/searchbox.py +0 -0
  141. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/selector.py +0 -0
  142. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/statusbar.py +0 -0
  143. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/textbox.py +0 -0
  144. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/theme.py +0 -0
  145. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/ui/tree.py +0 -0
  146. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/utils/__init__.py +0 -0
  147. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/utils/helpers.py +0 -0
  148. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/utils/logger.py +0 -0
  149. {seedcode_cli-6.2.5 → seedcode_cli-7.2.5}/seedcode/utils/terminal_env.py +0 -0
@@ -72,4 +72,5 @@ Desktop.ini
72
72
  opencode.txt
73
73
  V6.2.0/
74
74
  newupdatec6.2.5/
75
- WEBSITE/
75
+ WEBSITE/
76
+ .venv-disttest/
@@ -0,0 +1,82 @@
1
+ Seed Code CLI
2
+ Copyright © 2026 Al Shahriar Sowan
3
+
4
+ Licensed under the PolyForm Noncommercial License 1.0.0.
5
+
6
+ Required Notice: Copyright © 2026 Al Shahriar Sowan.
7
+
8
+ The complete license terms are provided below.
9
+
10
+ ---
11
+
12
+ PolyForm Noncommercial License 1.0.0
13
+
14
+ https://polyformproject.org/licenses/noncommercial/1.0.0
15
+
16
+ Acceptance
17
+
18
+ In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
19
+
20
+ Copyright License
21
+
22
+ The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor's copyright in it for any permitted purpose. However, you may only distribute the software according to Distribution License and make changes or new works based on the software according to Changes and New Works License.
23
+
24
+ Distribution License
25
+
26
+ The licensor grants you an additional copyright license to distribute copies of the software. Your license to distribute covers distributing the software with changes and new works permitted by Changes and New Works License.
27
+
28
+ Notices
29
+
30
+ You must ensure that anyone who gets a copy of any part of the software from you also gets a copy of these terms or the URL for them above, as well as copies of any plain-text lines beginning with `Required Notice:` that the licensor provided with the software.
31
+
32
+ Changes and New Works License
33
+
34
+ The licensor grants you an additional copyright license to make changes and new works based on the software for any permitted purpose.
35
+
36
+ Patent License
37
+
38
+ The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
39
+
40
+ Noncommercial Purposes
41
+
42
+ Any noncommercial purpose is a permitted purpose.
43
+
44
+ Personal Uses
45
+
46
+ Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
47
+
48
+ Noncommercial Organizations
49
+
50
+ Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
51
+
52
+ Fair Use
53
+
54
+ You may have "fair use" rights for the software under the law. These terms do not limit them.
55
+
56
+ No Other Rights
57
+
58
+ These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
59
+
60
+ Patent Defense
61
+
62
+ If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
63
+
64
+ Violations
65
+
66
+ The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
67
+
68
+ No Liability
69
+
70
+ As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising from these terms or the use or nature of the software, under any kind of legal claim.
71
+
72
+ Definitions
73
+
74
+ The licensor is the individual or entity offering these terms, and the software is the software the licensor makes available under these terms.
75
+
76
+ You refers to the individual or entity agreeing to these terms.
77
+
78
+ Your company is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. Control means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise.
79
+
80
+ Your licenses are all the licenses granted to you for the software under these terms.
81
+
82
+ Use means anything you do with the software requiring one of your licenses.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: seedcode-cli
3
- Version: 6.2.5
3
+ Version: 7.2.5
4
4
  Summary: Seed Code — a premium terminal-based AI coding assistant. Plant ideas. Grow code.
5
5
  Project-URL: Homepage, https://github.com/Alshahriar-07/seedcode-cli
6
6
  Project-URL: Repository, https://github.com/Alshahriar-07/seedcode-cli
@@ -8,18 +8,20 @@ Project-URL: Documentation, https://github.com/Alshahriar-07/seedcode-cli#readme
8
8
  Project-URL: Issues, https://github.com/Alshahriar-07/seedcode-cli/issues
9
9
  Project-URL: Changelog, https://github.com/Alshahriar-07/seedcode-cli/releases
10
10
  Author-email: Al Shahriar Sowan <github@eagox.studio>
11
- License-Expression: MIT
11
+ License-Expression: PolyForm-Noncommercial-1.0.0
12
12
  License-File: LICENSE
13
13
  Keywords: agent,ai,chat,cli,coding-assistant,ollama,seedcode,terminal
14
14
  Classifier: Development Status :: 5 - Production/Stable
15
15
  Classifier: Environment :: Console
16
16
  Classifier: Intended Audience :: Developers
17
17
  Classifier: Operating System :: OS Independent
18
+ Classifier: Programming Language :: Python :: 3.10
19
+ Classifier: Programming Language :: Python :: 3.11
18
20
  Classifier: Programming Language :: Python :: 3.12
19
21
  Classifier: Programming Language :: Python :: 3.13
20
22
  Classifier: Topic :: Software Development
21
23
  Classifier: Topic :: Terminals
22
- Requires-Python: >=3.12
24
+ Requires-Python: >=3.10
23
25
  Requires-Dist: httpx>=0.27.0
24
26
  Requires-Dist: openai>=1.40.0
25
27
  Requires-Dist: prompt-toolkit>=3.0.43
@@ -52,20 +54,45 @@ Description-Content-Type: text/markdown
52
54
  > ### Faster. Smaller. Smarter. Workspace-aware.
53
55
  > *Plant ideas. Grow code.*
54
56
 
55
- Seed Code is a premium terminal-based AI coding assistant. v6.2.5 pairs
57
+ Seed Code is a premium terminal-based AI coding assistant. v7.2.5 pairs
56
58
  streaming chat and permission-gated desktop control with **Code Mode** — a
57
59
  workspace-aware coding agent backed by persistent `.seedcode` project memory
58
- — behind a compact, minimal startup header.
59
-
60
- - **Works out of the box:** the shipped provider is **Default** — Seed Code's
61
- own built-in connection. It needs **no API key**, so a fresh installation
62
- can chat immediately. Bring your own key at any time with `/provider` →
63
- OpenRouter, FreeModel or AeroLink.
64
- - **Version:** 6.2.5 (`seedcode --version`)
60
+ — behind the Seed Code startup logo and a compact block of live session state.
61
+
62
+ - **Providers:** choose **OpenRouter**, **Ollama** (started automatically when
63
+ you select it), or any number of your own **Custom** OpenAI-compatible
64
+ providers with `/provider`. Custom configurations are saved without limit,
65
+ each with its own name, base URL, key and model.
66
+ - **Reliable by design:** provider health is tracked, a failing request fails
67
+ over to the next healthy provider without restarting the task, and a lost
68
+ connection pauses the session instead of failing it.
69
+ - **Professional startup screen:** the Seed Code ANSI logo with the live
70
+ provider, model, mode and status beneath it, behind a responsive bordered
71
+ panel, with an ASCII fallback for consoles that cannot draw the block art.
72
+ - **Step-by-step tasks:** Code, Assist and Agent Mode show a live task flow
73
+ (analyze → inspect → plan → implement → test → verify) that reflects what
74
+ the agent really did, and hands the prompt back when the task ends.
75
+ - **Version:** 7.2.5 (`seedcode --version`)
65
76
 
66
77
  ## Installation
67
78
 
68
- Seed Code CLI is distributed through the official IRM installer system and
79
+ After any installation method, **`seedcode` is the primary command**:
80
+
81
+ ```bash
82
+ seedcode
83
+ ```
84
+
85
+ ### pip (any platform)
86
+
87
+ ```bash
88
+ pip install seedcode-cli
89
+ seedcode
90
+ ```
91
+
92
+ Requires **Python 3.10 or newer**. The wheel exposes the `seedcode` console
93
+ script; `python -m seedcode` also works as a developer fallback.
94
+
95
+ Seed Code CLI is also distributed through the official IRM installer system and
69
96
  [GitHub Releases](https://github.com/Alshahriar-07/seedcode-cli/releases).
70
97
  The installers download the official release artifact for your platform,
71
98
  verify its SHA256 against the release's `SHA256SUMS.txt`, and then verify the
@@ -89,25 +116,33 @@ prints the verified version when it finishes.
89
116
  curl -fsSL https://seedcode-cli.vercel.app/install.sh | bash
90
117
  ```
91
118
 
92
- Installs for the current user. When a prebuilt binary is published for your
93
- platform it is used directly; otherwise the official wheel from the same
94
- release is installed with pip.
119
+ Installs for the current user. No prebuilt Linux/macOS binary is published in
120
+ this release: `install.sh` installs the official Python wheel from the same
121
+ release with `pip install --user`, so it needs **Python 3.10 or newer (with
122
+ pip)** on the machine. If a prebuilt binary for your platform is ever
123
+ published, it is used directly instead. Either way `install.sh` installs only
124
+ what it can verify against the release's `SHA256SUMS.txt` — a missing
125
+ checksum entry, a mismatching digest, or a host with no SHA256 tool makes it
126
+ stop instead of installing unverified code.
95
127
 
96
128
  ### Windows installer (GUI alternative)
97
129
 
98
- If you prefer a graphical installer, download
99
- `SeedCode-CLI-Setup-6.2.5.exe` from the
100
- [Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases). It
101
- packages a fully self-contained `seedcode.exe` (no Python needed), installs
102
- to Program Files, adds Seed Code to the system `PATH`, creates a Start Menu
103
- shortcut with an optional desktop shortcut, verifies the installation before
104
- reporting success, and ships a clean uninstaller that never deletes your
105
- project data silently.
130
+ The release publishes two Windows binaries; both are fully self-contained (no
131
+ Python required) and both run the same CLI:
132
+
133
+ | Download | What it is |
134
+ | --- | --- |
135
+ | `SeedCode-CLI-Setup-7.2.5.exe` | **Setup installer (recommended).** A wizard that installs to Program Files, adds Seed Code to the system `PATH`, creates a Start Menu shortcut with an optional desktop shortcut, verifies the installation before reporting success, and ships a clean uninstaller that never deletes your project data silently. |
136
+ | `SeedCode-CLI-7.2.5-windows-x64.exe` | **Standalone executable.** A single portable `seedcode.exe` — no installation and no admin rights. The Windows IRM installer above downloads exactly this file. Run it directly from wherever you put it. |
137
+
138
+ Both are published on the
139
+ [Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases) with
140
+ their SHA256 in `SHA256SUMS.txt`.
106
141
 
107
142
  After installing by any route:
108
143
 
109
144
  ```bash
110
- seedcode --version # -> Seed Code CLI 6.2.5
145
+ seedcode --version # -> Seed Code CLI 7.2.5
111
146
  ```
112
147
 
113
148
  > **`seedcode` not recognized?** Open a *new* terminal. `PATH` changes only
@@ -115,7 +150,7 @@ seedcode --version # -> Seed Code CLI 6.2.5
115
150
 
116
151
  ### From source (development)
117
152
 
118
- Requires **Python 3.12 or newer**:
153
+ Requires **Python 3.10 or newer**:
119
154
 
120
155
  ```bash
121
156
  git clone https://github.com/Alshahriar-07/seedcode-cli.git
@@ -130,22 +165,36 @@ seedcode
130
165
  seedcode
131
166
  ```
132
167
 
133
- You land on a compact, borderless startup header — provider, model, mode and
134
- status, with no ASCII logo and no box art — and the chat prompt appears
135
- immediately:
168
+ You land on the Seed Code dashboard — the structured startup panel: branding
169
+ on the left, a divider, and the live session state on the right. The ASCII
170
+ logo is permanently gone (the brand is plain text); the layout, sections and
171
+ status indicators stay:
136
172
 
137
173
  ```text
138
- Seed Code CLI v6.2.5
139
- Provider Default
140
- Model nvidia/nemotron-3-super-120b-a12b:free
141
- Mode Chat
142
- Status ● Ready
174
+ ╭─ Seed Code CLI v7.2.5 ───────────────────────────────────────────────────────────────────────╮
175
+ │ │
176
+ │ Seed Code │ Seed Code | Eagox Studio │
177
+ │ AI CODING AGENT │ Plant ideas. Grow code. │
178
+ │ │ Provider Default │
179
+ │ │ Model cohere/north-mini-code:free │
180
+ │ │ Mode Chat • ● Ready │
181
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯
143
182
  Commands /help /status /codemode /assist /provider /model
144
183
  You >
145
184
  ```
146
185
 
186
+ The panel is 96 columns wide on a wide terminal — wide enough that the whole
187
+ `cohere/north-mini-code:free` model name fits without clipping — and kept
188
+ deliberately short (one blank row under the title, then the live rows; no
189
+ padding rows to scroll past). Narrower terminals slide the info section left
190
+ so the whole model name still fits (80 columns shows it in full), then fall
191
+ back to a compact one-row panel, then to plain lines. Consoles that cannot
192
+ draw (or encode) the glyphs get the same layout in ASCII.
193
+
147
194
  The `API Key` row appears **only** for providers that actually require a key,
148
- so Default and Ollama never show one.
195
+ so Default and Ollama never show one. `cohere/north-mini-code:free` is the
196
+ ships-with default for **Default only**; every other provider keeps its own
197
+ model, and switching providers never copies one model onto another.
149
198
 
150
199
  ### Default provider (no API key)
151
200
 
@@ -189,7 +238,7 @@ configuration.
189
238
 
190
239
  | Provider | API key | Best for |
191
240
  | --- | --- | --- |
192
- | **Default** | not required | Chatting immediately on a release install |
241
+ | **Default** | not required | Working immediately on a release install (`cohere/north-mini-code:free`) |
193
242
  | [OpenRouter](https://openrouter.ai) | required | A broad catalogue of free and paid models |
194
243
  | FreeModel Claude | required | Claude-family models through FreeModel |
195
244
  | FreeModel Codex | required | GPT/Codex models through FreeModel |
@@ -234,6 +283,71 @@ targeted searches, reads only what it needs, plans, edits, runs a relevant
234
283
  command or test, and reports what changed. File operations stay inside the
235
284
  workspace root.
236
285
 
286
+ ### Persistent task execution (v7.1.0)
287
+
288
+ Code Mode is a **long-running agent**, not one model call. A request becomes a
289
+ plan (a task graph with dependencies and acceptance criteria), and the session
290
+ runs task after task until each one is *verified*:
291
+
292
+ ```text
293
+ Plan (3 tasks) → Task 1 → verify → Task 2 → verify → Task 3 → verify
294
+ → final verification → project complete
295
+ ```
296
+
297
+ - **A response is not completion.** A task is only `COMPLETED` when its
298
+ acceptance criteria are satisfied by real evidence — files that exist, a
299
+ command that ran and exited 0, tests that passed, no unresolved error. A
300
+ model that says “done” while the tests fail is sent back to fix them.
301
+ - **A task is a unit of work, not a model call.** Each task may take many
302
+ model/tool cycles: analyse → inspect → implement → run → fail → fix → re-run
303
+ → verify.
304
+ - **Limits do not end a task.** An output/context limit continues the task with
305
+ another call; a temporary provider error retries with backoff; a repeated
306
+ identical failure stops with an explicit blocker instead of looping.
307
+ - **State survives.** Every transition is checkpointed to
308
+ `.seedcode/checkpoints/`, so a pause, a crash or an API failure resumes from
309
+ the current task.
310
+
311
+ ```text
312
+ /session # the detailed view: session state + one row per task record
313
+ /pause # stop at the next safe boundary, keeping plan + files
314
+ /resume # continue from the checkpoint (current task, not from zero)
315
+ /stop # safely end the autonomous session
316
+ ```
317
+
318
+ Ctrl+C stops the session the same way; nothing here closes an application or
319
+ rolls back your files. A stopped session is **not** lost: the CLI says so and
320
+ `/resume` continues from the checkpoint.
321
+
322
+ Every task also keeps its own execution record — files inspected and affected,
323
+ commands run with their outcome, tool calls, test results, errors, retries,
324
+ timestamps and the verification result — and it is stored per task in
325
+ `.seedcode/plan.json`, so a resume continues with the full per-task history.
326
+ `/session` renders that record:
327
+
328
+ ```text
329
+ State RUNNING
330
+ Progress 1/3 tasks verified
331
+ Current task 2. Create database
332
+ Action Running pytest tests/db
333
+ Model calls 12
334
+ Tool calls 31
335
+ Tests passed (pytest -q)
336
+ Commands 1/1 ok
337
+ Files changed 1
338
+ Files inspected 2
339
+ Checkpoint saved on pause/stop (see /resume)
340
+
341
+ ✓ 1 Setup project verified 2 criteria 1 inspected; 1 file(s); 1/1 cmd ok; tests passed
342
+ ● 2 Create database — no tool activity recorded
343
+ ○ 3 Add tests — not started
344
+ ```
345
+
346
+ `/status` carries the same state in one line
347
+ (`Session RUNNING (1/3 verified) — Task 2`), and a stopped one reports that it
348
+ is resumable. A task row only ever shows what was observed — a task that did
349
+ nothing reads `no tool activity recorded`, never a success.
350
+
237
351
  ### `.seedcode` project memory
238
352
 
239
353
  Enabling Code Mode creates a `.seedcode/` directory in the project root:
@@ -241,11 +355,13 @@ Enabling Code Mode creates a `.seedcode/` directory in the project root:
241
355
  ```text
242
356
  my-project/
243
357
  ├── .seedcode/
244
- │ ├── memory/ durable project knowledge (architecture, decisions…)
245
- │ ├── index/ per-file summaries + a file map (incremental, hashed)
246
- │ ├── context/ reusable project context (conventions, snippets)
247
- │ ├── sessions/ compact per-session summaries (never raw transcripts)
248
- │ └── config.json safe project configuration
358
+ │ ├── memory/ durable project knowledge (architecture, decisions…)
359
+ │ ├── index/ per-file summaries + a file map (incremental, hashed)
360
+ │ ├── context/ reusable project context (conventions, snippets)
361
+ │ ├── sessions/ compact per-session summaries (never raw transcripts)
362
+ │ ├── checkpoints/ resumable Code Mode session state
363
+ │ ├── plan.json the current task graph
364
+ │ └── config.json safe project configuration
249
365
  ├── src/
250
366
  └── ...
251
367
  ```
@@ -257,12 +373,93 @@ my-project/
257
373
  - **Not source code** — `.seedcode/` is excluded from workspace search,
258
374
  indexing, and the agent's project view.
259
375
 
376
+ ## Task flow (Code / Assist / Agent Mode)
377
+
378
+ Every task in Code Mode, Assist Mode or Agent Mode is shown as a compact live
379
+ flow, and each step changes state only when the work behind it really
380
+ happened. Code Mode shows the protocol header, the plan as a checklist, and a
381
+ single live action line:
382
+
383
+ ```text
384
+ ╭─ SEEDCODE 7.2.5 • CODE MODE ────────────────╮
385
+ │ ● RUNNING Task 3/8 Build authentication │
386
+ │ ████████████░░░░ 72% • 4m 32s • 18 calls │
387
+ │ → Running: pytest tests/auth │
388
+ ╰─────────────────────────────────────────────╯
389
+ ✓ Setup project
390
+ ✓ Create database
391
+ ● Implement authentication
392
+ ○ Build dashboard
393
+ ○ Add tests
394
+ ```
395
+
396
+ The action line is a real phase, not decoration: it shows the tool actually
397
+ running (reading a file, editing one, running a command), and it switches to
398
+ `Verifying acceptance criteria` / `Verifying the project (tests / build)` when
399
+ the session moves into those phases. The panel re-fits itself on every refresh,
400
+ so resizing the terminal mid-session cannot leave a panel wider than the
401
+ screen — it degrades to a single status line when the space runs out.
402
+
403
+ Assist Mode and Agent Mode keep the step-by-step flow:
404
+
405
+ ```text
406
+ Task · Code Mode
407
+ Fix authentication persistence
408
+ ✓ Analyze project request understood
409
+ ✓ Inspect files read_file seedcode/config.py
410
+ ✓ Plan implementation I'll patch the persistence layer…
411
+ ● Implement changes edit_file seedcode/config.py
412
+ ○ Run tests
413
+ ○ Verify result
414
+ Working…
415
+ ```
416
+
417
+ The five states are `pending`, `running`, `completed`, `failed` and
418
+ `skipped`. A step the task never needed is reported as **skipped** — “Run
419
+ tests” is never marked done unless a recognised test command actually ran, and
420
+ a failing run is shown as failed, showing what failed instead of a passing
421
+ count:
422
+
423
+ ```text
424
+ ✓ Task completed
425
+ 2 file(s) changed: seedcode/config.py, seedcode/providers.py
426
+ Tests: 898 passed — pytest tests -q
427
+ Ready for next task.
428
+ ```
429
+
430
+ A whole Code Mode project closes with the evidence that verified it, not a
431
+ restatement of the model's replies:
432
+
433
+ ```text
434
+ ✓ Project completed — 3/3 tasks verified
435
+ ✓ Verification: accepted
436
+ ✓ Tests: passed
437
+ ✓ Files: 4 affected
438
+ ✓ Commands: 7/7 ok
439
+ • Inspected: 12 item(s)
440
+ Ready for next task.
441
+ ```
442
+
443
+ ```text
444
+ ✗ Task failed — tests failed
445
+ 1 step(s) failed: Run tests
446
+ Ready for another task.
447
+ ```
448
+
449
+ A task never closes the CLI: success, failure and `Ctrl+C` all return to the
450
+ prompt (or the menu) so you can inspect the result, run another task, switch
451
+ mode or provider, or `/exit` yourself. Plain Chat Mode is unaffected — it
452
+ answers with the ordinary spinner.
453
+
260
454
  ## Terminal execution
261
455
 
262
456
  The agent runs commands through the tool engine's `run_command` tool:
263
457
 
264
458
  - output streams line-by-line **while the command is still running**, so long
265
- builds and test runs stay visible instead of blocking;
459
+ builds and test runs stay visible instead of blocking. The live view is
460
+ compact: the first few lines of each command are echoed, then one summary
461
+ line. The agent and `~/.seedcode/logs/seedcode.log` still receive the full
462
+ output, and failures are never hidden;
266
463
  - `stderr` is captured along with `stdout`, in order;
267
464
  - the exit code is reported, and a non-zero exit is an explicit failure the
268
465
  model can react to;
@@ -286,6 +483,10 @@ The agent runs commands through the tool engine's `run_command` tool:
286
483
  | `/agent` | Enable or disable Assist Mode (alias `/assist`) |
287
484
  | `/codemode` | Workspace-aware Code Mode (`on` / `off` / `status`) |
288
485
  | `/workspace` | Show the active Code Mode workspace |
486
+ | `/session` | Inspect the Code Mode session: state, evidence, per-task records |
487
+ | `/pause` | Pause the running Code Mode session (state is kept) |
488
+ | `/resume` | Resume a paused session from its checkpoint |
489
+ | `/stop` | Safely stop the running Code Mode session |
289
490
  | `/permission` | View or set the Assist permission mode (alias `/permissions`) |
290
491
  | `/computer` | Show Computer Engine status and permissions |
291
492
  | `/screenshot` | Capture a screenshot |
@@ -320,6 +521,14 @@ drive keyboard/mouse with per-action verification. Waits are state-based:
320
521
  pauses are short because state is re-read live, and screenshots are taken
321
522
  only when information is genuinely needed.
322
523
 
524
+ **Applications stay open.** When Seed Code opens an application or a browser
525
+ to do something for you ("play *this* song"), the app remains open when the
526
+ task finishes. Closing is only ever done on an explicit request
527
+ (`close_app` / `browser_close`); no teardown, retry, or cleanup path may close
528
+ a window, a browser, or a tab behind your back. Internal cleanup (releasing
529
+ mouse/keyboard control, closing DevTools sockets, dropping cached drivers) is
530
+ unchanged, and Seed Code never closes its own terminal — `/exit` does that.
531
+
323
532
  ## Configuration and local data
324
533
 
325
534
  ```text
@@ -355,7 +564,9 @@ health.
355
564
  - **Windows:** full experience — desktop control, one-click installer,
356
565
  standalone EXE. Primary platform.
357
566
  - **Linux / macOS:** terminal chat, providers, project tools, Code Mode.
358
- Install with the `install.sh` command above.
567
+ Install with the `install.sh` command above — it installs the official
568
+ Python wheel, so **Python 3.10+ (with pip)** is required. No prebuilt
569
+ Linux/macOS binary is published in this release.
359
570
 
360
571
  ## Building from source
361
572
 
@@ -384,19 +595,21 @@ stage fails loudly on a version mismatch, so a stale binary can never ship.
384
595
 
385
596
  Details: [`scripts/windows/README.md`](scripts/windows/README.md).
386
597
 
387
- ### Release artifacts (v6.2.5)
598
+ ### Release artifacts (v7.2.5)
599
+
600
+ Release: [v7.2.5](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v7.2.5)
388
601
 
389
602
  | Artifact | Purpose |
390
603
  | --- | --- |
391
- | `SeedCode-CLI-Setup-6.2.5.exe` | Windows installer (Inno Setup) |
392
- | `SeedCode-CLI-6.2.5-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
393
- | `seedcode_cli-6.2.5-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
394
- | `seedcode-cli-6.2.5.tar.gz` | Python source distribution |
604
+ | `SeedCode-CLI-Setup-7.2.5.exe` | Windows installer (Inno Setup) |
605
+ | `SeedCode-CLI-7.2.5-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
606
+ | `seedcode_cli-7.2.5-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
607
+ | `seedcode_cli-7.2.5.tar.gz` | Python source distribution |
395
608
  | `SHA256SUMS.txt` | SHA256 checksums; verified by both installers |
396
609
 
397
- Built artifacts are collected in `dist/release/6.2.5/` during a release
610
+ Built artifacts are collected in `dist/release/7.2.5/` during a release
398
611
  build. Publishing (GitHub Release) is a separate step; the remote installers
399
- read the release named `v6.2.5`.
612
+ read the release named `v7.2.5`.
400
613
 
401
614
  ### The remote installers
402
615
 
@@ -422,7 +635,8 @@ read the release named `v6.2.5`.
422
635
  `OPENROUTER_API_KEY`.
423
636
  - **401/403 errors** — your key is invalid or lacks access; `/apikey` to
424
637
  replace it, `/doctor` for diagnostics.
425
- - **402 errors** — the model needs credits; `/model` and pick a free model.
638
+ - **402 errors** — the model needs credits; `/model` and pick a free model
639
+ (Default ships with `cohere/north-mini-code:free`).
426
640
  - **Rate limits (429)** — wait and retry; Seed Code honors the provider's
427
641
  `Retry-After` hint. Consider a different provider.
428
642
  - **Desktop actions fail** — check `/permission` (desktop requires the
@@ -449,9 +663,10 @@ projects or with sensitive applications.
449
663
 
450
664
  ## Credits
451
665
 
452
- - **Created by:** Al Shahriar Sowan
453
- - **Publisher:** Eagox Studio
666
+ - **Created by:** Al Shahriar Sowan — <https://alshahriarsayon.vercel.app/>
667
+ - **Studio:** Eagox Studio — <https://eagoxstudio.vercel.app/>
668
+ - **Contact:** github@eagox.studio
454
669
 
455
670
  ## License
456
671
 
457
- MIT — see [`LICENSE`](LICENSE).
672
+ Seed Code CLI is licensed under the [PolyForm Noncommercial License 1.0.0](LICENSE) (`PolyForm-Noncommercial-1.0.0`) — free for personal learning and other noncommercial use; commercial use is not permitted. See [`LICENSE`](LICENSE) for the full terms.