Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

omp-plain

oh-my-pi(omp)扩展插件:剔除界面里的所有背景色,让 everywhere 显示终端原本的底色,在任何主题下都生效。

效果

开启后,omp TUI 中一切由主题绘制的背景全部变为终端默认背景色:

  • 工具输出块(运行中 / 成功 / 出错三种状态)
  • 选中高亮、悬停高亮条
  • 用户消息、系统/钩子消息面板
  • 底部状态栏

主题的前景色、语法高亮、强调色、边框完整保留——你看到的是"当前主题 + 终端原底色"。

工作原理

插件从你当前使用的主题动态派生一个 <主题名>-plain 变体:前景与符号全部继承,仅把 7 个背景 token(selectedBg / userMessageBg / customMessageBg / toolPendingBg / toolSuccessBg / toolErrorBg / statusLineBg)置为空值——omp 对空颜色值渲染为 ANSI 49(终端默认背景)。派生文件写入 ~/.omp/agent/themes/ 并切换过去;关闭时恢复原主题并删除派生文件。

每次启动都会按当前配置的主题重新派生,因此你随时换主题(改 config.yml 的 theme.dark),重启后去背景自动跟随新主题。

另外保留一道 tool_result ANSI 剥离:omp 自带的 bash/read 工具会在输出进入扩展层之前清掉 ANSI 码,但 MCP 等不做消毒的来源返回的文本若带 SGR 背景码,也会被实时剥掉(前景与属性保留)。

会话中途用 /theme 切换主题?无需任何操作——插件会在下一条工具输出时检测到主题变化,自动按新主题重新派生并切回 plain 版本(/theme 预览浏览不受干扰)。

安装

omp plugin install github:Mosaulse/omp-plain

装完重启 omp 即生效。更新:

omp plugin upgrade

卸载:

omp plugin uninstall omp-plain
其他安装方式

开发 / 本地试用:在 ~/.omp/agent/config.yml 的 extensions: 数组加入仓库克隆路径,或启动时指定:

git clone https://github.com/Mosaulse/omp-plain.git
omp -e /path/to/omp-plain

使用

命令 作用
/bg 切换开关:关闭时开启(派生并切换 plain 主题),开启时关闭(恢复原主题,删除派生文件)

开关状态持久化到 ~/.omp/agent/no-bg-plugin.json,重启后自动恢复;开启状态下重启会自动重新派生并应用。

实现说明

纯 TypeScript 单文件扩展,无构建步骤、无依赖。导出的纯函数(stripBgAnsi、derivePlainTheme)不依赖 omp,可直接单测。

更新日志

v1.0.0

首个正式版本。

  • 动态派生 plain 主题:从当前活动主题派生 <主题名>-plain 变体,7 个背景 token 全部置空(渲染为终端默认背景),前景、语法高亮、符号完整保留;派生文件写入 ~/.omp/agent/themes/,关闭时恢复原主题并清理文件。
  • 启动自动跟随:开启状态下每次启动都按当前配置的主题重新派生,config.yml 中更换 theme.dark 后重启即生效。
  • 会话中自动重新应用:/theme 中途切换后无需重启,下一条工具输出时自动按新主题重新派生。
  • tool_result ANSI 背景剥离:对 omp 不消毒的来源(如 MCP 工具)实时剔除 SGR 背景色码,前景与属性保留。
  • 状态持久化:开关状态存于 ~/.omp/agent/no-bg-plugin.json,重启自动恢复;损坏的状态文件自动重写为干净 JSON。

License

MIT,详见 LICENSE(Copyright © 2026 Mosaulse)。

About

还界面一个素净外观

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages