seedcode-cli 6.2.5__tar.gz → 7.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.
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/PKG-INFO +242 -46
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/README.md +241 -45
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/npm/README.md +9 -4
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/scripts/windows/README.md +4 -3
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/__init__.py +5 -2
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/_default_key_template.py +1 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/app.py +484 -48
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/codemode.py +48 -8
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/__init__.py +19 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/about.py +10 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/agent.py +2 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/assist.py +2 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/chat.py +3 -3
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/codemode.py +10 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/desktop.py +2 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/mode.py +3 -1
- seedcode_cli-7.1.0/seedcode/commands/session.py +137 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/status.py +47 -4
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser.py +15 -2
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_engine.py +23 -3
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/controller.py +16 -3
- seedcode_cli-7.1.0/seedcode/computer/lifecycle_guard.py +173 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/windows.py +13 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/agent.py +239 -19
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/models.py +37 -1
- seedcode_cli-7.1.0/seedcode/core/session.py +967 -0
- seedcode_cli-7.1.0/seedcode/core/tasks.py +902 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/defaults.py +8 -4
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/base.py +11 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/filesystem.py +13 -3
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/terminal.py +4 -1
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/textio.py +10 -2
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/__init__.py +100 -18
- seedcode_cli-7.1.0/seedcode/ui/codemode_header.py +348 -0
- seedcode_cli-7.1.0/seedcode/ui/dashboard.py +423 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/layout.py +39 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/renderer.py +23 -4
- seedcode_cli-7.1.0/seedcode/ui/session_view.py +280 -0
- seedcode_cli-7.1.0/seedcode/ui/tasks.py +698 -0
- seedcode_cli-7.1.0/seedcode/utils/text.py +107 -0
- seedcode_cli-6.2.5/seedcode/assets/logo.txt +0 -15
- seedcode_cli-6.2.5/seedcode/ui/dashboard.py +0 -165
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/.gitignore +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/LICENSE +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/npm/LICENSE +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/pyproject.toml +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/scripts/pyproject_build_hook.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/__main__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/apps/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/apps/discovery.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/apps/installer.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/apps/launcher.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/apps/verifier.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/assets/logo.png +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/branding.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/cli.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/codemode_state.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/clear.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/doctor.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/help.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/history.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/palette.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/provider.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/commands/theme.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_cdp.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_extract.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_popups.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_selenium.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/browser_skills.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/catalog.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/dispatcher.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/dpi.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/engine.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/keyboard.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/logbook.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/mouse.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/ocr.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/operator_skills.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/permissions.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/recovery.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/registry.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/resolver.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/screen.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/screen_state.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/selfguard.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/semantic.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/skills.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/state.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/verifier.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/computer/vision.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/config/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/config/defaults.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/config/manager.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/chat.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/client.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/errors.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/http.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/identity.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/identity_store.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/lifecycle.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/limits.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/project.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/aerolink.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/base.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/default.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/freemodel.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/ollama.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/providers/openrouter.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/core/streaming.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/default_api.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/memory/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/memory/manager.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/memory/storage.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/memory/store.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/desktop.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/git.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/patch.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/permissions.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/tools/search.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/badges.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/dialog.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/fuzzy.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/menu.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/palette.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/progress.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/prompts.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/reference.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/searchbox.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/selector.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/statusbar.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/textbox.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/theme.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/ui/tree.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/utils/__init__.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/utils/helpers.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/utils/logger.py +0 -0
- {seedcode_cli-6.2.5 → seedcode_cli-7.1.0}/seedcode/utils/terminal_env.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: seedcode-cli
|
|
3
|
-
Version:
|
|
3
|
+
Version: 7.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
|
|
@@ -52,16 +52,24 @@ Description-Content-Type: text/markdown
|
|
|
52
52
|
> ### Faster. Smaller. Smarter. Workspace-aware.
|
|
53
53
|
> *Plant ideas. Grow code.*
|
|
54
54
|
|
|
55
|
-
Seed Code is a premium terminal-based AI coding assistant.
|
|
55
|
+
Seed Code is a premium terminal-based AI coding assistant. v7.1.0 pairs
|
|
56
56
|
streaming chat and permission-gated desktop control with **Code Mode** — a
|
|
57
57
|
workspace-aware coding agent backed by persistent `.seedcode` project memory
|
|
58
|
-
— behind a
|
|
58
|
+
— behind a structured startup dashboard that carries the brand, the live
|
|
59
|
+
session state and the task flow, with no ASCII logo.
|
|
59
60
|
|
|
60
61
|
- **Works out of the box:** the shipped provider is **Default** — Seed Code's
|
|
61
|
-
own built-in connection. It needs **no API key
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
own built-in connection. It needs **no API key** and ships pointed at
|
|
63
|
+
`cohere/north-mini-code:free`, so a fresh installation can work
|
|
64
|
+
immediately. Bring your own key at any time with `/provider` → OpenRouter,
|
|
65
|
+
FreeModel or AeroLink.
|
|
66
|
+
- **Structured dashboard:** the brand on the left, identity (`Seed Code |
|
|
67
|
+
Eagox Studio`), the tagline and the live provider, model, mode and status on
|
|
68
|
+
the right, behind a responsive bordered panel — and no ASCII logo anywhere.
|
|
69
|
+
- **Step-by-step tasks:** Code, Assist and Agent Mode show a live task flow
|
|
70
|
+
(analyze → inspect → plan → implement → test → verify) that reflects what
|
|
71
|
+
the agent really did, and hands the prompt back when the task ends.
|
|
72
|
+
- **Version:** 7.1.0 (`seedcode --version`)
|
|
65
73
|
|
|
66
74
|
## Installation
|
|
67
75
|
|
|
@@ -89,25 +97,33 @@ prints the verified version when it finishes.
|
|
|
89
97
|
curl -fsSL https://seedcode-cli.vercel.app/install.sh | bash
|
|
90
98
|
```
|
|
91
99
|
|
|
92
|
-
Installs for the current user.
|
|
93
|
-
|
|
94
|
-
release
|
|
100
|
+
Installs for the current user. No prebuilt Linux/macOS binary is published in
|
|
101
|
+
this release: `install.sh` installs the official Python wheel from the same
|
|
102
|
+
release with `pip install --user`, so it needs **Python 3.12 or newer (with
|
|
103
|
+
pip)** on the machine. If a prebuilt binary for your platform is ever
|
|
104
|
+
published, it is used directly instead. Either way `install.sh` installs only
|
|
105
|
+
what it can verify against the release's `SHA256SUMS.txt` — a missing
|
|
106
|
+
checksum entry, a mismatching digest, or a host with no SHA256 tool makes it
|
|
107
|
+
stop instead of installing unverified code.
|
|
95
108
|
|
|
96
109
|
### Windows installer (GUI alternative)
|
|
97
110
|
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
shortcut with an optional desktop shortcut, verifies the installation before
|
|
104
|
-
|
|
105
|
-
|
|
111
|
+
The release publishes two Windows binaries; both are fully self-contained (no
|
|
112
|
+
Python required) and both run the same CLI:
|
|
113
|
+
|
|
114
|
+
| Download | What it is |
|
|
115
|
+
| --- | --- |
|
|
116
|
+
| `SeedCode-CLI-Setup-7.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. |
|
|
117
|
+
| `SeedCode-CLI-7.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. |
|
|
118
|
+
|
|
119
|
+
Both are published on the
|
|
120
|
+
[Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases) with
|
|
121
|
+
their SHA256 in `SHA256SUMS.txt`.
|
|
106
122
|
|
|
107
123
|
After installing by any route:
|
|
108
124
|
|
|
109
125
|
```bash
|
|
110
|
-
seedcode --version # -> Seed Code CLI
|
|
126
|
+
seedcode --version # -> Seed Code CLI 7.1.0
|
|
111
127
|
```
|
|
112
128
|
|
|
113
129
|
> **`seedcode` not recognized?** Open a *new* terminal. `PATH` changes only
|
|
@@ -130,22 +146,36 @@ seedcode
|
|
|
130
146
|
seedcode
|
|
131
147
|
```
|
|
132
148
|
|
|
133
|
-
You land on
|
|
134
|
-
|
|
135
|
-
|
|
149
|
+
You land on the Seed Code dashboard — the structured startup panel: branding
|
|
150
|
+
on the left, a divider, and the live session state on the right. The ASCII
|
|
151
|
+
logo is permanently gone (the brand is plain text); the layout, sections and
|
|
152
|
+
status indicators stay:
|
|
136
153
|
|
|
137
154
|
```text
|
|
138
|
-
Seed Code CLI
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
155
|
+
╭─ Seed Code CLI v7.1.0 ───────────────────────────────────────────────────────────────────────╮
|
|
156
|
+
│ │
|
|
157
|
+
│ Seed Code │ Seed Code | Eagox Studio │
|
|
158
|
+
│ AI CODING AGENT │ Plant ideas. Grow code. │
|
|
159
|
+
│ │ Provider Default │
|
|
160
|
+
│ │ Model cohere/north-mini-code:free │
|
|
161
|
+
│ │ Mode Chat • ● Ready │
|
|
162
|
+
╰──────────────────────────────────────────────────────────────────────────────────────────────╯
|
|
143
163
|
Commands /help /status /codemode /assist /provider /model
|
|
144
164
|
You >
|
|
145
165
|
```
|
|
146
166
|
|
|
167
|
+
The panel is 96 columns wide on a wide terminal — wide enough that the whole
|
|
168
|
+
`cohere/north-mini-code:free` model name fits without clipping — and kept
|
|
169
|
+
deliberately short (one blank row under the title, then the live rows; no
|
|
170
|
+
padding rows to scroll past). Narrower terminals slide the info section left
|
|
171
|
+
so the whole model name still fits (80 columns shows it in full), then fall
|
|
172
|
+
back to a compact one-row panel, then to plain lines. Consoles that cannot
|
|
173
|
+
draw (or encode) the glyphs get the same layout in ASCII.
|
|
174
|
+
|
|
147
175
|
The `API Key` row appears **only** for providers that actually require a key,
|
|
148
|
-
so Default and Ollama never show one.
|
|
176
|
+
so Default and Ollama never show one. `cohere/north-mini-code:free` is the
|
|
177
|
+
ships-with default for **Default only**; every other provider keeps its own
|
|
178
|
+
model, and switching providers never copies one model onto another.
|
|
149
179
|
|
|
150
180
|
### Default provider (no API key)
|
|
151
181
|
|
|
@@ -189,7 +219,7 @@ configuration.
|
|
|
189
219
|
|
|
190
220
|
| Provider | API key | Best for |
|
|
191
221
|
| --- | --- | --- |
|
|
192
|
-
| **Default** | not required |
|
|
222
|
+
| **Default** | not required | Working immediately on a release install (`cohere/north-mini-code:free`) |
|
|
193
223
|
| [OpenRouter](https://openrouter.ai) | required | A broad catalogue of free and paid models |
|
|
194
224
|
| FreeModel Claude | required | Claude-family models through FreeModel |
|
|
195
225
|
| FreeModel Codex | required | GPT/Codex models through FreeModel |
|
|
@@ -234,6 +264,71 @@ targeted searches, reads only what it needs, plans, edits, runs a relevant
|
|
|
234
264
|
command or test, and reports what changed. File operations stay inside the
|
|
235
265
|
workspace root.
|
|
236
266
|
|
|
267
|
+
### Persistent task execution (v7.1.0)
|
|
268
|
+
|
|
269
|
+
Code Mode is a **long-running agent**, not one model call. A request becomes a
|
|
270
|
+
plan (a task graph with dependencies and acceptance criteria), and the session
|
|
271
|
+
runs task after task until each one is *verified*:
|
|
272
|
+
|
|
273
|
+
```text
|
|
274
|
+
Plan (3 tasks) → Task 1 → verify → Task 2 → verify → Task 3 → verify
|
|
275
|
+
→ final verification → project complete
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
- **A response is not completion.** A task is only `COMPLETED` when its
|
|
279
|
+
acceptance criteria are satisfied by real evidence — files that exist, a
|
|
280
|
+
command that ran and exited 0, tests that passed, no unresolved error. A
|
|
281
|
+
model that says “done” while the tests fail is sent back to fix them.
|
|
282
|
+
- **A task is a unit of work, not a model call.** Each task may take many
|
|
283
|
+
model/tool cycles: analyse → inspect → implement → run → fail → fix → re-run
|
|
284
|
+
→ verify.
|
|
285
|
+
- **Limits do not end a task.** An output/context limit continues the task with
|
|
286
|
+
another call; a temporary provider error retries with backoff; a repeated
|
|
287
|
+
identical failure stops with an explicit blocker instead of looping.
|
|
288
|
+
- **State survives.** Every transition is checkpointed to
|
|
289
|
+
`.seedcode/checkpoints/`, so a pause, a crash or an API failure resumes from
|
|
290
|
+
the current task.
|
|
291
|
+
|
|
292
|
+
```text
|
|
293
|
+
/session # the detailed view: session state + one row per task record
|
|
294
|
+
/pause # stop at the next safe boundary, keeping plan + files
|
|
295
|
+
/resume # continue from the checkpoint (current task, not from zero)
|
|
296
|
+
/stop # safely end the autonomous session
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
Ctrl+C stops the session the same way; nothing here closes an application or
|
|
300
|
+
rolls back your files. A stopped session is **not** lost: the CLI says so and
|
|
301
|
+
`/resume` continues from the checkpoint.
|
|
302
|
+
|
|
303
|
+
Every task also keeps its own execution record — files inspected and affected,
|
|
304
|
+
commands run with their outcome, tool calls, test results, errors, retries,
|
|
305
|
+
timestamps and the verification result — and it is stored per task in
|
|
306
|
+
`.seedcode/plan.json`, so a resume continues with the full per-task history.
|
|
307
|
+
`/session` renders that record:
|
|
308
|
+
|
|
309
|
+
```text
|
|
310
|
+
State RUNNING
|
|
311
|
+
Progress 1/3 tasks verified
|
|
312
|
+
Current task 2. Create database
|
|
313
|
+
Action Running pytest tests/db
|
|
314
|
+
Model calls 12
|
|
315
|
+
Tool calls 31
|
|
316
|
+
Tests passed (pytest -q)
|
|
317
|
+
Commands 1/1 ok
|
|
318
|
+
Files changed 1
|
|
319
|
+
Files inspected 2
|
|
320
|
+
Checkpoint saved on pause/stop (see /resume)
|
|
321
|
+
|
|
322
|
+
✓ 1 Setup project verified 2 criteria 1 inspected; 1 file(s); 1/1 cmd ok; tests passed
|
|
323
|
+
● 2 Create database — no tool activity recorded
|
|
324
|
+
○ 3 Add tests — not started
|
|
325
|
+
```
|
|
326
|
+
|
|
327
|
+
`/status` carries the same state in one line
|
|
328
|
+
(`Session RUNNING (1/3 verified) — Task 2`), and a stopped one reports that it
|
|
329
|
+
is resumable. A task row only ever shows what was observed — a task that did
|
|
330
|
+
nothing reads `no tool activity recorded`, never a success.
|
|
331
|
+
|
|
237
332
|
### `.seedcode` project memory
|
|
238
333
|
|
|
239
334
|
Enabling Code Mode creates a `.seedcode/` directory in the project root:
|
|
@@ -241,11 +336,13 @@ Enabling Code Mode creates a `.seedcode/` directory in the project root:
|
|
|
241
336
|
```text
|
|
242
337
|
my-project/
|
|
243
338
|
├── .seedcode/
|
|
244
|
-
│ ├── memory/
|
|
245
|
-
│ ├── index/
|
|
246
|
-
│ ├── context/
|
|
247
|
-
│ ├── sessions/
|
|
248
|
-
│
|
|
339
|
+
│ ├── memory/ durable project knowledge (architecture, decisions…)
|
|
340
|
+
│ ├── index/ per-file summaries + a file map (incremental, hashed)
|
|
341
|
+
│ ├── context/ reusable project context (conventions, snippets)
|
|
342
|
+
│ ├── sessions/ compact per-session summaries (never raw transcripts)
|
|
343
|
+
│ ├── checkpoints/ resumable Code Mode session state
|
|
344
|
+
│ ├── plan.json the current task graph
|
|
345
|
+
│ └── config.json safe project configuration
|
|
249
346
|
├── src/
|
|
250
347
|
└── ...
|
|
251
348
|
```
|
|
@@ -257,12 +354,93 @@ my-project/
|
|
|
257
354
|
- **Not source code** — `.seedcode/` is excluded from workspace search,
|
|
258
355
|
indexing, and the agent's project view.
|
|
259
356
|
|
|
357
|
+
## Task flow (Code / Assist / Agent Mode)
|
|
358
|
+
|
|
359
|
+
Every task in Code Mode, Assist Mode or Agent Mode is shown as a compact live
|
|
360
|
+
flow, and each step changes state only when the work behind it really
|
|
361
|
+
happened. Code Mode shows the protocol header, the plan as a checklist, and a
|
|
362
|
+
single live action line:
|
|
363
|
+
|
|
364
|
+
```text
|
|
365
|
+
╭─ SEEDCODE 7.1.0 • CODE MODE ────────────────╮
|
|
366
|
+
│ ● RUNNING Task 3/8 Build authentication │
|
|
367
|
+
│ ████████████░░░░ 72% • 4m 32s • 18 calls │
|
|
368
|
+
│ → Running: pytest tests/auth │
|
|
369
|
+
╰─────────────────────────────────────────────╯
|
|
370
|
+
✓ Setup project
|
|
371
|
+
✓ Create database
|
|
372
|
+
● Implement authentication
|
|
373
|
+
○ Build dashboard
|
|
374
|
+
○ Add tests
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
The action line is a real phase, not decoration: it shows the tool actually
|
|
378
|
+
running (reading a file, editing one, running a command), and it switches to
|
|
379
|
+
`Verifying acceptance criteria` / `Verifying the project (tests / build)` when
|
|
380
|
+
the session moves into those phases. The panel re-fits itself on every refresh,
|
|
381
|
+
so resizing the terminal mid-session cannot leave a panel wider than the
|
|
382
|
+
screen — it degrades to a single status line when the space runs out.
|
|
383
|
+
|
|
384
|
+
Assist Mode and Agent Mode keep the step-by-step flow:
|
|
385
|
+
|
|
386
|
+
```text
|
|
387
|
+
Task · Code Mode
|
|
388
|
+
Fix authentication persistence
|
|
389
|
+
✓ Analyze project request understood
|
|
390
|
+
✓ Inspect files read_file seedcode/config.py
|
|
391
|
+
✓ Plan implementation I'll patch the persistence layer…
|
|
392
|
+
● Implement changes edit_file seedcode/config.py
|
|
393
|
+
○ Run tests
|
|
394
|
+
○ Verify result
|
|
395
|
+
Working…
|
|
396
|
+
```
|
|
397
|
+
|
|
398
|
+
The five states are `pending`, `running`, `completed`, `failed` and
|
|
399
|
+
`skipped`. A step the task never needed is reported as **skipped** — “Run
|
|
400
|
+
tests” is never marked done unless a recognised test command actually ran, and
|
|
401
|
+
a failing run is shown as failed, showing what failed instead of a passing
|
|
402
|
+
count:
|
|
403
|
+
|
|
404
|
+
```text
|
|
405
|
+
✓ Task completed
|
|
406
|
+
2 file(s) changed: seedcode/config.py, seedcode/providers.py
|
|
407
|
+
Tests: 898 passed — pytest tests -q
|
|
408
|
+
Ready for next task.
|
|
409
|
+
```
|
|
410
|
+
|
|
411
|
+
A whole Code Mode project closes with the evidence that verified it, not a
|
|
412
|
+
restatement of the model's replies:
|
|
413
|
+
|
|
414
|
+
```text
|
|
415
|
+
✓ Project completed — 3/3 tasks verified
|
|
416
|
+
✓ Verification: accepted
|
|
417
|
+
✓ Tests: passed
|
|
418
|
+
✓ Files: 4 affected
|
|
419
|
+
✓ Commands: 7/7 ok
|
|
420
|
+
• Inspected: 12 item(s)
|
|
421
|
+
Ready for next task.
|
|
422
|
+
```
|
|
423
|
+
|
|
424
|
+
```text
|
|
425
|
+
✗ Task failed — tests failed
|
|
426
|
+
1 step(s) failed: Run tests
|
|
427
|
+
Ready for another task.
|
|
428
|
+
```
|
|
429
|
+
|
|
430
|
+
A task never closes the CLI: success, failure and `Ctrl+C` all return to the
|
|
431
|
+
prompt (or the menu) so you can inspect the result, run another task, switch
|
|
432
|
+
mode or provider, or `/exit` yourself. Plain Chat Mode is unaffected — it
|
|
433
|
+
answers with the ordinary spinner.
|
|
434
|
+
|
|
260
435
|
## Terminal execution
|
|
261
436
|
|
|
262
437
|
The agent runs commands through the tool engine's `run_command` tool:
|
|
263
438
|
|
|
264
439
|
- output streams line-by-line **while the command is still running**, so long
|
|
265
|
-
builds and test runs stay visible instead of blocking
|
|
440
|
+
builds and test runs stay visible instead of blocking. The live view is
|
|
441
|
+
compact: the first few lines of each command are echoed, then one summary
|
|
442
|
+
line. The agent and `~/.seedcode/logs/seedcode.log` still receive the full
|
|
443
|
+
output, and failures are never hidden;
|
|
266
444
|
- `stderr` is captured along with `stdout`, in order;
|
|
267
445
|
- the exit code is reported, and a non-zero exit is an explicit failure the
|
|
268
446
|
model can react to;
|
|
@@ -286,6 +464,10 @@ The agent runs commands through the tool engine's `run_command` tool:
|
|
|
286
464
|
| `/agent` | Enable or disable Assist Mode (alias `/assist`) |
|
|
287
465
|
| `/codemode` | Workspace-aware Code Mode (`on` / `off` / `status`) |
|
|
288
466
|
| `/workspace` | Show the active Code Mode workspace |
|
|
467
|
+
| `/session` | Inspect the Code Mode session: state, evidence, per-task records |
|
|
468
|
+
| `/pause` | Pause the running Code Mode session (state is kept) |
|
|
469
|
+
| `/resume` | Resume a paused session from its checkpoint |
|
|
470
|
+
| `/stop` | Safely stop the running Code Mode session |
|
|
289
471
|
| `/permission` | View or set the Assist permission mode (alias `/permissions`) |
|
|
290
472
|
| `/computer` | Show Computer Engine status and permissions |
|
|
291
473
|
| `/screenshot` | Capture a screenshot |
|
|
@@ -320,6 +502,14 @@ drive keyboard/mouse with per-action verification. Waits are state-based:
|
|
|
320
502
|
pauses are short because state is re-read live, and screenshots are taken
|
|
321
503
|
only when information is genuinely needed.
|
|
322
504
|
|
|
505
|
+
**Applications stay open.** When Seed Code opens an application or a browser
|
|
506
|
+
to do something for you ("play *this* song"), the app remains open when the
|
|
507
|
+
task finishes. Closing is only ever done on an explicit request
|
|
508
|
+
(`close_app` / `browser_close`); no teardown, retry, or cleanup path may close
|
|
509
|
+
a window, a browser, or a tab behind your back. Internal cleanup (releasing
|
|
510
|
+
mouse/keyboard control, closing DevTools sockets, dropping cached drivers) is
|
|
511
|
+
unchanged, and Seed Code never closes its own terminal — `/exit` does that.
|
|
512
|
+
|
|
323
513
|
## Configuration and local data
|
|
324
514
|
|
|
325
515
|
```text
|
|
@@ -355,7 +545,9 @@ health.
|
|
|
355
545
|
- **Windows:** full experience — desktop control, one-click installer,
|
|
356
546
|
standalone EXE. Primary platform.
|
|
357
547
|
- **Linux / macOS:** terminal chat, providers, project tools, Code Mode.
|
|
358
|
-
Install with the `install.sh` command above
|
|
548
|
+
Install with the `install.sh` command above — it installs the official
|
|
549
|
+
Python wheel, so **Python 3.12+ (with pip)** is required. No prebuilt
|
|
550
|
+
Linux/macOS binary is published in this release.
|
|
359
551
|
|
|
360
552
|
## Building from source
|
|
361
553
|
|
|
@@ -384,19 +576,21 @@ stage fails loudly on a version mismatch, so a stale binary can never ship.
|
|
|
384
576
|
|
|
385
577
|
Details: [`scripts/windows/README.md`](scripts/windows/README.md).
|
|
386
578
|
|
|
387
|
-
### Release artifacts (
|
|
579
|
+
### Release artifacts (v7.1.0)
|
|
580
|
+
|
|
581
|
+
Release: [v7.1.0](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v7.1.0)
|
|
388
582
|
|
|
389
583
|
| Artifact | Purpose |
|
|
390
584
|
| --- | --- |
|
|
391
|
-
| `SeedCode-CLI-Setup-
|
|
392
|
-
| `SeedCode-CLI-
|
|
393
|
-
| `seedcode_cli-
|
|
394
|
-
| `
|
|
585
|
+
| `SeedCode-CLI-Setup-7.1.0.exe` | Windows installer (Inno Setup) |
|
|
586
|
+
| `SeedCode-CLI-7.1.0-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
|
|
587
|
+
| `seedcode_cli-7.1.0-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
|
|
588
|
+
| `seedcode_cli-7.1.0.tar.gz` | Python source distribution |
|
|
395
589
|
| `SHA256SUMS.txt` | SHA256 checksums; verified by both installers |
|
|
396
590
|
|
|
397
|
-
Built artifacts are collected in `dist/release/
|
|
591
|
+
Built artifacts are collected in `dist/release/7.1.0/` during a release
|
|
398
592
|
build. Publishing (GitHub Release) is a separate step; the remote installers
|
|
399
|
-
read the release named `
|
|
593
|
+
read the release named `v7.1.0`.
|
|
400
594
|
|
|
401
595
|
### The remote installers
|
|
402
596
|
|
|
@@ -422,7 +616,8 @@ read the release named `v6.2.5`.
|
|
|
422
616
|
`OPENROUTER_API_KEY`.
|
|
423
617
|
- **401/403 errors** — your key is invalid or lacks access; `/apikey` to
|
|
424
618
|
replace it, `/doctor` for diagnostics.
|
|
425
|
-
- **402 errors** — the model needs credits; `/model` and pick a free model
|
|
619
|
+
- **402 errors** — the model needs credits; `/model` and pick a free model
|
|
620
|
+
(Default ships with `cohere/north-mini-code:free`).
|
|
426
621
|
- **Rate limits (429)** — wait and retry; Seed Code honors the provider's
|
|
427
622
|
`Retry-After` hint. Consider a different provider.
|
|
428
623
|
- **Desktop actions fail** — check `/permission` (desktop requires the
|
|
@@ -449,8 +644,9 @@ projects or with sensitive applications.
|
|
|
449
644
|
|
|
450
645
|
## Credits
|
|
451
646
|
|
|
452
|
-
- **Created by:** Al Shahriar Sowan
|
|
453
|
-
- **
|
|
647
|
+
- **Created by:** Al Shahriar Sowan — <https://alshahriarsayon.vercel.app/>
|
|
648
|
+
- **Studio:** Eagox Studio — <https://eagoxstudio.vercel.app/>
|
|
649
|
+
- **Contact:** github@eagox.studio
|
|
454
650
|
|
|
455
651
|
## License
|
|
456
652
|
|