真实终端仿真
基于 pywinpty(ConPTY)运行,由 pyte 解析输出。ANSI 颜色、光标定位、vim、REPL 这类交互式程序都能正常使用,不是 subprocess 管道的包装。
Fish away 把 CMD、PowerShell、Python、Node.js、Git Bash 和 WSL 收进同一个界面。 底层基于 ConPTY 与 pyte 做真实的终端仿真,支持 ANSI 颜色、光标控制、Tab 补全和交互式程序。 单个 exe,无需安装。
六种环境之外,侧边栏、设置、插件这几块也做了对应的配套。
基于 pywinpty(ConPTY)运行,由 pyte 解析输出。ANSI 颜色、光标定位、vim、REPL 这类交互式程序都能正常使用,不是 subprocess 管道的包装。
标签页可以拖动排序、随时关闭。既可以在底部输入框敲命令,也可以直接点终端面板接管键盘输入。
启动时扫描六种环境,侧边栏按钮显示 ✓ 或 ✗。缺失的环境会给出安装指引,也可以在设置里手动指定可执行文件路径。
双击打开是普通模式,右键「以管理员身份运行」进入管理员模式。侧边栏徽章显示当前权限,普通模式下点徽章可以通过 UAC 提权重启。
默认使用国内源。Ctrl + Shift + Z 在国内外源之间切换并自动保存。pip 使用清华 TUNA,npm 使用 npmmirror。
分为外观、会话路径、镜像源、插件四部分。模糊浓度、等宽字体、字号、光标样式、回滚行数都可以调整,保存后立即生效。
插件是一个 .py 文件。启动时调用 setup(app),可以注册新环境、添加入口按钮、往教程里注入章节。单个插件出错只弹提示,不影响主程序。
内置 20 章教程,从 CMD 与 PowerShell 基础,到镜像加速、插件开发、故障排查和速查表。
渲染合并到约 30fps,配合 120ms 安全对账。全局异常钩子会写入 error.log 并弹窗,不会静默退出。DWM 合成关闭时自动放弃透明,避免黑屏。
起始目录做了区分:CMD 在管理员下从 System32 起步,其余一律落在用户目录。
命令提示符
cmd.exe
普通用户从 C:\Users\你 起步,管理员从 System32 起步。
PowerShell
Windows PowerShell / pwsh 7
自动识别并优先使用 PowerShell 7(pwsh),两种权限下都从用户目录起步。
优先 pwsh 7Python
交互式 REPL
直接进入 Python 交互环境,缩进、补全、报错回溯正常显示。
用户目录起步Node.js
Node REPL
跑 npm、调 node、试一段 JS,不用再另开一个窗口。
用户目录起步Git Bash
Git for Windows
完整的 Unix 工具链。检测不到时,可以在设置里手动指向 bin\bash.exe。
WSL 子系统
Windows Subsystem for Linux
装了多个发行版时,可以在设置里选一个作为默认入口。
可选择发行版插件环境
register_environment()
Ruby、Go、PHP、R、Lua、JShell……写个 .py 插件注册一下,侧边栏就会多出对应按钮,图标和背景可以自定义。
推荐直接下载 exe。想改代码或者写插件,另外两种方式也可以。
图标和依赖全部打包在一个文件里,不需要预先安装 Python。双击是普通模式,右键「以管理员身份运行」是管理员模式。
Fish.away.exe推荐
双击 启动 Fish away.bat,首次运行会自动安装依赖并启动。
启动 Fish away.bat自动装依赖
需要 Python 3.9 以上。装好依赖后运行主程序即可,适合改代码或写插件。
pip install -r requirements.txt pythonw fishaway.pyw开发用
其余操作都能在界面里点到,这几个用键盘会快一点。
先看看这里,软件内置教程里还有更完整的排查流程。
多半是杀毒软件把单文件 exe 隔离了。到杀软的「保护历史记录 / 隔离区」里还原,并加入排除项;也可以改用 启动 Fish away.bat 启动。具体报错可以查看 %APPDATA%\FishAway\error.log。
把 exe 属性里「兼容性」标签页中的兼容模式勾选去掉。v3 已经能自动处理 DWM 合成被关闭的情况,但兼容模式仍可能带来额外的图形层问题。
通常是拼写错误,或者该程序的安装目录没有加进 PATH。可以先用 where 命令名 确认系统能不能找到它,具体配置方法见内置教程的 FAQ 章节。
这是 Windows 默认的执行策略。在 PowerShell 里执行一次下面这条命令即可,只影响当前用户:Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
先确认已经装了 Git for Windows。如果装了却还是识别不到,打开「设置 → 会话路径」,手动选择 Git 安装目录下的 bin\bash.exe,再点「自动检测」重新扫描一次。
用管理员身份打开 PowerShell,执行 wsl --install -d Ubuntu,重启电脑后按提示完成初始化,之后在 Fish away 的设置里就能选到这个发行版了。
在 CMD 里先执行 chcp 65001 把代码页切到 UTF-8。写脚本时也记得把文件保存为 UTF-8 编码。
两个检查点:一是「设置 → 插件」里有没有勾选启用;二是勾选之后需要重启 Fish away。插件在启动时才会被加载。
用 exe 运行时在 %APPDATA%\FishAway\,里面有 config.json、error.log 和 plugins\;用源码或 bat 启动时,这些文件放在程序所在文件夹。exe 首次运行会自动创建目录并放入示例插件。
Fish away 由个人开发维护,代码在 GitHub 上开源。