Replies: 5 comments 2 replies
|
Thank you for presenting this so carefully, and sorry for the slow reply. The source-first handoff, the explicit unofficial status, the validation ledger, and the known-limitations section made this far easier to evaluate than most proposals of this size — that's appreciated. We'd like to take it upstream. Please do prepare pull requests against this repository and we'll review them properly. To keep the review tractable, could I ask you to split it rather than sending one large PR?
Two requests on how the branches are built. Please rebuild from a real fork of current With PR 1, it would help a lot if you could include the file list, the process-boundary threat model (loopback auth, secret lifetime, what the renderer can reach), dependency and license/SBOM output, a clean-Windows startup and shutdown result, and the remaining unsigned-build limitations. Two things I'd ask you to keep out of the default build: please don't bundle every optional IM adapter into the Windows runtime — a small base runtime with explicit adapter installs is much easier to reason about; and I'd like to treat the personal WeChat QR/pairing path as a separate opt-in review item rather than a default surface. On naming and release ownership: for now, please keep Source is enough for the first pass; no need to send an unsigned installer yet. Thanks again for asking before publishing more widely — that was the right call. |
|
One more thought from my side: if Vibe-Trading eventually gets an official Windows app, I'd love for Electron not to become the permanent choice just because the current prototype uses it. I completely understand why Electron makes sense for a first version. It lets us reuse the React interface and get something working much faster. But, as a Windows user, I often find Electron apps heavier and slower than they need to be. Claude Desktop is one example where I notice this quite a lot. When there's time, I think it would be worth looking at a native Windows app with WinUI/.NET, or at least something lighter such as Tauri or a WebView2-based shell. Ideally, we could still reuse the Python backend and as much of the existing frontend as possible. I'm not suggesting throwing away the current Electron work or delaying more important things. The prototype is useful and proves that the desktop workflow can work. I'd just prefer that the long-term architecture remain open until the alternatives have been compared. Would you be open to considering that later on? |
|
@QCYTSN @Noobru — a decision from our side so you both know where this is heading. Electron is accepted as the first implementation, and the desktop host will live in this repository. Noobru's point stands and is on the record: this is not a permanent architecture commitment. A later comparison of Electron / Tauri / WebView2 / WinUI on cold-start time, memory, installer size, Python sidecar management, security, accessibility and maintenance cost is a legitimate follow-up item. QCYTSN's framing of the current PR — prove the desktop lifecycle boundary while keeping the React frontend and the Python/FastAPI backend reusable — is exactly the scope that keeps that door open. What we are committing to now is the boundary, not the runtime. I'll review #892 personally, and it lands on One thing you need to know before that review, and it is our fault rather than yours. We rewrote this repository's history earlier today, and the force-push invalidated the merge base for every open pull request. #892 currently displays 1,661 files and roughly 275,000 insertions. That is not what you wrote — I fetched your head locally and checked: the real content is two commits ( So the PR is precisely the scope we agreed on, but GitHub can neither display that nor merge it. Could you rebuild the branch on top of the current git remote add upstream https://github.com/HKUDS/Vibe-Trading.git
git fetch upstream main
git checkout -b desktop-shell-v2 upstream/main
git cherry-pick <shell-commit> <docs-commit>
git push --force-with-lease origin desktop-shell-v2Opening a fresh PR from that branch is equally fine — I'll close the old one with credit either way. What I'll be checking in review, so nothing is a surprise:
Having Two gates before packaging (PR 2) reaches users, flagged now rather than later:
PR 3 (provider model discovery, model selection, showing the configured provider / model / reasoning setting / response duration) is useful independent of the desktop work — I'd happily take that one even if it arrives first. Thank you for splitting this the way you did, and for keeping the prototype honestly labelled as unofficial while it lived outside the repo. |
|
Thank you again for the clear direction. I have now rebuilt the work from the rewritten current
The old #892 has been closed as superseded by #923. I am keeping PR 2 local for now, stacked on #923, so it does not duplicate the shell diff before PR 1 lands. The local packaging branch excludes the updater, optional IM adapter dependencies, and the personal WeChat/QR path. It now has separate fail-closed commands for unsigned review artifacts versus signed publishable artifacts; the signed path requires external signing credentials and verifies Authenticode on both the packaged app and installer. I will rebuild/rebase it after #923 lands, then complete the exact-branch clean-Windows run and resolve the signing identity before opening that PR. |
|
Thanks @QCYTSN — rebuilding from current main and splitting this into bounded, separately-reviewable PRs is exactly the right shape. CI for #923 and #924 is approved and running now. Once it is green we will do a proper review pass, with the usual bar: no changes under the protected agent/session/provider core (we will verify that in the diff rather than take it on faith), tests included, and each PR independently mergeable so the desktop shell can land without the model-runtime piece if one needs more iterations. Will follow up on the PRs themselves once CI reports. |
Uh oh!
There was an error while loading. Please reload this page.
Hi Vibe-Trading maintainers — @warren618,
I have built a working Windows desktop prototype for Vibe-Trading and would like to ask for your direction before preparing formal pull requests or publishing it more broadly.
The current temporary name is Vibe-Trading Desktop Community. It is explicitly presented as an unofficial community Alpha, not an official HKUDS application.
Source and documentation:
https://github.com/QCYTSN/vibe-trading-desktop-handoff
Overview
This is not a rewrite of Vibe-Trading.
It preserves the existing React interface and Python/FastAPI agent architecture, while adding an Electron-based desktop host, an embedded Python runtime, Windows packaging, local process management, safer credential storage, and several desktop-focused usability improvements.
The current prototype targets Windows 10/11 x64.
Implemented work
The desktop version currently includes:
safeStorageand Windows user-level encryption;The desktop layer keeps the backend bound to
127.0.0.1by default and does not intentionally bypass the existing live-trading authorization, mandate, confirmation, halt, or audit boundaries.Validation completed
The following checks have been completed on the development machine:
Current limitations
I also want to be transparent about the remaining work:
0.3.0installer still needs another clean-Windows regression test;0.3.0 -> 0.3.1test;Source-history limitation
The original implementation was developed from an extracted Vibe-Trading
0.1.11source snapshot without its.githistory.The public repository therefore contains a path-preserving source overlay for architecture review. It is not presented as a clean patch series and should not be applied blindly to the current upstream
mainbranch.If the project is interested in the desktop version, I am willing to reconstruct the work in a real fork against a known current upstream commit and split it into focused, reviewable commits with the required DCO
Signed-off-by:trailers.A possible review order would be:
Guidance requested
Before rebuilding the work as formal pull requests, could you please advise on the preferred direction?
desktop/directory in the main repository, in a separate HKUDS companion repository, or remain an independent community project?I also have an unsigned Windows installer available for optional testing, together with its SHA-256 checksum. I have not made the installer the primary review material because the source, architecture, validation status, and known limitations should be reviewed first.
I am willing to adapt the implementation, branding, repository structure, package scope, and pull-request breakdown to the direction preferred by the maintainers.
Thank you for building and maintaining Vibe-Trading.
All reactions