seedcode-cli 9.1.0__tar.gz → 9.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/.gitignore +5 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/PKG-INFO +128 -25
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/README.md +127 -24
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/npm/README.md +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/scripts/windows/README.md +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/__init__.py +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/_default_key_template.py +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/app.py +122 -10
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/doctor.py +10 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/agent.py +99 -10
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/chat.py +33 -9
- seedcode_cli-9.1.1/seedcode/core/intent.py +321 -0
- seedcode_cli-9.1.1/seedcode/core/internet.py +255 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/default.py +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/default_api.py +77 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/__init__.py +1 -1
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/permissions.py +18 -2
- seedcode_cli-9.1.1/seedcode/tools/web.py +81 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/codemode_header.py +2 -2
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/dashboard.py +2 -2
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/dialog.py +12 -4
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/tui.py +12 -4
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/LICENSE +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/npm/LICENSE +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/pyproject.toml +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/scripts/pyproject_build_hook.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/__main__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/apps/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/apps/discovery.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/apps/installer.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/apps/launcher.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/apps/verifier.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/assets/logo.png +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/branding.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/cli.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/codemode.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/codemode_state.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/about.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/agent.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/assist.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/chat.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/clear.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/codemode.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/desktop.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/help.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/history.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/mode.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/palette.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/provider.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/session.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/status.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/theme.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/commands/youtube_music.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_cdp.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_engine.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_extract.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_popups.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_selenium.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/browser_skills.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/catalog.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/controller.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/dispatcher.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/dpi.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/engine.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/keyboard.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/lifecycle_guard.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/logbook.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/mouse.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/ocr.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/operator_skills.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/permissions.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/recovery.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/registry.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/resolver.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/screen.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/screen_state.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/selfguard.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/semantic.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/skills.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/state.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/verifier.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/vision.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/computer/windows.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/config/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/config/defaults.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/config/manager.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/client.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/errors.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/http.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/identity.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/identity_store.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/lifecycle.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/limits.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/models.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/modes.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/project.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/aerolink.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/base.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/custom.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/failover.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/freemodel.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/health.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/ollama.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/ollama_start.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/providers/openrouter.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/session.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/streaming.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/core/tasks.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/defaults.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/memory/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/memory/manager.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/memory/storage.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/memory/store.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/base.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/desktop.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/filesystem.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/git.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/patch.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/search.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/terminal.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/tools/textio.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/badges.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/content.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/fuzzy.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/header.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/layout.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/menu.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/mode_switch.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/palette.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/progress.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/prompts.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/reference.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/renderer.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/searchbox.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/selector.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/session_view.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/state.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/statusbar.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/tasks.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/textbox.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/theme.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/ui/tree.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/utils/__init__.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/utils/helpers.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/utils/logger.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/utils/terminal_env.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/utils/text.py +0 -0
- {seedcode_cli-9.1.0 → seedcode_cli-9.1.1}/seedcode/workspace.py +0 -0
|
@@ -64,6 +64,11 @@ Desktop.ini
|
|
|
64
64
|
.claude/
|
|
65
65
|
|
|
66
66
|
# Scratch / temporary artifacts (never part of a release)
|
|
67
|
+
# _verify/ holds throwaway virtualenvs and clean-home install tests used while
|
|
68
|
+
# validating a release build. It must stay out of the tree's package inputs:
|
|
69
|
+
# hatchling's sdist includes untracked, non-ignored files, so leaving a scratch
|
|
70
|
+
# venv here would otherwise end up inside the source distribution.
|
|
71
|
+
_verify/
|
|
67
72
|
*.tmp
|
|
68
73
|
*.bak
|
|
69
74
|
*.orig
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: seedcode-cli
|
|
3
|
-
Version: 9.1.
|
|
3
|
+
Version: 9.1.1
|
|
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,7 +55,7 @@ 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
|
-
v9.1.
|
|
58
|
+
v9.1.1 exposes exactly **two modes** — **Chat Mode** and **Agent Mode** — over a
|
|
59
59
|
multi-provider, multi-model engine, behind the Seed Code startup logo and a
|
|
60
60
|
compact block of live session state.
|
|
61
61
|
|
|
@@ -95,7 +95,22 @@ remain accepted aliases, but nothing in the UI presents a third mode.
|
|
|
95
95
|
`AI > ✓ Tests passed`) whose lines appear only when the underlying operation
|
|
96
96
|
really starts. There is no manual to-do list to create or manage, and
|
|
97
97
|
completing a task never closes the application.
|
|
98
|
-
- **
|
|
98
|
+
- **Intent-driven, not tool-eager:** every turn is classified (conversation,
|
|
99
|
+
research, coding, computer) before anything runs, and only the capability
|
|
100
|
+
that intent actually needs is offered to the model. A question never reads
|
|
101
|
+
your project; a coding task never sees the browser tools.
|
|
102
|
+
- **Chat → Agent escalation, and back:** a request sent in Chat Mode that has
|
|
103
|
+
to *execute* something runs with the agent engine and then returns to Chat
|
|
104
|
+
Mode. An explicit `/agent on` stays on until you turn it off.
|
|
105
|
+
- **Internet access when it is actually needed:** a research request can search
|
|
106
|
+
and read current sources in both Chat and Agent Mode — keyless search,
|
|
107
|
+
URL-attributed and character-budgeted context, and
|
|
108
|
+
`SEEDCODE_DISABLE_INTERNET=1` to turn it off. Progress is shown while it
|
|
109
|
+
works.
|
|
110
|
+
- **Permissions that stick:** the permission panel offers Allow, Allow Session
|
|
111
|
+
and Allow All, and an approved scope is no longer forgotten when a new agent
|
|
112
|
+
engine is created.
|
|
113
|
+
- **Version:** 9.1.1 (`seedcode --version`)
|
|
99
114
|
|
|
100
115
|
## Installation
|
|
101
116
|
|
|
@@ -154,8 +169,8 @@ Python required) and both run the same CLI:
|
|
|
154
169
|
|
|
155
170
|
| Download | What it is |
|
|
156
171
|
| --- | --- |
|
|
157
|
-
| `SeedCode-CLI-Setup-9.1.
|
|
158
|
-
| `SeedCode-CLI-9.1.
|
|
172
|
+
| `SeedCode-CLI-Setup-9.1.1.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. |
|
|
173
|
+
| `SeedCode-CLI-9.1.1-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. |
|
|
159
174
|
|
|
160
175
|
Both are published on the
|
|
161
176
|
[Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases) with
|
|
@@ -164,7 +179,7 @@ their SHA256 in `SHA256SUMS.txt`.
|
|
|
164
179
|
After installing by any route:
|
|
165
180
|
|
|
166
181
|
```bash
|
|
167
|
-
seedcode --version # -> Seed Code CLI 9.1.
|
|
182
|
+
seedcode --version # -> Seed Code CLI 9.1.1
|
|
168
183
|
```
|
|
169
184
|
|
|
170
185
|
> **`seedcode` not recognized?** Open a *new* terminal. `PATH` changes only
|
|
@@ -218,7 +233,7 @@ values (provider, model, mode, status, workspace, context budget and the masked
|
|
|
218
233
|
API key) update in place the moment they change.
|
|
219
234
|
|
|
220
235
|
```text
|
|
221
|
-
╭─ Seed Code CLI v9.1.
|
|
236
|
+
╭─ Seed Code CLI v9.1.1 ───────────────────────────────────────────────────────────────────────╮
|
|
222
237
|
│ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
|
|
223
238
|
│ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
|
|
224
239
|
│ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
|
|
@@ -267,12 +282,12 @@ Below is the rendering used when the persistent interface is not available — a
|
|
|
267
282
|
piped host, `SEEDCODE_NO_TUI=1`, or a console that cannot draw it:
|
|
268
283
|
|
|
269
284
|
```text
|
|
270
|
-
╭─ Seed Code CLI v9.1.
|
|
285
|
+
╭─ Seed Code CLI v9.1.1 ───────────────────────────────────────────────────────────────────────╮
|
|
271
286
|
│ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
|
|
272
287
|
│ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
|
|
273
288
|
│ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
|
|
274
289
|
│ │
|
|
275
|
-
│ Seed Code CLI v9.1.
|
|
290
|
+
│ Seed Code CLI v9.1.1 │
|
|
276
291
|
│ Plant ideas. Grow code. │
|
|
277
292
|
│ Provider OpenRouter │
|
|
278
293
|
│ Model cohere/north-mini-code:free │
|
|
@@ -305,14 +320,18 @@ own status, and its own credential slot. It resolves its credential itself,
|
|
|
305
320
|
in this order:
|
|
306
321
|
|
|
307
322
|
1. a key stored in Default's own slot (advanced/manual use);
|
|
308
|
-
2. the embedded Seed Code release credential
|
|
323
|
+
2. the embedded Seed Code release credential — carried by the Windows
|
|
324
|
+
standalone EXE and the Setup installer only. The wheel and sdist
|
|
325
|
+
deliberately never carry it: the build refuses to package the generated
|
|
326
|
+
credential module, so a `pip install` is always a credential-free build;
|
|
309
327
|
3. `OPENROUTER_API_KEY` / `SEEDCODE_DEFAULT_API_KEY` in the environment.
|
|
310
328
|
|
|
311
329
|
It never reads or writes another provider's configuration, and no other
|
|
312
330
|
provider inherits Default's credential. If a build carries no built-in
|
|
313
|
-
credential (a source checkout
|
|
314
|
-
of failing with an authentication error — pick OpenRouter and add your
|
|
315
|
-
key.
|
|
331
|
+
credential (a source checkout or a `pip install`), Default says so plainly
|
|
332
|
+
instead of failing with an authentication error — pick OpenRouter and add your
|
|
333
|
+
own key. On the Windows EXE and Setup installer the credential is present, so
|
|
334
|
+
a fresh install is usable on the Default provider immediately.
|
|
316
335
|
|
|
317
336
|
### Your own API key
|
|
318
337
|
|
|
@@ -338,7 +357,7 @@ configuration.
|
|
|
338
357
|
|
|
339
358
|
| Provider | API key | Best for |
|
|
340
359
|
| --- | --- | --- |
|
|
341
|
-
| **Default** | not required | Working immediately on a
|
|
360
|
+
| **Default** | not required | Working immediately on a Windows EXE/Setup install (`cohere/north-mini-code:free`) |
|
|
342
361
|
| [OpenRouter](https://openrouter.ai) | required | A broad catalogue of free and paid models |
|
|
343
362
|
| FreeModel Claude | required | Claude-family models through FreeModel |
|
|
344
363
|
| FreeModel Codex | required | GPT/Codex models through FreeModel |
|
|
@@ -369,6 +388,82 @@ Permission modes (view/set with `/permission`):
|
|
|
369
388
|
| `desktop` | Add desktop automation capability after confirmation |
|
|
370
389
|
| `full_system` | Allow broader computer and filesystem actions after confirmation |
|
|
371
390
|
|
|
391
|
+
### Permission scopes
|
|
392
|
+
|
|
393
|
+
The permission panel is a bounded TUI component shown between the conversation
|
|
394
|
+
and the composer, inside the same application (never a nested prompt):
|
|
395
|
+
|
|
396
|
+
```text
|
|
397
|
+
╭─ Agent Action ───────────────────────────────────────────────╮
|
|
398
|
+
│ Agent wants to run: │
|
|
399
|
+
│ npm install │
|
|
400
|
+
│ Reason: Run command │
|
|
401
|
+
│ ❯ Allow Once approve this action only │
|
|
402
|
+
│ Always Allow this action type, this session │
|
|
403
|
+
│ Allow All every action type, this session │
|
|
404
|
+
│ Deny block this action │
|
|
405
|
+
│ Enter allow · a allow session · A allow all · d deny │
|
|
406
|
+
╰──────────────────────────────────────────────────────────────╯
|
|
407
|
+
```
|
|
408
|
+
|
|
409
|
+
- **Allow Once** approves the single action.
|
|
410
|
+
- **Always Allow** approves that action type until you exit.
|
|
411
|
+
- **Allow All** approves every action type until you exit.
|
|
412
|
+
|
|
413
|
+
Both broader scopes are in-memory session grants: they are never written to
|
|
414
|
+
`config.json`, and closing Seed Code clears them. Only the agent turn waits —
|
|
415
|
+
the event loop, the header and the composer stay live while you decide.
|
|
416
|
+
Harmless read operations (reading project files, listing directories, searching
|
|
417
|
+
sources, inspecting structure) do not prompt; consequential actions do.
|
|
418
|
+
|
|
419
|
+
## Intent and capability selection
|
|
420
|
+
|
|
421
|
+
Before a turn runs, Seed Code classifies it — deterministically, without calling
|
|
422
|
+
the model:
|
|
423
|
+
|
|
424
|
+
| Intent | Example | What it may reach for |
|
|
425
|
+
| --- | --- | --- |
|
|
426
|
+
| conversation | "How do I fix the provider switching bug?" | nothing; it answers |
|
|
427
|
+
| research | "What changed in the latest Node.js release?" | web search and fetch |
|
|
428
|
+
| coding | "Fix the provider switching bug." | project files, terminal |
|
|
429
|
+
| computer | "Play this song on YouTube." | browser/desktop, web |
|
|
430
|
+
|
|
431
|
+
The classification decides which tools are advertised (the **minimum-tool
|
|
432
|
+
principle**), whether project context is loaded, and whether the workspace and
|
|
433
|
+
desktop capabilities are available at all. Two consequences matter in practice:
|
|
434
|
+
|
|
435
|
+
- **No unnecessary file access.** A question never causes your project to be
|
|
436
|
+
read; the project index and workspace context are only loaded for a turn that
|
|
437
|
+
is actually about the project.
|
|
438
|
+
- **No unnecessary escalation.** A research question is answered in Chat Mode —
|
|
439
|
+
it does not turn into an agent task.
|
|
440
|
+
|
|
441
|
+
When a Chat Mode request is one that executes something, that single turn is
|
|
442
|
+
handed to the agent engine and control is handed back afterwards:
|
|
443
|
+
|
|
444
|
+
```text
|
|
445
|
+
You > Fix the provider switching bug in src/providers.py
|
|
446
|
+
|
|
447
|
+
AI > [Agent assist - the request asks for a change to the project]
|
|
448
|
+
··· the agent inspects, edits and verifies ···
|
|
449
|
+
AI > [Temporary agent task finished - back to Chat Mode]
|
|
450
|
+
```
|
|
451
|
+
|
|
452
|
+
## Internet access
|
|
453
|
+
|
|
454
|
+
Seed Code can retrieve current external information when a turn's intent needs
|
|
455
|
+
it, in **both** modes:
|
|
456
|
+
|
|
457
|
+
- **Chat Mode** retrieves sources before answering and shows its progress
|
|
458
|
+
(`[Accessing internet...]`, `[Reading relevant sources...]`).
|
|
459
|
+
- **Agent Mode** exposes `web_search` and `web_fetch` as read-only tools to
|
|
460
|
+
research and computer turns only. A coding turn never sees them.
|
|
461
|
+
|
|
462
|
+
Retrieval is keyless (no search API key is required or asked for), the retrieved
|
|
463
|
+
text is attributed by URL and capped to a character budget before it reaches the
|
|
464
|
+
prompt, and every failure path degrades to "no results" instead of an error.
|
|
465
|
+
`SEEDCODE_DISABLE_INTERNET=1` disables the capability for a session.
|
|
466
|
+
|
|
372
467
|
## Workspace coding (part of Agent Mode)
|
|
373
468
|
|
|
374
469
|
Agent Mode is a real coding agent for the current project. Your working
|
|
@@ -485,7 +580,7 @@ sequential console Agent Mode additionally shows the plan as a checklist. Both
|
|
|
485
580
|
reflect what the agent really did:
|
|
486
581
|
|
|
487
582
|
```text
|
|
488
|
-
╭─ SEEDCODE 9.1.
|
|
583
|
+
╭─ SEEDCODE 9.1.1 • AGENT MODE ───────────────╮
|
|
489
584
|
│ ● RUNNING Task 3/8 Build authentication │
|
|
490
585
|
│ ████████████░░░░ 72% • 4m 32s • 18 calls │
|
|
491
586
|
│ → Running: pytest tests/auth │
|
|
@@ -726,21 +821,21 @@ stage fails loudly on a version mismatch, so a stale binary can never ship.
|
|
|
726
821
|
|
|
727
822
|
Details: [`scripts/windows/README.md`](scripts/windows/README.md).
|
|
728
823
|
|
|
729
|
-
### Release artifacts (v9.1.
|
|
824
|
+
### Release artifacts (v9.1.1)
|
|
730
825
|
|
|
731
|
-
Release: [v9.1.
|
|
826
|
+
Release: [v9.1.1](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v9.1.1)
|
|
732
827
|
|
|
733
828
|
| Artifact | Purpose |
|
|
734
829
|
| --- | --- |
|
|
735
|
-
| `SeedCode-CLI-Setup-9.1.
|
|
736
|
-
| `SeedCode-CLI-9.1.
|
|
737
|
-
| `seedcode_cli-9.1.
|
|
738
|
-
| `seedcode_cli-9.1.
|
|
830
|
+
| `SeedCode-CLI-Setup-9.1.1.exe` | Windows installer (Inno Setup) |
|
|
831
|
+
| `SeedCode-CLI-9.1.1-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
|
|
832
|
+
| `seedcode_cli-9.1.1-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
|
|
833
|
+
| `seedcode_cli-9.1.1.tar.gz` | Python source distribution |
|
|
739
834
|
| `SHA256SUMS.txt` | SHA256 checksums; verified by both installers |
|
|
740
835
|
|
|
741
|
-
Built artifacts are collected in `dist/release/9.1.
|
|
836
|
+
Built artifacts are collected in `dist/release/9.1.1/` during a release
|
|
742
837
|
build. Publishing (GitHub Release) is a separate step; the remote installers
|
|
743
|
-
read the release named `v9.1.
|
|
838
|
+
read the release named `v9.1.1`.
|
|
744
839
|
|
|
745
840
|
### The remote installers
|
|
746
841
|
|
|
@@ -762,8 +857,9 @@ read the release named `v9.1.0`.
|
|
|
762
857
|
Run `/provider`. Default needs a built-in credential (release builds have
|
|
763
858
|
one); OpenRouter/FreeModel/AeroLink need your own key.
|
|
764
859
|
- **Default says the built-in connection is unavailable** — this build has no
|
|
765
|
-
embedded credential.
|
|
766
|
-
`
|
|
860
|
+
embedded credential. The Windows EXE and Setup installer carry one; the
|
|
861
|
+
wheel and sdist deliberately do not. Run `/provider` and choose OpenRouter,
|
|
862
|
+
or set `OPENROUTER_API_KEY` (or `SEEDCODE_DEFAULT_API_KEY`).
|
|
767
863
|
- **401/403 errors** — your key is invalid or lacks access; `/apikey` to
|
|
768
864
|
replace it, `/doctor` for diagnostics.
|
|
769
865
|
- **402 errors** — the model needs credits; `/model` and pick a free model
|
|
@@ -785,6 +881,13 @@ read the release named `v9.1.0`.
|
|
|
785
881
|
- Keys are shown masked (`sk-or-••••••••`) or not at all — never in full,
|
|
786
882
|
never in logs, never in error messages, never in a release artifact.
|
|
787
883
|
- Computer actions pass permission checks, verification, and retry limits.
|
|
884
|
+
- Internet retrieval is keyless, URL-attributed, character-budgeted, and
|
|
885
|
+
disableable with `SEEDCODE_DISABLE_INTERNET=1`; it never caches retrieved
|
|
886
|
+
pages to disk.
|
|
887
|
+
- Permission scope grants (Allow Session / Allow All) are in-memory only and are
|
|
888
|
+
never persisted to `config.json`.
|
|
889
|
+
- The built-in Default credential's state is reported as available / missing /
|
|
890
|
+
invalid / unavailable — never as a value.
|
|
788
891
|
- `.seedcode/` memory refuses secret-looking fields at write time.
|
|
789
892
|
- The release build consumes the local `.env` only during packaging; the
|
|
790
893
|
secret never enters source control, logs, manifests, or package metadata.
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
> *Plant ideas. Grow code.*
|
|
7
7
|
|
|
8
8
|
Seed Code is a premium terminal-based AI coding assistant and task runner.
|
|
9
|
-
v9.1.
|
|
9
|
+
v9.1.1 exposes exactly **two modes** — **Chat Mode** and **Agent Mode** — over a
|
|
10
10
|
multi-provider, multi-model engine, behind the Seed Code startup logo and a
|
|
11
11
|
compact block of live session state.
|
|
12
12
|
|
|
@@ -46,7 +46,22 @@ remain accepted aliases, but nothing in the UI presents a third mode.
|
|
|
46
46
|
`AI > ✓ Tests passed`) whose lines appear only when the underlying operation
|
|
47
47
|
really starts. There is no manual to-do list to create or manage, and
|
|
48
48
|
completing a task never closes the application.
|
|
49
|
-
- **
|
|
49
|
+
- **Intent-driven, not tool-eager:** every turn is classified (conversation,
|
|
50
|
+
research, coding, computer) before anything runs, and only the capability
|
|
51
|
+
that intent actually needs is offered to the model. A question never reads
|
|
52
|
+
your project; a coding task never sees the browser tools.
|
|
53
|
+
- **Chat → Agent escalation, and back:** a request sent in Chat Mode that has
|
|
54
|
+
to *execute* something runs with the agent engine and then returns to Chat
|
|
55
|
+
Mode. An explicit `/agent on` stays on until you turn it off.
|
|
56
|
+
- **Internet access when it is actually needed:** a research request can search
|
|
57
|
+
and read current sources in both Chat and Agent Mode — keyless search,
|
|
58
|
+
URL-attributed and character-budgeted context, and
|
|
59
|
+
`SEEDCODE_DISABLE_INTERNET=1` to turn it off. Progress is shown while it
|
|
60
|
+
works.
|
|
61
|
+
- **Permissions that stick:** the permission panel offers Allow, Allow Session
|
|
62
|
+
and Allow All, and an approved scope is no longer forgotten when a new agent
|
|
63
|
+
engine is created.
|
|
64
|
+
- **Version:** 9.1.1 (`seedcode --version`)
|
|
50
65
|
|
|
51
66
|
## Installation
|
|
52
67
|
|
|
@@ -105,8 +120,8 @@ Python required) and both run the same CLI:
|
|
|
105
120
|
|
|
106
121
|
| Download | What it is |
|
|
107
122
|
| --- | --- |
|
|
108
|
-
| `SeedCode-CLI-Setup-9.1.
|
|
109
|
-
| `SeedCode-CLI-9.1.
|
|
123
|
+
| `SeedCode-CLI-Setup-9.1.1.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. |
|
|
124
|
+
| `SeedCode-CLI-9.1.1-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. |
|
|
110
125
|
|
|
111
126
|
Both are published on the
|
|
112
127
|
[Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases) with
|
|
@@ -115,7 +130,7 @@ their SHA256 in `SHA256SUMS.txt`.
|
|
|
115
130
|
After installing by any route:
|
|
116
131
|
|
|
117
132
|
```bash
|
|
118
|
-
seedcode --version # -> Seed Code CLI 9.1.
|
|
133
|
+
seedcode --version # -> Seed Code CLI 9.1.1
|
|
119
134
|
```
|
|
120
135
|
|
|
121
136
|
> **`seedcode` not recognized?** Open a *new* terminal. `PATH` changes only
|
|
@@ -169,7 +184,7 @@ values (provider, model, mode, status, workspace, context budget and the masked
|
|
|
169
184
|
API key) update in place the moment they change.
|
|
170
185
|
|
|
171
186
|
```text
|
|
172
|
-
╭─ Seed Code CLI v9.1.
|
|
187
|
+
╭─ Seed Code CLI v9.1.1 ───────────────────────────────────────────────────────────────────────╮
|
|
173
188
|
│ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
|
|
174
189
|
│ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
|
|
175
190
|
│ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
|
|
@@ -218,12 +233,12 @@ Below is the rendering used when the persistent interface is not available — a
|
|
|
218
233
|
piped host, `SEEDCODE_NO_TUI=1`, or a console that cannot draw it:
|
|
219
234
|
|
|
220
235
|
```text
|
|
221
|
-
╭─ Seed Code CLI v9.1.
|
|
236
|
+
╭─ Seed Code CLI v9.1.1 ───────────────────────────────────────────────────────────────────────╮
|
|
222
237
|
│ ▄█████ ▄▄▄▄▄ ▄▄▄▄▄ ▄▄▄▄ ▄█████ ▄▄▄ ▄▄▄▄ ▄▄▄▄▄ ▄█████ ██ ██ │
|
|
223
238
|
│ ▀▀▀▄▄▄ ██▄▄ ██▄▄ ██▀██ ██ ██▀██ ██▀██ ██▄▄ ██ ██ ██ │
|
|
224
239
|
│ █████▀ ██▄▄▄ ██▄▄▄ ████▀ ▀█████ ▀███▀ ████▀ ██▄▄▄ ▀█████ ██████ ██ │
|
|
225
240
|
│ │
|
|
226
|
-
│ Seed Code CLI v9.1.
|
|
241
|
+
│ Seed Code CLI v9.1.1 │
|
|
227
242
|
│ Plant ideas. Grow code. │
|
|
228
243
|
│ Provider OpenRouter │
|
|
229
244
|
│ Model cohere/north-mini-code:free │
|
|
@@ -256,14 +271,18 @@ own status, and its own credential slot. It resolves its credential itself,
|
|
|
256
271
|
in this order:
|
|
257
272
|
|
|
258
273
|
1. a key stored in Default's own slot (advanced/manual use);
|
|
259
|
-
2. the embedded Seed Code release credential
|
|
274
|
+
2. the embedded Seed Code release credential — carried by the Windows
|
|
275
|
+
standalone EXE and the Setup installer only. The wheel and sdist
|
|
276
|
+
deliberately never carry it: the build refuses to package the generated
|
|
277
|
+
credential module, so a `pip install` is always a credential-free build;
|
|
260
278
|
3. `OPENROUTER_API_KEY` / `SEEDCODE_DEFAULT_API_KEY` in the environment.
|
|
261
279
|
|
|
262
280
|
It never reads or writes another provider's configuration, and no other
|
|
263
281
|
provider inherits Default's credential. If a build carries no built-in
|
|
264
|
-
credential (a source checkout
|
|
265
|
-
of failing with an authentication error — pick OpenRouter and add your
|
|
266
|
-
key.
|
|
282
|
+
credential (a source checkout or a `pip install`), Default says so plainly
|
|
283
|
+
instead of failing with an authentication error — pick OpenRouter and add your
|
|
284
|
+
own key. On the Windows EXE and Setup installer the credential is present, so
|
|
285
|
+
a fresh install is usable on the Default provider immediately.
|
|
267
286
|
|
|
268
287
|
### Your own API key
|
|
269
288
|
|
|
@@ -289,7 +308,7 @@ configuration.
|
|
|
289
308
|
|
|
290
309
|
| Provider | API key | Best for |
|
|
291
310
|
| --- | --- | --- |
|
|
292
|
-
| **Default** | not required | Working immediately on a
|
|
311
|
+
| **Default** | not required | Working immediately on a Windows EXE/Setup install (`cohere/north-mini-code:free`) |
|
|
293
312
|
| [OpenRouter](https://openrouter.ai) | required | A broad catalogue of free and paid models |
|
|
294
313
|
| FreeModel Claude | required | Claude-family models through FreeModel |
|
|
295
314
|
| FreeModel Codex | required | GPT/Codex models through FreeModel |
|
|
@@ -320,6 +339,82 @@ Permission modes (view/set with `/permission`):
|
|
|
320
339
|
| `desktop` | Add desktop automation capability after confirmation |
|
|
321
340
|
| `full_system` | Allow broader computer and filesystem actions after confirmation |
|
|
322
341
|
|
|
342
|
+
### Permission scopes
|
|
343
|
+
|
|
344
|
+
The permission panel is a bounded TUI component shown between the conversation
|
|
345
|
+
and the composer, inside the same application (never a nested prompt):
|
|
346
|
+
|
|
347
|
+
```text
|
|
348
|
+
╭─ Agent Action ───────────────────────────────────────────────╮
|
|
349
|
+
│ Agent wants to run: │
|
|
350
|
+
│ npm install │
|
|
351
|
+
│ Reason: Run command │
|
|
352
|
+
│ ❯ Allow Once approve this action only │
|
|
353
|
+
│ Always Allow this action type, this session │
|
|
354
|
+
│ Allow All every action type, this session │
|
|
355
|
+
│ Deny block this action │
|
|
356
|
+
│ Enter allow · a allow session · A allow all · d deny │
|
|
357
|
+
╰──────────────────────────────────────────────────────────────╯
|
|
358
|
+
```
|
|
359
|
+
|
|
360
|
+
- **Allow Once** approves the single action.
|
|
361
|
+
- **Always Allow** approves that action type until you exit.
|
|
362
|
+
- **Allow All** approves every action type until you exit.
|
|
363
|
+
|
|
364
|
+
Both broader scopes are in-memory session grants: they are never written to
|
|
365
|
+
`config.json`, and closing Seed Code clears them. Only the agent turn waits —
|
|
366
|
+
the event loop, the header and the composer stay live while you decide.
|
|
367
|
+
Harmless read operations (reading project files, listing directories, searching
|
|
368
|
+
sources, inspecting structure) do not prompt; consequential actions do.
|
|
369
|
+
|
|
370
|
+
## Intent and capability selection
|
|
371
|
+
|
|
372
|
+
Before a turn runs, Seed Code classifies it — deterministically, without calling
|
|
373
|
+
the model:
|
|
374
|
+
|
|
375
|
+
| Intent | Example | What it may reach for |
|
|
376
|
+
| --- | --- | --- |
|
|
377
|
+
| conversation | "How do I fix the provider switching bug?" | nothing; it answers |
|
|
378
|
+
| research | "What changed in the latest Node.js release?" | web search and fetch |
|
|
379
|
+
| coding | "Fix the provider switching bug." | project files, terminal |
|
|
380
|
+
| computer | "Play this song on YouTube." | browser/desktop, web |
|
|
381
|
+
|
|
382
|
+
The classification decides which tools are advertised (the **minimum-tool
|
|
383
|
+
principle**), whether project context is loaded, and whether the workspace and
|
|
384
|
+
desktop capabilities are available at all. Two consequences matter in practice:
|
|
385
|
+
|
|
386
|
+
- **No unnecessary file access.** A question never causes your project to be
|
|
387
|
+
read; the project index and workspace context are only loaded for a turn that
|
|
388
|
+
is actually about the project.
|
|
389
|
+
- **No unnecessary escalation.** A research question is answered in Chat Mode —
|
|
390
|
+
it does not turn into an agent task.
|
|
391
|
+
|
|
392
|
+
When a Chat Mode request is one that executes something, that single turn is
|
|
393
|
+
handed to the agent engine and control is handed back afterwards:
|
|
394
|
+
|
|
395
|
+
```text
|
|
396
|
+
You > Fix the provider switching bug in src/providers.py
|
|
397
|
+
|
|
398
|
+
AI > [Agent assist - the request asks for a change to the project]
|
|
399
|
+
··· the agent inspects, edits and verifies ···
|
|
400
|
+
AI > [Temporary agent task finished - back to Chat Mode]
|
|
401
|
+
```
|
|
402
|
+
|
|
403
|
+
## Internet access
|
|
404
|
+
|
|
405
|
+
Seed Code can retrieve current external information when a turn's intent needs
|
|
406
|
+
it, in **both** modes:
|
|
407
|
+
|
|
408
|
+
- **Chat Mode** retrieves sources before answering and shows its progress
|
|
409
|
+
(`[Accessing internet...]`, `[Reading relevant sources...]`).
|
|
410
|
+
- **Agent Mode** exposes `web_search` and `web_fetch` as read-only tools to
|
|
411
|
+
research and computer turns only. A coding turn never sees them.
|
|
412
|
+
|
|
413
|
+
Retrieval is keyless (no search API key is required or asked for), the retrieved
|
|
414
|
+
text is attributed by URL and capped to a character budget before it reaches the
|
|
415
|
+
prompt, and every failure path degrades to "no results" instead of an error.
|
|
416
|
+
`SEEDCODE_DISABLE_INTERNET=1` disables the capability for a session.
|
|
417
|
+
|
|
323
418
|
## Workspace coding (part of Agent Mode)
|
|
324
419
|
|
|
325
420
|
Agent Mode is a real coding agent for the current project. Your working
|
|
@@ -436,7 +531,7 @@ sequential console Agent Mode additionally shows the plan as a checklist. Both
|
|
|
436
531
|
reflect what the agent really did:
|
|
437
532
|
|
|
438
533
|
```text
|
|
439
|
-
╭─ SEEDCODE 9.1.
|
|
534
|
+
╭─ SEEDCODE 9.1.1 • AGENT MODE ───────────────╮
|
|
440
535
|
│ ● RUNNING Task 3/8 Build authentication │
|
|
441
536
|
│ ████████████░░░░ 72% • 4m 32s • 18 calls │
|
|
442
537
|
│ → Running: pytest tests/auth │
|
|
@@ -677,21 +772,21 @@ stage fails loudly on a version mismatch, so a stale binary can never ship.
|
|
|
677
772
|
|
|
678
773
|
Details: [`scripts/windows/README.md`](scripts/windows/README.md).
|
|
679
774
|
|
|
680
|
-
### Release artifacts (v9.1.
|
|
775
|
+
### Release artifacts (v9.1.1)
|
|
681
776
|
|
|
682
|
-
Release: [v9.1.
|
|
777
|
+
Release: [v9.1.1](https://github.com/Alshahriar-07/seedcode-cli/releases/tag/v9.1.1)
|
|
683
778
|
|
|
684
779
|
| Artifact | Purpose |
|
|
685
780
|
| --- | --- |
|
|
686
|
-
| `SeedCode-CLI-Setup-9.1.
|
|
687
|
-
| `SeedCode-CLI-9.1.
|
|
688
|
-
| `seedcode_cli-9.1.
|
|
689
|
-
| `seedcode_cli-9.1.
|
|
781
|
+
| `SeedCode-CLI-Setup-9.1.1.exe` | Windows installer (Inno Setup) |
|
|
782
|
+
| `SeedCode-CLI-9.1.1-windows-x64.exe` | Standalone Windows EXE — downloaded by the Windows IRM installer |
|
|
783
|
+
| `seedcode_cli-9.1.1-py3-none-any.whl` | Python wheel — downloaded by the Linux IRM installer |
|
|
784
|
+
| `seedcode_cli-9.1.1.tar.gz` | Python source distribution |
|
|
690
785
|
| `SHA256SUMS.txt` | SHA256 checksums; verified by both installers |
|
|
691
786
|
|
|
692
|
-
Built artifacts are collected in `dist/release/9.1.
|
|
787
|
+
Built artifacts are collected in `dist/release/9.1.1/` during a release
|
|
693
788
|
build. Publishing (GitHub Release) is a separate step; the remote installers
|
|
694
|
-
read the release named `v9.1.
|
|
789
|
+
read the release named `v9.1.1`.
|
|
695
790
|
|
|
696
791
|
### The remote installers
|
|
697
792
|
|
|
@@ -713,8 +808,9 @@ read the release named `v9.1.0`.
|
|
|
713
808
|
Run `/provider`. Default needs a built-in credential (release builds have
|
|
714
809
|
one); OpenRouter/FreeModel/AeroLink need your own key.
|
|
715
810
|
- **Default says the built-in connection is unavailable** — this build has no
|
|
716
|
-
embedded credential.
|
|
717
|
-
`
|
|
811
|
+
embedded credential. The Windows EXE and Setup installer carry one; the
|
|
812
|
+
wheel and sdist deliberately do not. Run `/provider` and choose OpenRouter,
|
|
813
|
+
or set `OPENROUTER_API_KEY` (or `SEEDCODE_DEFAULT_API_KEY`).
|
|
718
814
|
- **401/403 errors** — your key is invalid or lacks access; `/apikey` to
|
|
719
815
|
replace it, `/doctor` for diagnostics.
|
|
720
816
|
- **402 errors** — the model needs credits; `/model` and pick a free model
|
|
@@ -736,6 +832,13 @@ read the release named `v9.1.0`.
|
|
|
736
832
|
- Keys are shown masked (`sk-or-••••••••`) or not at all — never in full,
|
|
737
833
|
never in logs, never in error messages, never in a release artifact.
|
|
738
834
|
- Computer actions pass permission checks, verification, and retry limits.
|
|
835
|
+
- Internet retrieval is keyless, URL-attributed, character-budgeted, and
|
|
836
|
+
disableable with `SEEDCODE_DISABLE_INTERNET=1`; it never caches retrieved
|
|
837
|
+
pages to disk.
|
|
838
|
+
- Permission scope grants (Allow Session / Allow All) are in-memory only and are
|
|
839
|
+
never persisted to `config.json`.
|
|
840
|
+
- The built-in Default credential's state is reported as available / missing /
|
|
841
|
+
invalid / unavailable — never as a value.
|
|
739
842
|
- `.seedcode/` memory refuses secret-looking fields at write time.
|
|
740
843
|
- The release build consumes the local `.env` only during packaging; the
|
|
741
844
|
secret never enters source control, logs, manifests, or package metadata.
|
|
@@ -16,7 +16,7 @@ Releases:
|
|
|
16
16
|
A compatibility launcher retained for users who already manage tooling through
|
|
17
17
|
npm. It is a thin wrapper around the official release: on Windows it downloads
|
|
18
18
|
the official `SeedCode-CLI-<version>-windows-x64.exe` for this package's
|
|
19
|
-
version (currently **9.1.
|
|
19
|
+
version (currently **9.1.1**) from the GitHub release, verifies its SHA256
|
|
20
20
|
against the release's `SHA256SUMS.txt`, caches it under `~/.seedcode/npm/`,
|
|
21
21
|
and runs it — Python is never required. On Linux and macOS it defers to the
|
|
22
22
|
official installer rather than shipping a binary.
|
|
@@ -76,7 +76,7 @@ Python runtime and every dependency inside it.
|
|
|
76
76
|
publishes a verified copy to the repository root as the stable
|
|
77
77
|
**`seedcode-cli-setup.exe`**, and stages the versioned copy for release as
|
|
78
78
|
**`SeedCode-CLI-Setup-<version>.exe`** — the name attached to the GitHub
|
|
79
|
-
release for that version (currently **9.1.
|
|
79
|
+
release for that version (currently **9.1.1**), alongside the standalone
|
|
80
80
|
`SeedCode-CLI-<version>-windows-x64.exe` and `SHA256SUMS.txt` (which is what
|
|
81
81
|
the remote installers verify against).
|
|
82
82
|
|
|
@@ -6,7 +6,7 @@ Plant ideas. Grow code.
|
|
|
6
6
|
# Single source of truth for the application version. Every consumer reads it:
|
|
7
7
|
# the PyPI build (via [tool.hatch.version]), the CLI --version flag, the
|
|
8
8
|
# Windows installer metadata, the GitHub release tag, and the WinGet manifest.
|
|
9
|
-
__version__ = "9.1.
|
|
9
|
+
__version__ = "9.1.1"
|
|
10
10
|
__author__ = "Al Shahriar Sowan"
|
|
11
11
|
__publisher__ = "Eagox Studio"
|
|
12
12
|
# Current author/company links, surfaced by /about and the README credits.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"""Embedded built-in credential for the Default provider (v9.1.
|
|
1
|
+
"""Embedded built-in credential for the Default provider (v9.1.1 artifact).
|
|
2
2
|
|
|
3
3
|
This file is NOT committed to source control. The release build generates
|
|
4
4
|
``seedcode/_default_key.py`` from the local ``.env`` (see
|