Commit Graph
9 Commits
Author SHA1 Message Date
weidu12123 841a362c8f docs: extract the old frontend into a 1:1 UI spec
Read App.vue end to end plus the terminal stage, pane view, detail
drawer and OS badge. The spec pins the design language, page state
machine, top bar, host cards, terminal stage, right drawer, settings
pages, data APIs and the GPUI mapping — the GPUI client is rebuilt
against it instead of approximating the look.
2026-10-17 17:52:44 +08:00
weidu12123andClaude Fable 5 5299ff513f feat(gpui): open terminal tabs from the host list, with headless UI tests
Double-clicking a host (or clicking an already selected one) opens a
terminal tab in the center dock. Three headless tests drive the real
panel with real pointer events. They use gpui-base's test_support
because gpui-kit's test-support feature drags in the gpui-fast
dependency tree, which conflicts with gpui-pre 0.3.9 on Windows.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-10-17 17:29:31 +08:00
weidu12123andClaude Fable 5 73d1735f87 feat(gpui): scaffold the native client talking to the daemon
The workspace now builds two products from one repo: the existing
daemon crate and a new vps-switch-gpui crate that renders the daemon's
HTTP API. The client keeps all networking on a dedicated current-thread
tokio runtime and drains events on the UI thread, so GPUI's executor is
never touched from other threads.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-10-17 17:18:50 +08:00
weidu12123andClaude Fable 5 ff160f41ca docs: settle the GPUI client plan and the development baseline
The plan pins gpui-kit 0.7.3 (locked to gpui-pre 0.3.9) as the client
stack, keeps the backend untouched behind the existing HTTP/WS API, and
ships the client for Windows, macOS and Linux. The dev baseline records
the verified versions, the knowledge sources that outrank memory, the
entry-point skeleton, and the platform facts the next sessions must not
relitigate.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-10-17 17:02:46 +08:00
weidu12123andClaude Opus 4.8 c050677760 docs: rewrite README with feature showcases, screenshots, and setup instructions
- State clear project definition as a lightweight VPS manager and MCP server.
- Add showcase sections for repository, terminal, SFTP/transfer, probe, and MCP audit.
- Include desensitized screenshots in docs/images/.
- Provide download links, Linux deployment commands, and Claude Code setup.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-16 12:47:11 +08:00
weidu12123andClaude Opus 4.8 67031b31b1 chore(release): prepare v0.1.0 release packaging and clean sensitive data
- Scrub hardcoded hostnames from MCP descriptions, UI placeholders,
  and documentation examples to prevent environment leakage.
- Remove hardcoded development database fallback from src/db.rs.
- Untrack .cargo/config.toml from version control and ignore local mirrors.
- Ignore test artifacts, screenshots, and WiX temporary outputs in .gitignore.
- Add Inno Setup script (installer.iss) for Windows Setup.exe wizard installer.
- Add WiX configuration (wix/main.wxs) for Windows MSI installer.
- Add systemd service template (vps-switch.service) for Linux deployments.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-16 10:39:35 +08:00
weidu12123andClaude Opus 4.8 7bf552952f feat: add command blacklist guardrail for MCP command channels
MCP 工具一旦被外部 agent 放行,参数里的命令就不再受它自身权限系统检查
(Claude Code 的 MCP 权限规则只按工具名匹配、不带参数内容),
vps_exec 里的 rm -rf / 在 agent 侧零提示。这是唯一的兜底。

- src/guard.rs:名单判定。归一化(剥引号、\/ 还原、折叠空白、转小写、
  短选项聚簇排序,故 -rf/-fr/-r -f 等价)+ * 通配 + 词边界匹配 + 截断标记检查
- data/deny-list.txt:首启写出内置 25 条不可逆灾难,用户可增删,每次判定重读
- 挂在 vps_exec 与 vps_terminal 的 send 上,命中即拒绝执行、不产生输出
- 工具描述写明护栏存在,并告诉 agent 被拦时不要换写法重试
- GET/PUT /api/guard + 设置页 MCP 标签下的名单编辑区
- 没有白名单、确认流程、风险分级与安全挡位

边界:防手滑,不防蓄意绕过(r\m -rf /、$(echo rm) -rf / 这类纯模式匹配必然漏)。

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-13 23:55:31 +08:00
weidu12123 ac92ac981a feat: adopt monochrome topological lock brand icon (Option D) 2026-10-13 18:08:02 +08:00
weidu12123 d2348d0c00 feat: initial commit of vps-switch core modules and desktop frontend 2026-10-13 16:36:22 +08:00