seedcode-cli 6.1.5__tar.gz → 6.2.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.1.5 → seedcode_cli-6.2.0}/.gitignore +9 -0
- seedcode_cli-6.2.0/PKG-INFO +401 -0
- seedcode_cli-6.2.0/README.md +354 -0
- seedcode_cli-6.2.0/npm/LICENSE +21 -0
- seedcode_cli-6.2.0/npm/README.md +22 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/pyproject.toml +9 -1
- seedcode_cli-6.2.0/scripts/pyproject_build_hook.py +44 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/scripts/windows/README.md +1 -1
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/__init__.py +1 -1
- seedcode_cli-6.2.0/seedcode/_default_key_template.py +12 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/app.py +42 -4
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/apps/discovery.py +37 -2
- seedcode_cli-6.2.0/seedcode/assets/logo.png +0 -0
- seedcode_cli-6.2.0/seedcode/branding.py +90 -0
- seedcode_cli-6.2.0/seedcode/codemode.py +363 -0
- seedcode_cli-6.2.0/seedcode/codemode_state.py +89 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/__init__.py +1 -1
- seedcode_cli-6.2.0/seedcode/commands/codemode.py +102 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/controller.py +32 -3
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/engine.py +3 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/keyboard.py +9 -1
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/mouse.py +15 -6
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/state.py +23 -1
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/config/manager.py +26 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/agent.py +128 -12
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/chat.py +3 -1
- seedcode_cli-6.2.0/seedcode/core/http.py +62 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/aerolink.py +4 -3
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/freemodel.py +6 -5
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/ollama.py +5 -4
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/openrouter.py +3 -2
- seedcode_cli-6.2.0/seedcode/default_api.py +105 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/base.py +16 -1
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/desktop.py +24 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/filesystem.py +3 -1
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/__init__.py +14 -9
- seedcode_cli-6.2.0/seedcode/ui/dashboard.py +358 -0
- seedcode_cli-6.2.0/seedcode/ui/logo.py +134 -0
- seedcode_cli-6.2.0/seedcode/ui/renderer.py +62 -0
- seedcode_cli-6.1.5/PKG-INFO +0 -368
- seedcode_cli-6.1.5/README.md +0 -321
- seedcode_cli-6.1.5/seedcode/ui/dashboard.py +0 -197
- seedcode_cli-6.1.5/seedcode/ui/renderer.py +0 -36
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/LICENSE +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/__main__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/apps/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/apps/installer.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/apps/launcher.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/apps/verifier.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/assets/logo.txt +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/cli.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/about.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/agent.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/assist.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/clear.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/desktop.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/doctor.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/help.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/history.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/palette.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/provider.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/commands/theme.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_cdp.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_engine.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_extract.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_popups.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_selenium.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/browser_skills.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/catalog.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/dispatcher.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/dpi.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/logbook.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/ocr.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/operator_skills.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/permissions.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/recovery.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/registry.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/resolver.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/screen.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/screen_state.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/selfguard.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/semantic.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/skills.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/verifier.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/vision.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/computer/windows.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/config/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/config/defaults.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/client.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/errors.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/identity.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/identity_store.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/lifecycle.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/limits.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/models.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/project.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/providers/base.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/core/streaming.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/memory/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/memory/manager.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/memory/storage.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/memory/store.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/git.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/patch.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/permissions.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/search.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/terminal.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/tools/textio.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/badges.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/banner.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/dialog.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/fuzzy.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/layout.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/menu.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/palette.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/progress.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/prompts.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/searchbox.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/selector.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/statusbar.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/textbox.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/theme.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/ui/tree.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/utils/__init__.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/utils/helpers.py +0 -0
- {seedcode_cli-6.1.5 → seedcode_cli-6.2.0}/seedcode/utils/logger.py +0 -0
|
@@ -47,6 +47,14 @@ seedcode-cli-setup.exe
|
|
|
47
47
|
/data/
|
|
48
48
|
*.log
|
|
49
49
|
|
|
50
|
+
# Secrets: the real .env never enters source control. The v6.2.0 release
|
|
51
|
+
# build consumes it locally (scripts/windows/embed_default_key.py) and the
|
|
52
|
+
# generated module it produces is also excluded.
|
|
53
|
+
.env
|
|
54
|
+
.env.*
|
|
55
|
+
!.env.example
|
|
56
|
+
seedcode/_default_key.py
|
|
57
|
+
|
|
50
58
|
# OS / editor / agent state
|
|
51
59
|
.DS_Store
|
|
52
60
|
Thumbs.db
|
|
@@ -62,3 +70,4 @@ Desktop.ini
|
|
|
62
70
|
*.rej
|
|
63
71
|
*.crdownload
|
|
64
72
|
opencode.txt
|
|
73
|
+
V6.2.0/
|
|
@@ -0,0 +1,401 @@
|
|
|
1
|
+
Metadata-Version: 2.5
|
|
2
|
+
Name: seedcode-cli
|
|
3
|
+
Version: 6.2.0
|
|
4
|
+
Summary: Seed Code — a premium terminal-based AI coding assistant. Plant ideas. Grow code.
|
|
5
|
+
Project-URL: Homepage, https://github.com/Alshahriar-07/seedcode-cli
|
|
6
|
+
Project-URL: Repository, https://github.com/Alshahriar-07/seedcode-cli
|
|
7
|
+
Project-URL: Documentation, https://github.com/Alshahriar-07/seedcode-cli#readme
|
|
8
|
+
Project-URL: Issues, https://github.com/Alshahriar-07/seedcode-cli/issues
|
|
9
|
+
Project-URL: Changelog, https://github.com/Alshahriar-07/seedcode-cli/releases
|
|
10
|
+
Author-email: Al Shahriar Sowan <github@eagox.studio>
|
|
11
|
+
License-Expression: MIT
|
|
12
|
+
License-File: LICENSE
|
|
13
|
+
Keywords: agent,ai,chat,cli,coding-assistant,ollama,seedcode,terminal
|
|
14
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
15
|
+
Classifier: Environment :: Console
|
|
16
|
+
Classifier: Intended Audience :: Developers
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
20
|
+
Classifier: Topic :: Software Development
|
|
21
|
+
Classifier: Topic :: Terminals
|
|
22
|
+
Requires-Python: >=3.12
|
|
23
|
+
Requires-Dist: httpx>=0.27.0
|
|
24
|
+
Requires-Dist: openai>=1.40.0
|
|
25
|
+
Requires-Dist: prompt-toolkit>=3.0.43
|
|
26
|
+
Requires-Dist: pydantic>=2.6.0
|
|
27
|
+
Requires-Dist: rich>=13.7.0
|
|
28
|
+
Provides-Extra: browser
|
|
29
|
+
Requires-Dist: selenium>=4.18.0; extra == 'browser'
|
|
30
|
+
Requires-Dist: webdriver-manager>=4.0.1; extra == 'browser'
|
|
31
|
+
Provides-Extra: desktop
|
|
32
|
+
Requires-Dist: mss>=9.0.1; extra == 'desktop'
|
|
33
|
+
Requires-Dist: opencv-python>=4.9.0; extra == 'desktop'
|
|
34
|
+
Requires-Dist: pillow>=10.0.0; extra == 'desktop'
|
|
35
|
+
Requires-Dist: psutil>=5.9.0; extra == 'desktop'
|
|
36
|
+
Requires-Dist: pyautogui>=0.9.54; extra == 'desktop'
|
|
37
|
+
Requires-Dist: pygetwindow>=0.0.9; extra == 'desktop'
|
|
38
|
+
Requires-Dist: pytesseract>=0.3.10; extra == 'desktop'
|
|
39
|
+
Requires-Dist: uiautomation>=2.0.18; (sys_platform == 'win32') and extra == 'desktop'
|
|
40
|
+
Provides-Extra: dev
|
|
41
|
+
Requires-Dist: pytest-mock>=3.12.0; extra == 'dev'
|
|
42
|
+
Requires-Dist: pytest>=8.0.0; extra == 'dev'
|
|
43
|
+
Provides-Extra: vision
|
|
44
|
+
Requires-Dist: opencv-python>=4.9.0; extra == 'vision'
|
|
45
|
+
Requires-Dist: pytesseract>=0.3.10; extra == 'vision'
|
|
46
|
+
Description-Content-Type: text/markdown
|
|
47
|
+
|
|
48
|
+
# Seed Code CLI
|
|
49
|
+
|
|
50
|
+
**Seed Code — Eagox Studio**
|
|
51
|
+
|
|
52
|
+
> ### Faster. Smaller. Smarter. Workspace-aware.
|
|
53
|
+
> *Plant ideas. Grow code.*
|
|
54
|
+
|
|
55
|
+
Seed Code is a premium terminal-based AI coding assistant. v6.2.0 pairs
|
|
56
|
+
streaming chat and permission-gated desktop control with **Code Mode** — a
|
|
57
|
+
workspace-aware coding agent backed by persistent `.seedcode` project memory
|
|
58
|
+
— on a compact, redesigned startup dashboard.
|
|
59
|
+
|
|
60
|
+
- **Works out of the box (Windows release):** the Windows EXE and installer
|
|
61
|
+
ship with a built-in default OpenRouter configuration, so a fresh
|
|
62
|
+
installation can chat immediately — no API key required on first launch.
|
|
63
|
+
You can switch to your own key at any time (`/apikey`).
|
|
64
|
+
- **Version:** 6.2.0 (`seedcode --version`)
|
|
65
|
+
|
|
66
|
+
## Installation
|
|
67
|
+
|
|
68
|
+
### Windows installer (recommended on Windows)
|
|
69
|
+
|
|
70
|
+
Download `SeedCode-CLI-Setup-6.2.0.exe` (or the stable-named
|
|
71
|
+
`seedcode-cli-setup.exe`) from the
|
|
72
|
+
[Releases page](https://github.com/Alshahriar-07/seedcode-cli/releases).
|
|
73
|
+
|
|
74
|
+
The installer packages a fully self-contained `seedcode.exe` (no Python
|
|
75
|
+
needed), adds Seed Code to the system `PATH`, creates a Start Menu shortcut
|
|
76
|
+
with an optional desktop shortcut, verifies the installation before
|
|
77
|
+
reporting success, and ships a clean uninstaller that never deletes your
|
|
78
|
+
project data silently. SHA256 checksums for every release artifact are in
|
|
79
|
+
the release's `SHA256SUMS.txt`.
|
|
80
|
+
|
|
81
|
+
### WinGet
|
|
82
|
+
|
|
83
|
+
```powershell
|
|
84
|
+
winget install SeedCode.CLI
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
> **Status:** the 6.2.0 manifests are prepared in
|
|
88
|
+
> [`winget/manifests/s/SeedCode/CLI/6.2.0/`](winget/manifests/s/SeedCode/CLI/6.2.0/)
|
|
89
|
+
> with the real installer SHA256, but the package is **NOT YET PUBLISHED**
|
|
90
|
+
> to the Microsoft community repository — a `winget-pkgs` pull request has
|
|
91
|
+
> not been submitted. Until it merges, use the Windows installer above.
|
|
92
|
+
|
|
93
|
+
### PyPI
|
|
94
|
+
|
|
95
|
+
Requires **Python 3.12 or newer**:
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
python -m pip install seedcode-cli
|
|
99
|
+
seedcode
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
> **Status:** `seedcode-cli==6.2.0` wheel and sdist are built and verified
|
|
103
|
+
> in this repository (see Release artifacts). **NOT YET PUBLISHED** to
|
|
104
|
+
> PyPI — run `python -m twine upload dist/*` when ready.
|
|
105
|
+
|
|
106
|
+
### npm (Windows launcher)
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
npm install -g seedcode-cli
|
|
110
|
+
seedcode
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
> **Status:** the npm package is **NOT YET PUBLISHED** to the npm registry.
|
|
114
|
+
> The package in [`npm/`](npm/) is a real launcher: on Windows it downloads
|
|
115
|
+
> the official `SeedCode-CLI-6.2.0-windows-x64.exe` from the GitHub release,
|
|
116
|
+
> verifies its SHA256 against `SHA256SUMS.txt`, caches it under
|
|
117
|
+
> `~/.seedcode/npm/`, and runs the actual binary (it never prints fake
|
|
118
|
+
> instructions). On Linux/macOS it points to the pip install.
|
|
119
|
+
|
|
120
|
+
### From source
|
|
121
|
+
|
|
122
|
+
```bash
|
|
123
|
+
git clone https://github.com/Alshahriar-07/seedcode-cli.git
|
|
124
|
+
cd seedcode-cli
|
|
125
|
+
python -m pip install -e ".[dev]"
|
|
126
|
+
seedcode
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
## First run
|
|
130
|
+
|
|
131
|
+
Start the app:
|
|
132
|
+
|
|
133
|
+
```bash
|
|
134
|
+
seedcode
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
You land on the compact startup dashboard — provider, model, mode, and
|
|
138
|
+
status in one branded panel — and the chat prompt appears immediately:
|
|
139
|
+
|
|
140
|
+
```text
|
|
141
|
+
╭─ Seed code v6.2.0 ──────────────────────────────────────────────╮
|
|
142
|
+
│ [logo] SEEDCODE CLI │ Seed Code | Eagox Studio│
|
|
143
|
+
│ Plant ideas. Grow code. │ Provider OpenRouter │
|
|
144
|
+
│ │ Model deepseek/… │
|
|
145
|
+
│ │ Mode Assist │
|
|
146
|
+
│ │ Status ● Ready │
|
|
147
|
+
╰─────────────────────────────────────────────────────────────────╯
|
|
148
|
+
You >
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
### Default OpenRouter behavior (v6.2.0)
|
|
152
|
+
|
|
153
|
+
The Windows release (EXE and installer) embeds a Seed Code default
|
|
154
|
+
OpenRouter credential, so the provider is ready the moment the app starts.
|
|
155
|
+
The resolution order is always:
|
|
156
|
+
|
|
157
|
+
1. **Your own key** — entered via `/apikey` or guided setup (stored in
|
|
158
|
+
`~/.seedcode/config.json`, never in any project directory);
|
|
159
|
+
2. **The `OPENROUTER_API_KEY` environment variable** (CI / power users);
|
|
160
|
+
3. **The embedded Seed Code default** — used only when 1 and 2 are absent.
|
|
161
|
+
|
|
162
|
+
When your own key or the environment variable is set, the embedded default
|
|
163
|
+
is never used. The default is a temporary v6.2.0 arrangement; a server-side
|
|
164
|
+
gateway will replace it in a later release. pip/source installs do not
|
|
165
|
+
include a default credential and run guided setup on first launch.
|
|
166
|
+
|
|
167
|
+
### Your own API key
|
|
168
|
+
|
|
169
|
+
```bash
|
|
170
|
+
export OPENROUTER_API_KEY="sk-or-..." # Windows PowerShell: $env:OPENROUTER_API_KEY = "..."
|
|
171
|
+
export FREEMODEL_API_KEY="fe_oa_..."
|
|
172
|
+
export AEROLINK_API_KEY="..."
|
|
173
|
+
```
|
|
174
|
+
|
|
175
|
+
Or manage keys interactively with `/apikey` (view / replace / remove /
|
|
176
|
+
validate). Keys are validated with a real authenticated request before they
|
|
177
|
+
are saved.
|
|
178
|
+
|
|
179
|
+
### Providers
|
|
180
|
+
|
|
181
|
+
| Provider | Best for |
|
|
182
|
+
| --- | --- |
|
|
183
|
+
| [OpenRouter](https://openrouter.ai) | A broad catalogue of free and paid models |
|
|
184
|
+
| FreeModel Claude | Claude-family models through FreeModel |
|
|
185
|
+
| FreeModel Codex | GPT/Codex models through FreeModel |
|
|
186
|
+
| [AeroLink](https://aerolink.lat) | Anthropic-compatible gateway access |
|
|
187
|
+
| [Ollama](https://ollama.com) | Local, key-free models |
|
|
188
|
+
|
|
189
|
+
Switch with `/provider`; pick models with `/model` (OpenRouter filters
|
|
190
|
+
`free` vs `pro` models; FreeModel offers Auto mode). Custom provider
|
|
191
|
+
configuration is unchanged in v6.2.0 — every provider keeps its own key,
|
|
192
|
+
model, and settings.
|
|
193
|
+
|
|
194
|
+
## Assist Mode and permissions
|
|
195
|
+
|
|
196
|
+
Assist Mode lets the model act on your project through the tool engine:
|
|
197
|
+
|
|
198
|
+
```text
|
|
199
|
+
/assist on
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
Permission modes (view/set with `/permission`):
|
|
203
|
+
|
|
204
|
+
| Mode | Behavior |
|
|
205
|
+
| --- | --- |
|
|
206
|
+
| `read_only` | Inspect files, screens, windows, and state without mutations |
|
|
207
|
+
| `workspace` | Allow approved changes inside the active workspace |
|
|
208
|
+
| `desktop` | Add desktop automation capability after confirmation |
|
|
209
|
+
| `full_system` | Allow broader computer and filesystem actions after confirmation |
|
|
210
|
+
|
|
211
|
+
v6.2.0 performance work in Assist Mode: independent read-only tool calls
|
|
212
|
+
run in parallel, mutating steps stay sequential for correctness, tool
|
|
213
|
+
dispatch is faster, and desktop actions verify state live instead of
|
|
214
|
+
sleeping fixed delays.
|
|
215
|
+
|
|
216
|
+
## Code Mode (new in v6.2.0)
|
|
217
|
+
|
|
218
|
+
Code Mode is Assist Mode sharpened into a real coding agent for the current
|
|
219
|
+
project. Your working directory becomes the **workspace**:
|
|
220
|
+
|
|
221
|
+
```text
|
|
222
|
+
/codemode on # treat the CWD as the workspace, enable .seedcode memory
|
|
223
|
+
/codemode off # back to the previous mode (memory stays on disk)
|
|
224
|
+
/codemode status # workspace, memory, and index state
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
In Code Mode the agent follows the coding-agent workflow: consult the
|
|
228
|
+
project index, find relevant files with targeted searches, read only what
|
|
229
|
+
it needs, plan, edit, run a relevant command or test, and report what
|
|
230
|
+
changed. File operations stay inside the workspace root.
|
|
231
|
+
|
|
232
|
+
### `.seedcode` project memory
|
|
233
|
+
|
|
234
|
+
Enabling Code Mode creates a `.seedcode/` directory in the project root:
|
|
235
|
+
|
|
236
|
+
```text
|
|
237
|
+
my-project/
|
|
238
|
+
├── .seedcode/
|
|
239
|
+
│ ├── memory/ durable project knowledge (architecture, decisions…)
|
|
240
|
+
│ ├── index/ per-file summaries + a file map (incremental, hashed)
|
|
241
|
+
│ ├── context/ reusable project context (conventions, snippets)
|
|
242
|
+
│ ├── sessions/ compact per-session summaries (never raw transcripts)
|
|
243
|
+
│ └── config.json safe project configuration
|
|
244
|
+
├── src/
|
|
245
|
+
└── ...
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
- **Incremental indexing** — every indexed file is hashed; only changed
|
|
249
|
+
files are re-summarized on the next run.
|
|
250
|
+
- **Secrets never land here** — writes pass a secret-key filter; API keys,
|
|
251
|
+
tokens, and passwords are rejected at write time.
|
|
252
|
+
- **Not source code** — `.seedcode/` is excluded from workspace search,
|
|
253
|
+
indexing, and the agent's project view (the repo `.gitignore` template
|
|
254
|
+
lists it too).
|
|
255
|
+
|
|
256
|
+
## Command reference
|
|
257
|
+
|
|
258
|
+
| Command | Purpose |
|
|
259
|
+
| --- | --- |
|
|
260
|
+
| `/help` | Search available commands |
|
|
261
|
+
| `/provider` | Switch the active AI provider |
|
|
262
|
+
| `/apikey` | Add, replace, remove, or validate a provider key |
|
|
263
|
+
| `/model` | Browse and select the provider's model catalogue |
|
|
264
|
+
| `/agent` | Enable or disable Assist Mode (alias `/assist`) |
|
|
265
|
+
| `/codemode` | Workspace-aware Code Mode (`on` / `off` / `status`) |
|
|
266
|
+
| `/workspace` | Show the active Code Mode workspace |
|
|
267
|
+
| `/permission` | View or set the Assist permission mode |
|
|
268
|
+
| `/computer` | Show Computer Engine status and permissions |
|
|
269
|
+
| `/screenshot` | Capture a screenshot |
|
|
270
|
+
| `/windows` | List open windows |
|
|
271
|
+
| `/tools` | List tools available in Assist Mode |
|
|
272
|
+
| `/index` | Show a compact project tree |
|
|
273
|
+
| `/files` | Search project files |
|
|
274
|
+
| `/history` | Browse saved sessions |
|
|
275
|
+
| `/doctor` | Diagnose configuration, network, and provider health |
|
|
276
|
+
| `/theme` | Change the terminal theme |
|
|
277
|
+
| `/shortcuts` | Show keyboard shortcuts |
|
|
278
|
+
| `/reset` | Forget the current conversation context |
|
|
279
|
+
| `/clear` | Clear the screen |
|
|
280
|
+
| `/version` | Show the Seed Code version |
|
|
281
|
+
| `/exit` | Leave the current chat (opens the main menu) |
|
|
282
|
+
|
|
283
|
+
Keyboard shortcuts: `Ctrl+K` command palette, `Ctrl+P` project file search,
|
|
284
|
+
`Ctrl+R` history, `Ctrl+,` settings, `Ctrl+/` shortcut reference,
|
|
285
|
+
`Ctrl+L` clear.
|
|
286
|
+
|
|
287
|
+
All exit paths are clean in v6.2.0: `/exit` → menu, menu → Exit,
|
|
288
|
+
`Ctrl+C` (cancels a response or the current line), and `Ctrl+D`/EOF.
|
|
289
|
+
No traceback appears on normal exit.
|
|
290
|
+
|
|
291
|
+
## Desktop control
|
|
292
|
+
|
|
293
|
+
With the `desktop`/`full_system` permission level, Seed Code can inspect
|
|
294
|
+
windows, resolve UI elements semantically (accessibility tree, OCR, and
|
|
295
|
+
image refinement — no brittle coordinates), launch and focus applications,
|
|
296
|
+
and drive keyboard/mouse with per-action verification. v6.2.0 replaces
|
|
297
|
+
hardcoded waits with state-based detection: `open_app` polls for real
|
|
298
|
+
window evidence instead of sleeping, verification pauses are shorter
|
|
299
|
+
because state is re-read live, and screenshots are taken only when
|
|
300
|
+
information is genuinely needed.
|
|
301
|
+
|
|
302
|
+
## Configuration and local data
|
|
303
|
+
|
|
304
|
+
```text
|
|
305
|
+
~/.seedcode/
|
|
306
|
+
├── config.json provider and application settings
|
|
307
|
+
├── history/ saved conversation sessions (per provider)
|
|
308
|
+
├── memory/ persistent local memory
|
|
309
|
+
└── logs/ rotating diagnostic logs
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
Credentials stay local and provider-scoped; environment variables take
|
|
313
|
+
precedence over stored keys. Logs never record API keys or message content.
|
|
314
|
+
`/doctor` checks configuration, connectivity, and provider health.
|
|
315
|
+
|
|
316
|
+
## Platform support
|
|
317
|
+
|
|
318
|
+
- **Windows:** full experience — desktop control, one-click installer,
|
|
319
|
+
standalone EXE. Primary platform for v6.2.0.
|
|
320
|
+
- **Linux / macOS:** terminal chat, providers, project tools, Code Mode.
|
|
321
|
+
Install with pip; prebuilt binaries are not published yet.
|
|
322
|
+
|
|
323
|
+
## Building from source
|
|
324
|
+
|
|
325
|
+
### Python distributions
|
|
326
|
+
|
|
327
|
+
```bash
|
|
328
|
+
python -m pip install build twine
|
|
329
|
+
python -m build # wheel + sdist, version read from seedcode/__init__.py
|
|
330
|
+
python -m twine check dist/*
|
|
331
|
+
```
|
|
332
|
+
|
|
333
|
+
### Windows EXE + installer
|
|
334
|
+
|
|
335
|
+
```bat
|
|
336
|
+
scripts\windows\build.bat
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
Stage 0 generates the branding assets (icon, wizard art, exe version
|
|
340
|
+
resource). Stage 0b embeds the default API configuration from a local
|
|
341
|
+
`.env` (git-ignored; skipped when absent — never printed or committed).
|
|
342
|
+
Stage 1 builds the self-contained `dist\seedcode.exe` with PyInstaller
|
|
343
|
+
(icon + version resource embedded) and verifies it. Stage 2 compiles the
|
|
344
|
+
Inno Setup installer and verifies it. Stage 3 stages everything into
|
|
345
|
+
`dist\release\<version>\` and writes `SHA256SUMS.txt` with real hashes.
|
|
346
|
+
|
|
347
|
+
Details: [`scripts/windows/README.md`](scripts/windows/README.md).
|
|
348
|
+
|
|
349
|
+
### Release artifacts (v6.2.0)
|
|
350
|
+
|
|
351
|
+
| Artifact | Purpose |
|
|
352
|
+
| --- | --- |
|
|
353
|
+
| `SeedCode-CLI-Setup-6.2.0.exe` | Windows installer (Inno Setup) |
|
|
354
|
+
| `SeedCode-CLI-6.2.0-windows-x64.exe` | Standalone Windows EXE |
|
|
355
|
+
| `seedcode_cli-6.2.0-py3-none-any.whl` | pip wheel |
|
|
356
|
+
| `seedcode-cli-6.2.0.tar.gz` | pip source distribution |
|
|
357
|
+
| `seedcode-cli-6.2.0.tgz` | npm launcher package |
|
|
358
|
+
| `SHA256SUMS.txt` | SHA256 checksums of the above |
|
|
359
|
+
|
|
360
|
+
Built artifacts are collected in `dist/release/6.2.0/` during a release
|
|
361
|
+
build; publishing (GitHub release, PyPI, npm, winget-pkgs PR) is a separate
|
|
362
|
+
manual step.
|
|
363
|
+
|
|
364
|
+
## Troubleshooting
|
|
365
|
+
|
|
366
|
+
- **`seedcode` is not recognized** — open a *new* terminal after
|
|
367
|
+
installing; PATH changes only apply to fresh sessions. The installer
|
|
368
|
+
verifies this before it finishes.
|
|
369
|
+
- **"Setup needed" on the dashboard** — run `/provider`, then `/model`.
|
|
370
|
+
Windows-release installs start with the default OpenRouter credential;
|
|
371
|
+
pip/source installs run guided setup on first launch.
|
|
372
|
+
- **401/403 errors** — your key is invalid or lacks access; `/apikey` to
|
|
373
|
+
replace it, `/doctor` for diagnostics.
|
|
374
|
+
- **402 errors** — the model needs credits; `/model` and pick a free model.
|
|
375
|
+
- **Rate limits (429)** — wait and retry; consider a different provider.
|
|
376
|
+
- **Desktop actions fail** — check `/permission` (desktop requires the
|
|
377
|
+
`desktop` level) and `/computer` for engine status. OCR availability is
|
|
378
|
+
reported by `/doctor`.
|
|
379
|
+
- **Reset everything** — delete `~/.seedcode/` (settings, keys, history);
|
|
380
|
+
`.seedcode/` project memory lives in each project and is separate.
|
|
381
|
+
|
|
382
|
+
## Security model
|
|
383
|
+
|
|
384
|
+
- Credentials stay local and provider-scoped; the embedded default key
|
|
385
|
+
never overrides your own key or environment variable.
|
|
386
|
+
- Computer actions pass permission checks, verification, and retry limits.
|
|
387
|
+
- `.seedcode/` memory refuses secret-looking fields at write time.
|
|
388
|
+
- The release build consumes the local `.env` only during packaging; the
|
|
389
|
+
secret never enters source control, logs, manifests, or package metadata.
|
|
390
|
+
|
|
391
|
+
Review permissions before enabling Assist Mode — especially in unfamiliar
|
|
392
|
+
projects or with sensitive applications.
|
|
393
|
+
|
|
394
|
+
## Credits
|
|
395
|
+
|
|
396
|
+
- **Created by:** Al Shahriar Sowan
|
|
397
|
+
- **Publisher:** Eagox Studio
|
|
398
|
+
|
|
399
|
+
## License
|
|
400
|
+
|
|
401
|
+
MIT — see [`LICENSE`](LICENSE).
|