# dsh-project-runner(项目运行器) [中文](README.zh.md) | [English](README.md) 在 DeepSeek Harness 里一键跑起你的项目服务:点一下就在**真终端**里启动,输出实时显示在面板上, 日志同时落盘——所以「它为什么挂了」也能直接回到对话里问。 ## 能做什么 - **分组清单**:一个分组 = 一个项目,一条启动项 = 一条命令 + 一个工作目录 - **真终端**:真的起一个 shell,PATH / nvm / pyenv 都在,输出的颜色和你在终端里看到的一样 - **一键运行 / 停止**:每条启动项都有自己的实时日志,自动跟随最新输出 - **日志落盘**:跑过的东西 DSH 重启后还能回看,超过 7 天 / 512MB 自动清理 - **和对话同屏**:右栏「运行日志」tab 就在对话旁边——**滑选几行日志,一键插入到输入框** (插入的是行号引用,不是把十万字符贴进去) - **AI 能插手**:模型可以查状态、读关键日志、启动 / 停止 / 重启启动项,不用你回面板点按钮 - 拖拽排序、拖拽换组、分组配色、浅色 / 深色主题都跟着来 ## 安装 ```sh dsh plugin --profile desktop add github:tengyinan1994/dsh-project-runner ``` 装完重启 DSH 即可。需要 dsh ≥ 0.2.1-rc.2。 ## 怎么用 1. 左侧栏 **启动器** → **+ 新建分组**:填项目名和默认工作目录 2. 分组里 **+ 条目**:填名称、命令行、工作目录(留空就用分组目录) 3. 点行尾 **▶** 运行;点条目行看它的命令与实时日志 4. 拖动可以调整顺序,把条目拖到别的分组就是换组 **两种性质**:常驻服务(默认,退了会提醒你)和一次性任务(比如构建,跑完显示「已完成」)。 在条目的 ⋯ 菜单里切换。 ## 配置(可选) 默认值一般就够用。要改 shell、启动参数或日志保留策略,在 profile 的 `cordis.patch.yml` 里 覆盖 `launcher` 这一行即可——每个字段旁边都有注释说明。 ## 几点说明 - 面板界面是中文的。 - 一条启动项就是一条命令,**没有交互输入**(不能在面板里往程序敲键盘),也不做调试。 - **删除分组 / 条目不会杀掉正在跑的进程**——要停请点停止。 - 子进程默认继承你的完整环境变量(和真终端一样);不想把 `*_KEY` 之类传进去, 把 `inheritEnv` 设为 `scrubbed`。 ## 支持平台 macOS、Linux、Windows。shell 自动探测——macOS/Linux 走 `$SHELL` / zsh / bash / sh,Windows 走 `pwsh` → `powershell` → `cmd.exe`——启动参数跟着 shell 走(bash/zsh 用 `-lic`,cmd 用 `/d /s /c`, PowerShell 用 `-NoLogo -Command`)。Windows 是通过这些默认值支持的,但**没有在真机上实测过**, 遇到问题欢迎提 issue。 ## License MIT