omni-context-cli
v0.0.89
Published
Omx is a small, helpful, zero-telemetry coding assistant.
Readme
OmniContext CLI
上下文优先、零遥测的编程助手,可集成到 VS Code、Office、浏览器和移动端。兼容 Anthropic、OpenAI、Gemini 和 Responses API,支持自定义工作流、地标导航与跨会话记忆。
上下文优先架构
每一个 token 都很重要。OmniContext CLI 从底层开始就为最大化利用上下文窗口而设计。
- 精简系统提示词 - 内置提示词短小、聚焦、没有模板废话。工具描述力求精简。你的上下文预算用在实际工作上,而不是框架开销。
- 智能体式工具 - 探索性任务(搜索代码、勘察项目结构、预览文件)作为独立的智能体式工具运行,也可以单独指定 Agent 模型。中间工具调用、文件内容和推理过程不会进入主上下文。你只拿到一个简洁的结论,中间草稿完全不占空间。
- 地标导航 - 代码导航知识会保存为轻量的主题到文件索引层,让助手先跳到关键文件,再决定是否需要继续搜索。
- 上下文编辑 - 随着对话增长,早期的工具调用负载和思考块变得不再相关。上下文编辑自动压缩这些内容,用紧凑的占位符替换庞大的工具输入输出,剥离推理痕迹,让模型看到干净、聚焦的历史。
- 跨会话记忆 - 每次对话压缩时,模型自动提炼关键要点并评估已有记忆。好的见解不断积累权重,过时的知识自然衰减。下次会话开始时,积累的记忆自动注入,让助手从第一句话就了解你的偏好和项目背景。
- 提示词缓存 - 你可以自主选择缓存 TTL:5 分钟适合快速迭代,1 小时适合长时间工作。Anthropic 的缓存控制自动应用,重复的上下文块直接从缓存读取,大幅降低 token 消耗和成本。
工作流系统
工作流控制 OmniContext CLI 行为的方方面面:系统提示词、可用工具列表、助手交互方式。内置五套工作流:
| 预设 | 使用场景 | 说明 | |------|----------|------| | Programming(默认) | 终端、VS Code | 编程助手,包含基础工具、Agent 工具和 MCP 集成。简洁输出,最小开销。 | | General | Office、桌面端 | 多功能个人助理,处理文档、表格和演示文稿。主动使用工具,匹配对话语气。 | | Analytics | 使用分析 | 查询本地请求分析数据库,探索 token 用量、成本、延迟和模型对比。 | | Memory | 要点管理 | 浏览、编辑和清理项目记忆中的跨会话关键要点。 | | Recall | 会话搜索 | 搜索和回顾过去的聊天会话,查找决策、上下文和讨论历史。 |
桌面应用还会安装 Browser 工作流供 Chrome 侧边栏使用,可访问标签页、页面内容、书签、历史记录、截图和脚本执行能力。
在 ~/.omx/workflows/ 或 .omx/workflows/ 中放一个 Markdown 文件即可创建自定义工作流。每个工作流是一个带 YAML frontmatter 的 Markdown 文件,frontmatter 定义工具集,正文成为系统提示词:
---
name: My Workflow
allowBuiltinTools: true
allowExternalTools: true
allowBuiltinAgents: true
allowExternalAgents: true
allowMcpTools: true
allowRemoteTools: true
---
你的系统提示词。可以使用模板变量 {{OS_TYPE}}、
{{PLATFORM}}、{{ARCH}}、{{CWD}} 和 {{TODAY}}。启动时用 omx --workflow my-workflow 切换工作流,也可以把默认值保存到 OmniContext CLI 的应用配置中。
原生多协议
每种 LLM API 协议都有专用的请求构建器和流处理器。提示词缓存、扩展思考、函数调用和其他供应商专属特性都按原生协议工作。没有转换层,不会把 Anthropic 请求转成 OpenAI 格式,也不会反过来。
| 协议 | 说明 | |------|------| | Anthropic | Messages API,支持提示词缓存、扩展思考和流式传输 | | OpenAI | Chat Completions API,兼容任何 OpenAI 格式的接口 | | Gemini | generateContent API,原生流式传输和函数调用 | | Responses API | OpenAI 的 Responses API,内置工具编排 |
供应商专属拦截器处理协议和模型源差异,例如 Anthropic 新旧模型、DeepSeek、Responses API 调整、Gemini 旧模型、Kimi、MiniMax、xAI、Zhipu GLM 和 Zenmux 模型路由,同时不影响协议本身。
一条命令添加供应商的所有模型:
omx --list-providers
omx --add-provider openrouter --api-key sk-...
omx --remove-provider openrouter内置供应商:Zenmux、DeepSeek、Kimi for Coding、MiniMax、OpenCode Go、OpenRouter、Zhipu (GLM)
地标导航
地标是面向大型或高频项目的持久代码导航索引。每个索引层会把一个概念、功能或子系统映射到相关的关键文件、目录和符号,让后续会话直接跳到重要代码,而不是从头搜索。地标存储在 ~/.omx/projects/<project-id>/landmark.sqlite,并通过内置的 LandmarkList、LandmarkRead、LandmarkUpdate 和 LandmarkDelete 工具使用。
在有价值的调查或多文件修改后,可以使用内置 /landmark 技能回顾当前会话并保存长期有用的导航知识。
跨会话记忆
记忆提取在对话压缩时自动触发。模型回顾当前会话,提炼关键要点,并评估已有的要点。每个要点的评分从 0 开始,根据它在对话中的表现变动:
| 评价 | 分值变化 | |------|----------| | 有帮助 | +3 | | 中性 | -1 | | 有害 | -6 |
评分低于 -10 的要点被剪枝。好的见解在多次会话中不断积累权重,坏的建议很快被清除,过时的知识自然衰减。每个项目都会把记忆存放在 ~/.omx/projects/<project-id>/memory.json 里,也可以直接编辑、使用内置记忆工具,或通过 Web 客户端的记忆面板管理。
桌面版与集成
终端是大本营,但 OmniContext CLI 延伸到你使用的每个工具。桌面版把一切串联起来,一个轻量级服务启动器,将你的 IDE、浏览器和 Office 应用连接到同一个 OmniContext CLI 实例。
- 桌面应用 - 工作区管理、模型配置、代理与审批设置、局域网访问、备忘录与提醒系统、一键启动服务并桥接下面所有集成
- VS Code 扩展 - IDE 集成,感知打开文件、诊断信息和 diff 视图
- Chrome 扩展 - 任意网页上的侧边栏,支持摘要、数据提取、标签页控制、截图和浏览器自动化
- Office 插件 - Word、Excel 和 PowerPoint 内的 AI 面板
- Web 客户端 - 浏览器 UI,支持登录、会话回退、LaTeX、Mermaid 图表、文件附件、拖拽、记忆管理和工具审批
- 移动端访问 - 运行
omx --serve --host 0.0.0.0后从手机连接
可扩展性
自定义工作流、Agent、技能、外部工具、MCP 服务器和远程工具客户端。大多数扩展点都是 Markdown 文件、JSON 配置或小型 JavaScript 模块。
- 自定义工作流 - 定义自己的系统提示词,精确控制可用工具列表:基础工具、Agent、MCP 服务器和远程工具。
- 智能体式工具 - 写一个带提示词模板、参数定义和工具权限的 Markdown 文件,立刻成为可调用的智能体式工具。添加
AGENTS.md作为 Agent 专属指令,未找到时自动回退到OMX.md项目指令。 - 自定义技能 - 基于目录的提示词能力,通过斜杠命令(
/技能名)调用。技能注入当前对话,提供领域知识和工作流。兼容 Claude Code 技能格式。 - 外部工具 - 把 JavaScript 或 ESM 工具模块放到
~/.omx/tools/或.omx/tools/,即可和内置工具一起注册。 - MCP 服务器 - 通过 Model Context Protocol 接入外部工具和数据源,支持 stdio 和 HTTP 传输。
- 远程工具 - Browser、Office、Desktop 和基于 SDK 的客户端可以通过 HTTP 长轮询注入工具,工具名显示为
Remote_<clientType>_<toolName>。 - 项目指令 - 在仓库根目录放一个
OMX.md或CLAUDE.md,团队里每个人都能得到相同的约定和上下文。
文档
https://bluenoah1991.github.io/omni-context-cli-landing/docs/zh-Hans/
