CNWei
|
8fdc55e17d
|
feat: 首页改版与 uv / 镜像配置收敛,精简任务数据结构
- 页头只保留品牌与操作图标,三栏改为 1:2:1、容器最宽 1320
- 任务卡片:状态标签移入标题行并缩小,隐藏任务标识,操作行贴内容底边
- uv 配置弹窗:删掉与首页重复的状态条,三段配置改成标签页
- 镜像源:弹窗去掉默认镜像汇总,首页卡片改为展示默认镜像与运行时注入的变量
- 后端:迁移合并为单一基线 0001_init,删掉未生效的 concurrency_policy / retry_*,
运行触发只剩 schedule / manual;contracts、前端生成类型、README / PLAN 同步
|
2026-11-08 21:26:47 +08:00 |
|
CNWei
|
37479f48c7
|
docs: 更新 uv 与虚拟环境文档
- README:三栏工作台与弹窗说明、uv 路径默认值(python / uv-cache)、镜像只在装包时生效、API 与数据布局、测试现状注记
- RELEASE:补 uv-cache 与 uv 目录、配置入口改为弹窗、运行时注入说明
- 新增 ADR-0009:uv 与托管 Python 环境的决策与边界
- PLAN:补记已完成的后继迭代
|
2026-11-07 17:05:02 +08:00 |
|
CNWei
|
1914d38451
|
feat: 本地 uv 与托管 Python 环境管理
- 新增 uv 管理:只认程序目录副本或指定路径,支持从科大镜像下载并按 sha256 校验
- uv 环境变量(UV_*)可配置,默认相对程序目录(python / uv-cache),同时注入 uv 调用与任务进程
- 新增托管虚拟环境与 Python 版本管理:用 uv 下载解释器、预创建环境、查看已装包
- 新建任务保存时自动创建 .venv,运行期只校验、不再自动装依赖;镜像只在装包时使用
- 前端改为顶部品牌栏 + 三栏工作台,uv / 镜像源 / 虚拟环境各自独立弹窗
- 发布包构建后去掉工作区继承的低完整性标签
- 修复调度集成测试并发时误取 skipped 运行的问题
|
2026-11-07 16:57:27 +08:00 |
|
CNWei
|
62f1661b2c
|
fix(frontend): 切换目录时只保留一次虚拟环境状态
切换目录时先同步清掉旧目录自动填入的 venv;实时 venv 为空时立即忽略防抖旧值;旧查询结果不再回填新目录;补充 Playwright 回归用例。
|
2026-11-04 23:20:54 +08:00 |
|
CNWei
|
10f8e6bb66
|
style(frontend): 精简脚本语言提示并移除解释器输入框
- 脚本语言提示从大块灰色卡片改成下拉框右侧的一行说明
- Python 表单不再显示解释器输入框,固定使用 .venv 里的 Python
- 虚拟环境目录字段改为全宽并明确自动探测语义
- 非 Python 语言仍由语言自动设置 cmd.exe/node.exe/lua.exe,API 仍可传自定义 interpreter
|
2026-11-04 22:51:37 +08:00 |
|
CNWei
|
917674880b
|
feat: 拆分任务类型并支持脚本语言联动
- 任务类型改为「执行脚本 / 发起 HTTP 请求 / 运行二进制程序」,脚本类型下新增语言选择(Python / Shell / Node / Lua)
- 语言联动表单:Python 才显示虚拟环境、解释器和 uv 状态;Shell/Node/Lua 隐藏这些字段并切换脚本标签、占位符和调用预览
- 切换语言时自动设置解释器与默认脚本,Shell 通过 cmd.exe /C 执行批处理,Node/Lua 使用对应解释器
- TaskAction 新增可选 language,旧任务按解释器推断;补 Shell 执行测试、语言切换单测与 Playwright 用例
|
2026-11-04 22:07:14 +08:00 |
|
CNWei
|
8e6b3b92b9
|
feat: 支持 uv 从 pyproject/requirements 创建虚拟环境
- 工作目录探测新增 pyproject.toml / requirements*.txt 扫描、uv 可用性与 can_create
- 新增 POST /api/v1/python/venv/create:已有虚拟环境优先复用;pyproject 走 uv sync,requirements 走 uv venv + uv pip install,并使用默认 PyPI 镜像
- 编辑器在缺少虚拟环境且具备依赖文件时显示「用 uv 创建环境」;没有 uv 或没有依赖文件时明确报错
- 解释器字段改为可选,留空由服务端默认 python.exe 并使用虚拟环境;Python 任务缺少虚拟环境/依赖文件时运行直接失败,不再回退系统解释器
- 补后端探测/创建测试、前端入口测试与 README
|
2026-11-03 22:57:17 +08:00 |
|
CNWei
|
29fc579275
|
feat: 左侧导航改版与 Python 镜像管理
- 应用外壳换成 stash-ui Layout:左侧导航(任务调度 / Python 镜像)+ 页面标题区,窄屏折叠为顶部导航
- 新增 python_mirrors 表与 CRUD/设默认接口,内置清华、阿里云、中科大、PyPI 官方
- Python 脚本任务运行时注入默认镜像的 PIP_INDEX_URL / UV_INDEX_URL,任务自身环境变量优先
- 新增镜像管理页与表单,支持新增、编辑、启用/停用、设默认、删除
- 重新生成 OpenAPI 与 TS 类型;补齐后端镜像测试、前端单测与 e2e,修复窄屏页面被宽表格撑开
|
2026-11-03 22:12:11 +08:00 |
|
CNWei
|
3c1a603b90
|
style(frontend): 接入 stash-ui 设计系统
- 依赖 @stash/ui(file:../../stash-ui),统一引入 style.css 与 Toaster
- 任务面板、表单、弹窗、日志、状态标签全部迁到组件库,App.css 只保留页面布局
- 移除自写 useFocusTrap,改用基于原生 dialog 的 Modal
- 修复 LogViewer 流式追加时误判离开底部、导致不再自动跟随的问题
- 发布脚本检查 stash-ui 产物;README 补充组件库构建与 file: 依赖刷新说明
|
2026-11-01 23:54:35 +08:00 |
|
CNWei
|
07ca14ea34
|
perf(logs): 日志事件按窗口合并推送,抽屉改为虚拟滚动
- 后端 LogSink 把逐行事件按 16 KiB / 100 ms 合并成一条 log 事件,文件写入保持即时;后台 tick 与析构 flush 保证低输出和收尾都不丢尾部
- 前端新增 LogViewer:固定行高虚拟滚动、跟随底部/回到最新,增量按 rAF 合并,长日志 DOM 节点数恒定
- 日志抽屉改为行缓冲(lib/logLines)+ 可见窗口计算(lib/logWindow)
- 详情区改 flex 布局,日志面板吃掉剩余高度,回到最新按钮不再被裁到面板外
- 测试:Rust 单元 52→57,Vitest 13→28,Playwright 4→5(1500 行虚拟滚动)
- 文档:README 补充合并推送与虚拟滚动,新增 ADR-0008
|
2026-10-27 22:38:53 +08:00 |
|
CNWei
|
14fb3563c5
|
chore(fonts): 字体二进制不入库,改用脚本生成
- 远程仓库对单次推送体积有限制,6.7 MB 字体无法一次推送,先从版本库移除
- 新增 tools/build-fonts.py:下载官方分包、合并并子集化,一条命令重建
- @font-face 保留,字体缺失时回退系统字体;离线用例改为按可用性断言
|
2026-10-26 00:46:20 +08:00 |
|
CNWei
|
942f8de3b7
|
docs: 重写 README 并加入 uv 示例与端到端自检
- README 重排为快速开始、执行语义、输入校验、API 参考与故障排查
- 新增 samples/python-task:uv 管理的演示任务
- 新增 tools/verify.py:14 项 API 全链路自检
|
2026-10-26 00:38:16 +08:00 |
|
CNWei
|
e555610037
|
feat: 工作目录支持页面内目录浏览器
|
2026-10-24 23:20:20 +08:00 |
|
CNWei
|
dd7612bc74
|
feat: 编辑器实时探测并显示已关联虚拟环境
fix: 按系统 ANSI 代码页解码子进程输出,修复中文日志乱码
|
2026-10-24 22:30:10 +08:00 |
|
CNWei
|
23565b40a4
|
feat: 解决python虚拟环境问题
|
2026-10-19 23:32:08 +08:00 |
|
CNWei
|
8ce02af13a
|
feat: implement full-stack TaskPilot scheduler
|
2026-10-18 22:05:45 +08:00 |
|