seedcode-cli 8.1.0__tar.gz → 9.1.0__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 (153) hide show
  1. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/.gitignore +4 -1
  2. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/PKG-INFO +190 -72
  3. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/README.md +188 -70
  4. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/npm/README.md +1 -1
  5. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/pyproject.toml +11 -0
  6. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/scripts/windows/README.md +1 -1
  7. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/__init__.py +1 -1
  8. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/_default_key_template.py +1 -1
  9. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/app.py +588 -33
  10. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/cli.py +41 -3
  11. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/codemode.py +118 -50
  12. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/codemode_state.py +12 -4
  13. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/__init__.py +14 -0
  14. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/agent.py +10 -8
  15. seedcode_cli-9.1.0/seedcode/commands/assist.py +362 -0
  16. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/chat.py +11 -8
  17. seedcode_cli-9.1.0/seedcode/commands/codemode.py +185 -0
  18. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/desktop.py +2 -2
  19. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/mode.py +18 -18
  20. seedcode_cli-9.1.0/seedcode/commands/youtube_music.py +68 -0
  21. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/models.py +7 -5
  22. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/modes.py +37 -33
  23. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/__init__.py +20 -9
  24. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/session.py +10 -2
  25. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/tasks.py +22 -0
  26. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/__init__.py +24 -5
  27. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/codemode_header.py +10 -3
  28. seedcode_cli-9.1.0/seedcode/ui/content.py +421 -0
  29. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/dashboard.py +7 -7
  30. seedcode_cli-9.1.0/seedcode/ui/header.py +325 -0
  31. seedcode_cli-9.1.0/seedcode/ui/mode_switch.py +276 -0
  32. seedcode_cli-9.1.0/seedcode/ui/state.py +296 -0
  33. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/statusbar.py +7 -3
  34. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/tasks.py +16 -5
  35. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/theme.py +4 -0
  36. seedcode_cli-9.1.0/seedcode/ui/tui.py +1472 -0
  37. seedcode_cli-9.1.0/seedcode/workspace.py +336 -0
  38. seedcode_cli-8.1.0/seedcode/commands/assist.py +0 -208
  39. seedcode_cli-8.1.0/seedcode/commands/codemode.py +0 -112
  40. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/LICENSE +0 -0
  41. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/npm/LICENSE +0 -0
  42. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/scripts/pyproject_build_hook.py +0 -0
  43. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/__main__.py +0 -0
  44. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/apps/__init__.py +0 -0
  45. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/apps/discovery.py +0 -0
  46. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/apps/installer.py +0 -0
  47. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/apps/launcher.py +0 -0
  48. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/apps/verifier.py +0 -0
  49. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/assets/logo.png +0 -0
  50. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/branding.py +0 -0
  51. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/about.py +0 -0
  52. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/clear.py +0 -0
  53. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/doctor.py +0 -0
  54. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/help.py +0 -0
  55. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/history.py +0 -0
  56. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/palette.py +0 -0
  57. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/provider.py +0 -0
  58. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/session.py +0 -0
  59. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/status.py +0 -0
  60. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/commands/theme.py +0 -0
  61. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/__init__.py +0 -0
  62. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser.py +0 -0
  63. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_cdp.py +0 -0
  64. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_engine.py +0 -0
  65. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_extract.py +0 -0
  66. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_popups.py +0 -0
  67. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_selenium.py +0 -0
  68. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/browser_skills.py +0 -0
  69. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/catalog.py +0 -0
  70. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/controller.py +0 -0
  71. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/dispatcher.py +0 -0
  72. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/dpi.py +0 -0
  73. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/engine.py +0 -0
  74. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/keyboard.py +0 -0
  75. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/lifecycle_guard.py +0 -0
  76. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/logbook.py +0 -0
  77. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/mouse.py +0 -0
  78. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/ocr.py +0 -0
  79. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/operator_skills.py +0 -0
  80. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/permissions.py +0 -0
  81. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/recovery.py +0 -0
  82. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/registry.py +0 -0
  83. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/resolver.py +0 -0
  84. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/screen.py +0 -0
  85. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/screen_state.py +0 -0
  86. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/selfguard.py +0 -0
  87. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/semantic.py +0 -0
  88. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/skills.py +0 -0
  89. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/state.py +0 -0
  90. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/verifier.py +0 -0
  91. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/vision.py +0 -0
  92. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/computer/windows.py +0 -0
  93. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/config/__init__.py +0 -0
  94. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/config/defaults.py +0 -0
  95. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/config/manager.py +0 -0
  96. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/__init__.py +0 -0
  97. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/agent.py +0 -0
  98. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/chat.py +0 -0
  99. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/client.py +0 -0
  100. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/errors.py +0 -0
  101. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/http.py +0 -0
  102. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/identity.py +0 -0
  103. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/identity_store.py +0 -0
  104. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/lifecycle.py +0 -0
  105. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/limits.py +0 -0
  106. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/project.py +0 -0
  107. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/aerolink.py +0 -0
  108. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/base.py +0 -0
  109. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/custom.py +0 -0
  110. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/default.py +0 -0
  111. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/failover.py +0 -0
  112. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/freemodel.py +0 -0
  113. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/health.py +0 -0
  114. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/ollama.py +0 -0
  115. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/ollama_start.py +0 -0
  116. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/providers/openrouter.py +0 -0
  117. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/core/streaming.py +0 -0
  118. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/default_api.py +0 -0
  119. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/defaults.py +0 -0
  120. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/memory/__init__.py +0 -0
  121. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/memory/manager.py +0 -0
  122. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/memory/storage.py +0 -0
  123. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/memory/store.py +0 -0
  124. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/__init__.py +0 -0
  125. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/base.py +0 -0
  126. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/desktop.py +0 -0
  127. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/filesystem.py +0 -0
  128. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/git.py +0 -0
  129. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/patch.py +0 -0
  130. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/permissions.py +0 -0
  131. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/search.py +0 -0
  132. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/terminal.py +0 -0
  133. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/tools/textio.py +0 -0
  134. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/badges.py +0 -0
  135. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/dialog.py +0 -0
  136. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/fuzzy.py +0 -0
  137. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/layout.py +0 -0
  138. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/menu.py +0 -0
  139. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/palette.py +0 -0
  140. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/progress.py +0 -0
  141. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/prompts.py +0 -0
  142. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/reference.py +0 -0
  143. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/renderer.py +0 -0
  144. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/searchbox.py +0 -0
  145. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/selector.py +0 -0
  146. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/session_view.py +0 -0
  147. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/textbox.py +0 -0
  148. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/ui/tree.py +0 -0
  149. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/utils/__init__.py +0 -0
  150. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/utils/helpers.py +0 -0
  151. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/utils/logger.py +0 -0
  152. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/utils/terminal_env.py +0 -0
  153. {seedcode_cli-8.1.0 → seedcode_cli-9.1.0}/seedcode/utils/text.py +0 -0
@@ -63,12 +63,15 @@ Desktop.ini
63
63
  .vscode/
64
64
  .claude/
65
65
 
66
- # Scratch / temporary artifacts
66
+ # Scratch / temporary artifacts (never part of a release)
67
67
  *.tmp
68
68
  *.bak
69
69
  *.orig
70
70
  *.rej
71
71
  *.crdownload
72
+ _scratch*
73
+ /probe*
74
+ errorlevel
72
75
  opencode.txt
73
76
  V6.2.0/
74
77
  newupdatec6.2.5/
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.5
1
+ Metadata-Version: 2.4
2
2
  Name: seedcode-cli
3
- Version: 8.1.0
3
+ Version: 9.1.0
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
@@ -55,20 +55,20 @@ Description-Content-Type: text/markdown
55
55
  > *Plant ideas. Grow code.*
56
56
 
57
57
  Seed Code is a premium terminal-based AI coding assistant and task runner.
58
- v8.1.0 exposes exactly **three modes** — **Chat Mode**, **Code Mode** and
59
- **Agent Mode** — over a multi-provider, multi-model engine, with project-aware
60
- Code Mode and a real Agent Mode execution loop, behind the Seed Code startup
61
- logo and a compact block of live session state.
58
+ v9.1.0 exposes exactly **two modes** — **Chat Mode** and **Agent Mode** — over a
59
+ multi-provider, multi-model engine, behind the Seed Code startup logo and a
60
+ compact block of live session state.
62
61
 
63
62
  | Mode | What it does |
64
63
  | --- | --- |
65
64
  | **Chat Mode** | Conversation: questions, explanations, brainstorming. Never acts on your project. |
66
- | **Code Mode** | A real coding agent for the current workspace: inspect, plan, edit, run, verify, and keep working until the task is verified. |
67
- | **Agent Mode** | General-purpose multi-step execution using the available tools, verified before it is reported complete. |
65
+ | **Agent Mode** | The unified autonomous workspace/coding agent: inspect, plan, edit, run, verify and keep working until the task is verified, using every available tool. |
68
66
 
69
- The retired **Assist Mode** is no longer a separate mode; its capabilities now
70
- belong to Agent Mode. `/assist` and `/desktop` remain accepted aliases, but
71
- nothing in the UI presents a fourth mode.
67
+ The retired **Code Mode** and **Assist Mode** are no longer separate modes;
68
+ their capabilities now belong to Agent Mode. Agent Mode automatically activates
69
+ the workspace coding capability (`.seedcode` project memory + index, the
70
+ plan → execute → verify session loop). `/codemode`, `/assist` and `/desktop`
71
+ remain accepted aliases, but nothing in the UI presents a third mode.
72
72
 
73
73
  - **Providers:** choose **OpenRouter**, **Ollama** (started automatically when
74
74
  you select it), or any number of your own **Custom** OpenAI-compatible
@@ -77,14 +77,25 @@ nothing in the UI presents a fourth mode.
77
77
  - **Reliable by design:** provider health is tracked, a failing request fails
78
78
  over to the next healthy provider without restarting the task, and a lost
79
79
  connection pauses the session instead of failing it.
80
- - **Professional startup screen:** the Seed Code ANSI logo with the live
81
- provider, model, mode and status beneath it, behind a responsive bordered
82
- panel, with an ASCII fallback for consoles that cannot draw the block art.
83
- - **Step-by-step tasks:** Code Mode shows the real plan as a live checklist,
84
- and Agent Mode shows an event-driven step flow — both reflect what the agent
85
- really did, and hand the prompt back when the task ends. Completing a task
86
- never closes the application.
87
- - **Version:** 8.1.0 (`seedcode --version`)
80
+ - **Seed Code ASCII logo, preserved:** the fixed header leads with the exact
81
+ Seed Code block logo and tagline, followed by the live Provider / Model /
82
+ Mode / Status / Workspace / Context / key state. The header is never
83
+ reprinted — every value updates in place the moment it changes — and the
84
+ branding is never replaced by plain text or clipped to fit.
85
+ - **Professional message composer:** the fixed bottom region carries the
86
+ `You >` prompt, which is display only and never part of the message itself.
87
+ Multiline input keeps its continuations aligned under the prompt, `Enter`
88
+ sends, `Shift+Enter` inserts a newline, and history, paste, long prompts,
89
+ Unicode and terminal resize all work.
90
+ - **`AI > ◌ Thinking…` before every answer:** a lightweight animated indicator
91
+ appears the instant you send a message and is replaced by streaming output.
92
+ It is a UI state only — it never blocks or delays the agent.
93
+ - **Live activity, no checklist:** Agent Mode decides its own execution
94
+ sequence and shows an activity stream (`AI > ⚙ Running pytest`,
95
+ `AI > ✓ Tests passed`) whose lines appear only when the underlying operation
96
+ really starts. There is no manual to-do list to create or manage, and
97
+ completing a task never closes the application.
98
+ - **Version:** 9.1.0 (`seedcode --version`)
88
99
 
89
100
  ## Installation
90
101
 
@@ -143,8 +154,8 @@ Python required) and both run the same CLI:
143
154
 
144
155
  | Download | What it is |
145
156
  | --- | --- |
146
- | `SeedCode-CLI-Setup-8.1.0.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. |
147
- | `SeedCode-CLI-8.1.0-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. |
157
+ | `SeedCode-CLI-Setup-9.1.0.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. |
158
+ | `SeedCode-CLI-9.1.0-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. |
148
159
 
149
160
  Both are published on the
150
161
  [Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases) with
@@ -153,7 +164,7 @@ their SHA256 in `SHA256SUMS.txt`.
153
164
  After installing by any route:
154
165
 
155
166
  ```bash
156
- seedcode --version # -> Seed Code CLI 8.1.0
167
+ seedcode --version # -> Seed Code CLI 9.1.0
157
168
  ```
158
169
 
159
170
  > **`seedcode` not recognized?** Open a *new* terminal. `PATH` changes only
@@ -176,31 +187,109 @@ seedcode
176
187
  seedcode
177
188
  ```
178
189
 
179
- You land on the Seed Code dashboard — the structured startup panel: branding
180
- on the left, a divider, and the live session state on the right. The ASCII
181
- logo is permanently gone (the brand is plain text); the layout, sections and
182
- status indicators stay:
190
+ On first launch Seed Code asks where it may work:
183
191
 
184
192
  ```text
185
- ╭─ Seed Code CLI v8.1.0 ───────────────────────────────────────────────────────────────────────╮
193
+ Select Workspace
194
+ --------------------------------------------------------------
195
+ Where should Seed Code work? Agent Mode reads, writes, indexes and
196
+ runs commands only inside the folder you pick.
197
+
198
+ 1 Current Folder D:\Projects\my-site
199
+ 2 Choose a Folder browse this PC and pick any directory
200
+
201
+ Select [1] >
202
+ ```
203
+
204
+ `Current Folder` keeps the directory you launched from. `Choose a Folder` opens
205
+ your operating system's native folder picker and makes the chosen directory the
206
+ **workspace** — the single root for Agent Mode, file reads and writes, project
207
+ indexing, the `.seedcode` context and `plan.md`, terminal commands and
208
+ verification. Nothing outside that root is touched without permission.
209
+
210
+ Automation is never blocked: `SEEDCODE_WORKSPACE=<dir>` selects the workspace
211
+ directly, and `SEEDCODE_NO_WORKSPACE_PROMPT=1` (or a non-interactive host) keeps
212
+ the launch directory.
213
+
214
+ You land in the persistent Seed Code workspace: a fixed header carrying the
215
+ Seed Code ASCII logo, a scrolling conversation region and a fixed message
216
+ composer. The header is a live dashboard — it never scrolls away, and its
217
+ values (provider, model, mode, status, workspace, context budget and the masked
218
+ API key) update in place the moment they change.
219
+
220
+ ```text
221
+ ╭─ Seed Code CLI v9.1.0 ───────────────────────────────────────────────────────────────────────╮
222
+ │ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
223
+ │ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
224
+ │ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
225
+ │ Plant ideas. Grow code. │
226
+ │ OpenRouter · cohere/north-mini-code:free · Agent Mode ◌ Thinking │
227
+ │ Workspace D:\my-project Context 16,384 │
228
+ │ API Key sk-or-v1...e031 │
229
+ ╰──────────────────────────────────────────────────────────────────────────────────────────────╯
230
+ ──────────────────────────────────── Conversation ────────────────────────────────────────────
231
+ You > Build the authentication system.
232
+
233
+ AI > ◌ Thinking...
234
+
235
+ AI > I found the issue in the authentication middleware.
236
+
237
+ ┌─────────────────────────────────────────| Message |──────────────────────────────────────────┐
238
+ │ › Build a login system using the existing authentication architecture. │
239
+ │ │
240
+ └──────────────────────────────────────────────────────────────────────────────────────────────┘
241
+ Enter ↵ send · Shift+Enter newline
242
+ ```
243
+
244
+ The header adapts to the terminal: wide terminals get the full panel with the
245
+ logo; below 76 columns — where the 70-column block art cannot be drawn without
246
+ clipping — the *metadata* re-flows into a compact panel and then into plain
247
+ lines. The logo is omitted whole rather than truncated, and no line is ever
248
+ wider than the screen. A console that cannot encode the block glyphs gets the
249
+ wordmark form of the same layout.
250
+
251
+ The composer is a real, bounded multiline text editor: prompt_toolkit draws its
252
+ `┌─ Message ─┐` frame around the text buffer, so typed text can never escape the
253
+ border. Long lines wrap inside it and taller content scrolls internally. It has
254
+ **no** prompt prefix of its own — the message you type is exactly the message
255
+ that is sent (the `You >` in the conversation is only the history label).
256
+ `Enter` sends, `Shift+Enter` inserts a newline, and `↑`/`↓` move the cursor
257
+ inside a multiline message (walking the input history only at the edges). The
258
+ conversation follows the bottom until you scroll up — at which point the footer
259
+ shows `↓ n new` instead of pulling you back down.
260
+
261
+ Provider, model, mode and status are shown exactly once, in the header
262
+ dashboard itself — there is no second toolbar repeating them. Switch provider,
263
+ model or mode with `/provider`, `/model`, `/mode` or the `Ctrl+K` command
264
+ palette.
265
+
266
+ Below is the rendering used when the persistent interface is not available — a
267
+ piped host, `SEEDCODE_NO_TUI=1`, or a console that cannot draw it:
268
+
269
+ ```text
270
+ ╭─ Seed Code CLI v9.1.0 ───────────────────────────────────────────────────────────────────────╮
271
+ │ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
272
+ │ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
273
+ │ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
186
274
  │ │
187
- │ Seed Code │ Seed Code | Eagox Studio │
188
- │ AI CODING AGENT │ Plant ideas. Grow code. │
189
- │ │ Provider Default │
190
- │ │ Model cohere/north-mini-code:free │
191
- │ │ Mode Chat • ● Ready │
275
+ │ Seed Code CLI v9.1.0 │
276
+ │ Plant ideas. Grow code. │
277
+ │ Provider OpenRouter │
278
+ │ Model cohere/north-mini-code:free │
279
+ │ Mode Chat │
280
+ │ Status ● Ready │
281
+ │ API Key ********** │
192
282
  ╰──────────────────────────────────────────────────────────────────────────────────────────────╯
193
283
  Commands /help /status /codemode /agent /provider /model
194
284
  You >
195
285
  ```
196
286
 
197
287
  The panel is 96 columns wide on a wide terminal — wide enough that the whole
198
- `cohere/north-mini-code:free` model name fits without clipping — and kept
199
- deliberately short (one blank row under the title, then the live rows; no
200
- padding rows to scroll past). Narrower terminals slide the info section left
201
- so the whole model name still fits (80 columns shows it in full), then fall
202
- back to a compact one-row panel, then to plain lines. Consoles that cannot
203
- draw (or encode) the glyphs get the same layout in ASCII.
288
+ `cohere/north-mini-code:free` model name fits without clipping. Below 78
289
+ columns the block logo cannot be drawn un-clipped, so the dashboard switches
290
+ to the text wordmark; below 64 columns it becomes a compact one-row panel, and
291
+ below 40 columns plain lines. Consoles that cannot draw (or encode) the glyphs
292
+ get the same layout in ASCII.
204
293
 
205
294
  The `API Key` row appears **only** for providers that actually require a key,
206
295
  so Default and Ollama never show one. `cohere/north-mini-code:free` is the
@@ -280,25 +369,26 @@ Permission modes (view/set with `/permission`):
280
369
  | `desktop` | Add desktop automation capability after confirmation |
281
370
  | `full_system` | Allow broader computer and filesystem actions after confirmation |
282
371
 
283
- ## Code Mode
372
+ ## Workspace coding (part of Agent Mode)
284
373
 
285
- Code Mode is a real coding agent for the current project. Your working
374
+ Agent Mode is a real coding agent for the current project. Your working
286
375
  directory becomes the **workspace**:
287
376
 
288
377
  ```text
289
- /codemode on # treat the CWD as the workspace, enable .seedcode memory
290
- /codemode off # back to the previous mode (memory stays on disk)
378
+ /agent on # enable Agent Mode; the workspace capability is automatic
379
+ /codemode on # explicitly (re)activate the workspace capability
380
+ /codemode off # deactivate it (memory stays on disk)
291
381
  /codemode status # workspace, memory, and index state
292
382
  ```
293
383
 
294
- In Code Mode the agent consults the project index, finds relevant files with
384
+ In Agent Mode the agent consults the project index, finds relevant files with
295
385
  targeted searches, reads only what it needs, plans, edits, runs a relevant
296
386
  command or test, and reports what changed. File operations stay inside the
297
387
  workspace root.
298
388
 
299
389
  ### Persistent task execution
300
390
 
301
- Code Mode is a **long-running agent**, not one model call. A request becomes a
391
+ Agent Mode is a **long-running agent**, not one model call. A request becomes a
302
392
  plan (a task graph with dependencies and acceptance criteria), and the session
303
393
  runs task after task until each one is *verified*:
304
394
 
@@ -363,7 +453,7 @@ nothing reads `no tool activity recorded`, never a success.
363
453
 
364
454
  ### `.seedcode` project memory
365
455
 
366
- Enabling Code Mode creates a `.seedcode/` directory in the project root:
456
+ Enabling the workspace capability (`/agent on` or `/codemode on`) creates a `.seedcode/` directory in the project root:
367
457
 
368
458
  ```text
369
459
  my-project/
@@ -372,7 +462,7 @@ my-project/
372
462
  │ ├── index/ per-file summaries + a file map (incremental, hashed)
373
463
  │ ├── context/ reusable project context (conventions, snippets)
374
464
  │ ├── sessions/ compact per-session summaries (never raw transcripts)
375
- │ ├── checkpoints/ resumable Code Mode session state
465
+ │ ├── checkpoints/ resumable agent session state
376
466
  │ ├── plan.json the current task graph
377
467
  │ └── config.json safe project configuration
378
468
  ├── src/
@@ -386,15 +476,16 @@ my-project/
386
476
  - **Not source code** — `.seedcode/` is excluded from workspace search,
387
477
  indexing, and the agent's project view.
388
478
 
389
- ## Task flow (Code Mode / Agent Mode)
479
+ ## Task flow (Agent Mode)
390
480
 
391
- Every task in Code Mode or Agent Mode is shown as a compact live flow, and
392
- each step changes state only when the work behind it really happened. Code
393
- Mode shows the protocol header, the plan as a checklist, and a single live
394
- action line:
481
+ Every Agent Mode task is shown as a live flow, and each line appears only when
482
+ the work behind it really happened. In the persistent interface the header
483
+ carries the status and the conversation carries the activity stream; in the
484
+ sequential console Agent Mode additionally shows the plan as a checklist. Both
485
+ reflect what the agent really did:
395
486
 
396
487
  ```text
397
- ╭─ SEEDCODE 8.1.0 • CODE MODE ────────────────╮
488
+ ╭─ SEEDCODE 9.1.0 • AGENT MODE ───────────────╮
398
489
  │ ● RUNNING Task 3/8 Build authentication │
399
490
  │ ████████████░░░░ 72% • 4m 32s • 18 calls │
400
491
  │ → Running: pytest tests/auth │
@@ -416,7 +507,7 @@ screen — it degrades to a single status line when the space runs out.
416
507
  Agent Mode keeps the event-driven step flow:
417
508
 
418
509
  ```text
419
- Task · Code Mode
510
+ Task · Agent Mode
420
511
  Fix authentication persistence
421
512
  ✓ Analyze project request understood
422
513
  ✓ Inspect files read_file seedcode/config.py
@@ -440,7 +531,7 @@ count:
440
531
  Ready for next task.
441
532
  ```
442
533
 
443
- A whole Code Mode project closes with the evidence that verified it, not a
534
+ A whole agent project closes with the evidence that verified it, not a
444
535
  restatement of the model's replies:
445
536
 
446
537
  ```text
@@ -491,15 +582,15 @@ The agent runs commands through the tool engine's `run_command` tool:
491
582
  | `/provider` | Switch the active AI provider |
492
583
  | `/apikey` | Add, replace, remove, or validate a provider key |
493
584
  | `/model` | Browse and select the provider's model catalogue |
494
- | `/mode` | Show or switch the mode: `chat` / `code` / `agent` |
585
+ | `/mode` | Show or switch the mode: `chat` / `agent` (`code` is an alias for Agent) |
495
586
  | `/chat` | Switch to plain Chat Mode (`/chat on`) |
496
587
  | `/agent` | Select Agent Mode (`on` / `off`; aliases `/assist`, `/desktop`) |
497
- | `/codemode` | Workspace-aware Code Mode (`on` / `off` / `status`) |
498
- | `/workspace` | Show the active Code Mode workspace |
499
- | `/session` | Inspect the Code Mode session: state, evidence, per-task records |
500
- | `/pause` | Pause the running Code Mode session (state is kept) |
588
+ | `/codemode` | Agent Mode workspace capability (`on` / `off` / `status`) |
589
+ | `/workspace` | Show the active Agent Mode workspace |
590
+ | `/session` | Inspect the agent session: state, evidence, per-task records |
591
+ | `/pause` | Pause the running agent session (state is kept) |
501
592
  | `/resume` | Resume a paused session from its checkpoint |
502
- | `/stop` | Safely stop the running Code Mode session |
593
+ | `/stop` | Safely stop the running agent session |
503
594
  | `/permission` | View or set the Agent Mode permission level (alias `/permissions`) |
504
595
  | `/computer` | Show Computer Engine status and permissions |
505
596
  | `/screenshot` | Capture a screenshot |
@@ -516,9 +607,36 @@ The agent runs commands through the tool engine's `run_command` tool:
516
607
  | `/version` | Show the Seed Code version |
517
608
  | `/exit` | Leave the current chat (opens the main menu) |
518
609
 
519
- Keyboard shortcuts: `Ctrl+K` command palette, `Ctrl+P` project file search,
520
- `Ctrl+R` history, `Ctrl+,` settings, `Ctrl+/` shortcut reference,
521
- `Ctrl+L` clear.
610
+ ### Persistent interface (TUI)
611
+
612
+ Running `seedcode` on an interactive console opens the persistent workspace.
613
+ The three regions are fixed: the header never scrolls away, only the
614
+ conversation scrolls, and the composer stays at the bottom.
615
+
616
+ | Key | Action |
617
+ | --- | --- |
618
+ | `Enter` | Send the message |
619
+ | `Shift+Enter` (or `Ctrl+J` / `Alt+Enter`) | Insert a newline without sending |
620
+ | `↑` / `↓` | Walk the input history |
621
+ | `Ctrl+C` | Cancel the running turn (or clear the composer when idle) |
622
+ | `Esc` | Clear the composer / deny a pending permission prompt |
623
+ | `Ctrl+K` | Command palette |
624
+ | `Ctrl+P` | Project file search |
625
+ | `Ctrl+R` | Saved session history |
626
+ | `Ctrl+,` | Settings |
627
+ | `Ctrl+/` | Shortcut reference |
628
+ | `Ctrl+L` | Clear the conversation |
629
+ | `PageUp` / `PageDown`, `Ctrl+Home` / `Ctrl+End` | Scroll the conversation |
630
+ | Mouse wheel | Scroll the conversation |
631
+ | `Ctrl+D` | Exit |
632
+
633
+ Only the conversation scrolls, and output is repainted incrementally: there is
634
+ no clear-screen-and-redraw loop, so the header and composer stay stable while a
635
+ model streams, the thinking indicator animates, commands run, tool events
636
+ appear, or the terminal is resized.
637
+
638
+ Set `SEEDCODE_NO_TUI=1` to use the sequential console instead (as the
639
+ `SEEDCODE_PLAIN` mode and piped hosts do automatically).
522
640
 
523
641
  All exit paths are clean: `/exit` → menu, menu → Exit, `Ctrl+C` (cancels a
524
642
  response or the current line), and `Ctrl+D`/EOF. No traceback appears on
@@ -576,7 +694,7 @@ health.
576
694
 
577
695
  - **Windows:** full experience — desktop control, one-click installer,
578
696
  standalone EXE. Primary platform.
579
- - **Linux / macOS:** terminal chat, providers, project tools, Code Mode.
697
+ - **Linux / macOS:** terminal chat, providers, project tools, Agent Mode workspace.
580
698
  Install with the `install.sh` command above — it installs the official
581
699
  Python wheel, so **Python 3.10+ (with pip)** is required. No prebuilt
582
700
  Linux/macOS binary is published in this release.
@@ -608,21 +726,21 @@ stage fails loudly on a version mismatch, so a stale binary can never ship.
608
726
 
609
727
  Details: [`scripts/windows/README.md`](scripts/windows/README.md).
610
728
 
611
- ### Release artifacts (v8.1.0)
729
+ ### Release artifacts (v9.1.0)
612
730
 
613
- Release: [v8.1.0](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v8.1.0)
731
+ Release: [v9.1.0](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v9.1.0)
614
732
 
615
733
  | Artifact | Purpose |
616
734
  | --- | --- |
617
- | `SeedCode-CLI-Setup-8.1.0.exe` | Windows installer (Inno Setup) |
618
- | `SeedCode-CLI-8.1.0-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
619
- | `seedcode_cli-8.1.0-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
620
- | `seedcode_cli-8.1.0.tar.gz` | Python source distribution |
735
+ | `SeedCode-CLI-Setup-9.1.0.exe` | Windows installer (Inno Setup) |
736
+ | `SeedCode-CLI-9.1.0-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
737
+ | `seedcode_cli-9.1.0-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
738
+ | `seedcode_cli-9.1.0.tar.gz` | Python source distribution |
621
739
  | `SHA256SUMS.txt` | SHA256 checksums; verified by both installers |
622
740
 
623
- Built artifacts are collected in `dist/release/8.1.0/` during a release
741
+ Built artifacts are collected in `dist/release/9.1.0/` during a release
624
742
  build. Publishing (GitHub Release) is a separate step; the remote installers
625
- read the release named `v8.1.0`.
743
+ read the release named `v9.1.0`.
626
744
 
627
745
  ### The remote installers
628
746