omni-context-cli 0.0.87 → 0.0.89

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +18 -9
  2. package/README.zh-CN.md +19 -10
  3. package/dist/cli.js +7 -7
  4. package/dist/clients/extension.vsix +0 -0
  5. package/dist/clients/web/assets/{_baseUniq-DMGbNleF.js → _baseUniq-VkoQtyWp.js} +1 -1
  6. package/dist/clients/web/assets/{arc-1E4LvFFg.js → arc-BoPNQo1x.js} +1 -1
  7. package/dist/clients/web/assets/{architectureDiagram-VXUJARFQ-BVjg28X_.js → architectureDiagram-VXUJARFQ-DLj_jrgy.js} +1 -1
  8. package/dist/clients/web/assets/{blockDiagram-VD42YOAC-DO8Mj8oU.js → blockDiagram-VD42YOAC-BfrSLATL.js} +1 -1
  9. package/dist/clients/web/assets/{c4Diagram-YG6GDRKO-CMXabUI8.js → c4Diagram-YG6GDRKO-LbtuCZZL.js} +1 -1
  10. package/dist/clients/web/assets/channel-D19f03ak.js +1 -0
  11. package/dist/clients/web/assets/{chunk-4BX2VUAB-BdwJfKs1.js → chunk-4BX2VUAB-Cdi-pQd3.js} +1 -1
  12. package/dist/clients/web/assets/{chunk-55IACEB6-COxDwbWD.js → chunk-55IACEB6-DELtJ954.js} +1 -1
  13. package/dist/clients/web/assets/{chunk-B4BG7PRW-CbL8GmAN.js → chunk-B4BG7PRW-C23O97UC.js} +1 -1
  14. package/dist/clients/web/assets/{chunk-DI55MBZ5-BMbTRQzH.js → chunk-DI55MBZ5-YxPnhylW.js} +1 -1
  15. package/dist/clients/web/assets/{chunk-FMBD7UC4-1TxIBdW7.js → chunk-FMBD7UC4-Ccis7jEw.js} +1 -1
  16. package/dist/clients/web/assets/{chunk-QN33PNHL-KJIajClE.js → chunk-QN33PNHL-C7fHS5p_.js} +1 -1
  17. package/dist/clients/web/assets/{chunk-QZHKN3VN-D41kt0rh.js → chunk-QZHKN3VN-BNlZjxHX.js} +1 -1
  18. package/dist/clients/web/assets/{chunk-TZMSLE5B-7WoYnea-.js → chunk-TZMSLE5B-BTmKZaWw.js} +1 -1
  19. package/dist/clients/web/assets/classDiagram-2ON5EDUG-CC0iz3uy.js +1 -0
  20. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-CC0iz3uy.js +1 -0
  21. package/dist/clients/web/assets/clone-BdwgpDZE.js +1 -0
  22. package/dist/clients/web/assets/{cose-bilkent-S5V4N54A-CvwtfU7-.js → cose-bilkent-S5V4N54A-CmJjO-WL.js} +1 -1
  23. package/dist/clients/web/assets/{dagre-6UL2VRFP-DMvXT58T.js → dagre-6UL2VRFP-Cw5C01kC.js} +1 -1
  24. package/dist/clients/web/assets/{diagram-PSM6KHXK-C1jTn75Q.js → diagram-PSM6KHXK-DuqaTXuv.js} +1 -1
  25. package/dist/clients/web/assets/{diagram-QEK2KX5R-DDJlQWg6.js → diagram-QEK2KX5R-ZMjZ33Sl.js} +1 -1
  26. package/dist/clients/web/assets/{diagram-S2PKOQOG-BpY8shnK.js → diagram-S2PKOQOG-_7DHcaOY.js} +1 -1
  27. package/dist/clients/web/assets/{erDiagram-Q2GNP2WA-AF83pDzp.js → erDiagram-Q2GNP2WA-BXk7lXsK.js} +1 -1
  28. package/dist/clients/web/assets/{flowDiagram-NV44I4VS-CDE9ISic.js → flowDiagram-NV44I4VS-DMXW8P9i.js} +1 -1
  29. package/dist/clients/web/assets/{ganttDiagram-JELNMOA3-tl9zS1K3.js → ganttDiagram-JELNMOA3-Bqog7e-F.js} +1 -1
  30. package/dist/clients/web/assets/{gitGraphDiagram-NY62KEGX-BGmXCmka.js → gitGraphDiagram-NY62KEGX-BqyIHgfi.js} +1 -1
  31. package/dist/clients/web/assets/{graph-CwgcBGfY.js → graph-CVuyZ7K1.js} +1 -1
  32. package/dist/clients/web/assets/index-B7eTITaW.js +2 -0
  33. package/dist/clients/web/assets/{infoDiagram-WHAUD3N6-bNPb22yd.js → infoDiagram-WHAUD3N6-Y0_2i8lo.js} +1 -1
  34. package/dist/clients/web/assets/{journeyDiagram-XKPGCS4Q-CKSHNei7.js → journeyDiagram-XKPGCS4Q-CHxMgVYV.js} +1 -1
  35. package/dist/clients/web/assets/{kanban-definition-3W4ZIXB7-64KSCxdq.js → kanban-definition-3W4ZIXB7-CXYCcYEB.js} +1 -1
  36. package/dist/clients/web/assets/{layout-zF01hWxQ.js → layout-6Vemq4sr.js} +1 -1
  37. package/dist/clients/web/assets/{linear-D0Xsd-aa.js → linear-_6SAIsVd.js} +1 -1
  38. package/dist/clients/web/assets/{min-tLikK7rh.js → min-DvL99zKB.js} +1 -1
  39. package/dist/clients/web/assets/{mindmap-definition-VGOIOE7T-DNQ9_VmS.js → mindmap-definition-VGOIOE7T-2E28gk_Z.js} +1 -1
  40. package/dist/clients/web/assets/{pieDiagram-ADFJNKIX-8fzGETjL.js → pieDiagram-ADFJNKIX-CZxC9p9U.js} +1 -1
  41. package/dist/clients/web/assets/{quadrantDiagram-AYHSOK5B-yri91FWB.js → quadrantDiagram-AYHSOK5B-6dr167hX.js} +1 -1
  42. package/dist/clients/web/assets/{requirementDiagram-UZGBJVZJ-Dz__UXpg.js → requirementDiagram-UZGBJVZJ-BGZFJXAG.js} +1 -1
  43. package/dist/clients/web/assets/{sankeyDiagram-TZEHDZUN-UKXSPrO_.js → sankeyDiagram-TZEHDZUN-62QqHUYx.js} +1 -1
  44. package/dist/clients/web/assets/{sequenceDiagram-WL72ISMW-CjFKts3v.js → sequenceDiagram-WL72ISMW-CzcbKLIf.js} +1 -1
  45. package/dist/clients/web/assets/{stateDiagram-FKZM4ZOC-eoi13Ifa.js → stateDiagram-FKZM4ZOC-sS7Yi-AF.js} +1 -1
  46. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-BUkBBHjf.js +1 -0
  47. package/dist/clients/web/assets/{timeline-definition-IT6M3QCI-BhkPk0iE.js → timeline-definition-IT6M3QCI-0wWdlolS.js} +1 -1
  48. package/dist/clients/web/assets/{treemap-KMMF4GRG-CwQwhUMV.js → treemap-KMMF4GRG-CkOGFHou.js} +1 -1
  49. package/dist/clients/web/assets/{xychartDiagram-PRI3JC2R-BQYvBeRp.js → xychartDiagram-PRI3JC2R-TzMSsONX.js} +1 -1
  50. package/dist/clients/web/index.html +1 -1
  51. package/dist/skills/cookbook/SKILL.md +111 -0
  52. package/dist/workflows/general.md +1 -0
  53. package/package.json +1 -1
  54. package/dist/bin/aarch64-apple-darwin/reminders +0 -0
  55. package/dist/bin/x86_64-apple-darwin/reminders +0 -0
  56. package/dist/clients/web/assets/channel-BKaWMhr7.js +0 -1
  57. package/dist/clients/web/assets/classDiagram-2ON5EDUG-Bfn69ffQ.js +0 -1
  58. package/dist/clients/web/assets/classDiagram-v2-WZHVMYZB-Bfn69ffQ.js +0 -1
  59. package/dist/clients/web/assets/clone-Uvk9xifz.js +0 -1
  60. package/dist/clients/web/assets/index-BhkDi5B0.js +0 -2
  61. package/dist/clients/web/assets/stateDiagram-v2-4FDKWEC3-BYlXltPP.js +0 -1
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # OmniContext CLI
2
2
 
3
- A context-first, zero-telemetry coding assistant that extends into VS Code, Office, the browser, and mobile. Supports Anthropic, OpenAI, Gemini, and Responses API with custom workflows and cross-session memory.
3
+ A context-first, zero-telemetry coding assistant that extends into VS Code, Office, the browser, and mobile. Supports Anthropic, OpenAI, Gemini, and Responses API with custom workflows, landmark navigation, and cross-session memory.
4
4
 
5
5
  ## Context-First Architecture
6
6
 
@@ -8,6 +8,7 @@ Every token matters. OmniContext CLI is engineered from the ground up to squeeze
8
8
 
9
9
  - **Lean system prompts** - the built-in system prompts are short, focused, and free of boilerplate. Tool descriptions are minimal. Your context budget goes toward actual work, not framework overhead.
10
10
  - **Agentic tools** - exploratory tasks (searching code, surveying project structure, previewing files) run as separate agentic tools, optionally on a dedicated agent model. Intermediate tool calls, file contents, and reasoning never enter your main context. You get a concise answer back; the scratch work stays off the books.
11
+ - **Landmark navigation** - code navigation knowledge is stored as lightweight topic-to-file layers, so assistants can jump to the right files before searching from scratch.
11
12
  - **Context editing** - as a conversation grows, older rounds accumulate tool call payloads and thinking blocks that are no longer relevant. Context editing automatically compresses these, replacing bulky tool inputs and outputs with compact placeholders and stripping reasoning traces, so the model sees a clean, focused history.
12
13
  - **Cross-session memory** - every time a conversation is compacted, the model distills key points and evaluates existing memories. Good insights accumulate weight, stale knowledge decays naturally. When the next session starts, accumulated memories are injected automatically so the assistant knows your preferences and project context from the first message.
13
14
  - **Prompt caching** - you choose the cache TTL: 5 minutes for quick iteration, 1 hour for long work sessions. Cache control for Anthropic is applied automatically, so repeated context blocks are served from cache, cutting token usage and cost significantly.
@@ -24,7 +25,7 @@ A workflow controls everything about how OmniContext CLI behaves: the system pro
24
25
  | **Memory** | Key point management | Browse, edit, and clean up cross-session key points stored in the project memory. |
25
26
  | **Recall** | Session search | Search and review past chat sessions for decisions, context, and discussion history. |
26
27
 
27
- The desktop app also installs a **Browser** workflow for the Chrome sidebar, with tab, page content, bookmark, history, screenshot, and script execution access. It also installs a **Memo** workflow for reminders and notifications.
28
+ The desktop app also installs a **Browser** workflow for the Chrome sidebar, with tab, page content, bookmark, history, screenshot, and script execution access.
28
29
 
29
30
  Create your own by dropping a markdown file in `~/.omx/workflows/` or `.omx/workflows/`. Each workflow is a markdown file with YAML frontmatter that defines the tool set and a body that becomes the system prompt:
30
31
 
@@ -55,7 +56,7 @@ Each LLM API protocol has its own dedicated request builder and stream handler.
55
56
  | **Gemini** | generateContent API with native streaming and function calling |
56
57
  | **Responses API** | OpenAI's Responses API with built-in tool orchestration |
57
58
 
58
- Provider-specific interceptors handle the quirks of individual model sources (DeepSeek, Kimi, MiniMax, xAI, Zhipu, Zenmux, and others) without compromising the protocol.
59
+ Provider-specific interceptors handle protocol and model-source quirks such as Anthropic next-gen/legacy models, DeepSeek, Responses API adjustments, Gemini legacy models, Kimi, MiniMax, xAI, Zhipu GLM, and Zenmux model routing without compromising the protocol.
59
60
 
60
61
  One command to add all models from a provider:
61
62
 
@@ -67,6 +68,12 @@ omx --remove-provider openrouter
67
68
 
68
69
  Built-in providers: **Zenmux**, **DeepSeek**, **Kimi for Coding**, **MiniMax**, **OpenCode Go**, **OpenRouter**, **Zhipu (GLM)**
69
70
 
71
+ ## Landmark Navigation
72
+
73
+ Landmarks are a persistent code navigation index for large or frequently revisited projects. Each layer maps a concept, feature, or subsystem to the key files, directories, and symbols involved, so future sessions can jump straight to the important code instead of rediscovering it. Landmarks are stored in `~/.omx/projects/<project-id>/landmark.sqlite` and exposed through the built-in `LandmarkList`, `LandmarkRead`, `LandmarkUpdate`, and `LandmarkDelete` tools.
74
+
75
+ Use the built-in `/landmark` skill to review the current session and save durable navigation knowledge after meaningful investigations or multi-file changes.
76
+
70
77
  ## Cross-Session Memory
71
78
 
72
79
  Memory extraction runs automatically when a conversation is compacted. The model reflects on the session, pulls out key points, and evaluates existing ones. Each point carries a score that starts at 0 and shifts based on how useful it was in the conversation:
@@ -77,27 +84,29 @@ Memory extraction runs automatically when a conversation is compacted. The model
77
84
  | Neutral | -1 |
78
85
  | Harmful | -6 |
79
86
 
80
- Points that reach -10 or lower are pruned. This means good insights accumulate weight over multiple sessions while bad advice is flushed quickly and stale knowledge decays on its own. Every project keeps its memory in `~/.omx/projects/<project-id>/memory.json`. Edit it directly for full control.
87
+ Points that reach -10 or lower are pruned. This means good insights accumulate weight over multiple sessions while bad advice is flushed quickly and stale knowledge decays on its own. Every project keeps its memory in `~/.omx/projects/<project-id>/memory.json`. Edit it directly, use the built-in memory tools, or use the web client's memory panel for full control.
81
88
 
82
89
  ## Desktop & Integrations
83
90
 
84
91
  Terminal is home base, but OmniContext CLI extends into every tool you use. The desktop app ties it all together as a lightweight server launcher that connects your IDE, browser, and Office apps to a single OmniContext CLI instance.
85
92
 
86
- - **Desktop App** - workspace management, model configuration, memo and reminder system, and one-click server launch that bridges all the integrations below
93
+ - **Desktop App** - workspace management, model configuration, proxy and approval settings, LAN access, memo and reminder system, and one-click server launch that bridges all the integrations below
87
94
  - **VS Code Extension** - IDE integration with file context, diagnostics, and diff views
88
- - **Chrome Extension** - sidebar on any webpage for summarization, data extraction, and browser automation
95
+ - **Chrome Extension** - sidebar on any webpage for summarization, data extraction, tab control, screenshots, and browser automation
89
96
  - **Office Add-in** - AI panel inside Word, Excel, and PowerPoint
90
- - **Web Client** - browser UI with LaTeX, Mermaid diagrams, file attachments, and drag-and-drop
91
- - **Mobile Access** - run `omx --serve` and connect from your phone
97
+ - **Web Client** - browser UI with login support, session rewind, LaTeX, Mermaid diagrams, file attachments, drag-and-drop, memory management, and tool approval
98
+ - **Mobile Access** - run `omx --serve --host 0.0.0.0` and connect from your phone
92
99
 
93
100
  ## Extensibility
94
101
 
95
- Custom workflows, agents, skills, and MCP servers. Everything is a markdown file or JSON config.
102
+ Custom workflows, agents, skills, external tools, MCP servers, and remote tool clients. Most extension points are markdown files, JSON configs, or small JavaScript modules.
96
103
 
97
104
  - **Custom Workflows** - define your own system prompt and control exactly which tools are available: base tools, agents, MCP servers, and remote tools.
98
105
  - **Custom Agentic Tools** - write a markdown file with a prompt template, parameter schema, and tool permissions. It becomes a callable agentic tool instantly. Add `AGENTS.md` for agent-specific instructions, or fall back to `OMX.md` project instructions automatically.
99
106
  - **Custom Skills** - directory-based prompt capabilities invoked as slash commands (`/skill-name`). Skills inject instructions into the current conversation for domain-specific knowledge and workflows. Compatible with Claude Code skill format.
107
+ - **External Tools** - drop JavaScript or ESM tool modules into `~/.omx/tools/` or `.omx/tools/` and they are registered alongside built-in tools.
100
108
  - **MCP Servers** - connect external tools and data sources via Model Context Protocol. Stdio and HTTP transports supported.
109
+ - **Remote Tools** - Browser, Office, Desktop, and SDK-based clients can inject tools over HTTP long-poll. They show up as `Remote_<clientType>_<toolName>`.
101
110
  - **Project Instructions** - drop an `OMX.md` or `CLAUDE.md` in your repo root and everyone on the team gets the same conventions and context.
102
111
 
103
112
  ## Documentation
package/README.zh-CN.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # OmniContext CLI
2
2
 
3
- 上下文优先、零遥测的编程助手,可集成到 VS Code、Office、浏览器和移动端。兼容 Anthropic、OpenAI、Gemini 和 Responses API,支持自定义工作流与跨会话记忆。
3
+ 上下文优先、零遥测的编程助手,可集成到 VS Code、Office、浏览器和移动端。兼容 Anthropic、OpenAI、Gemini 和 Responses API,支持自定义工作流、地标导航与跨会话记忆。
4
4
 
5
5
  ## 上下文优先架构
6
6
 
7
7
  每一个 token 都很重要。OmniContext CLI 从底层开始就为最大化利用上下文窗口而设计。
8
8
 
9
9
  - **精简系统提示词** - 内置提示词短小、聚焦、没有模板废话。工具描述力求精简。你的上下文预算用在实际工作上,而不是框架开销。
10
- - **智能体式工具** - 探索性任务(搜索代码、勘察项目结构、预览文件)作为独立的智能体式工具运行,也可以单独指定 Agent 模型。中间工具调用、文件内容和推理过程不会进入主上下文。你只拿到一个简洁的结论,中间草稿完全不占空间。
10
+ - **智能体式工具** - 探索性任务(搜索代码、勘察项目结构、预览文件)作为独立的智能体式工具运行,也可以单独指定 Agent 模型。中间工具调用、文件内容和推理过程不会进入主上下文。你只拿到一个简洁的结论,中间草稿完全不占空间。
11
+ - **地标导航** - 代码导航知识会保存为轻量的主题到文件索引层,让助手先跳到关键文件,再决定是否需要继续搜索。
11
12
  - **上下文编辑** - 随着对话增长,早期的工具调用负载和思考块变得不再相关。上下文编辑自动压缩这些内容,用紧凑的占位符替换庞大的工具输入输出,剥离推理痕迹,让模型看到干净、聚焦的历史。
12
13
  - **跨会话记忆** - 每次对话压缩时,模型自动提炼关键要点并评估已有记忆。好的见解不断积累权重,过时的知识自然衰减。下次会话开始时,积累的记忆自动注入,让助手从第一句话就了解你的偏好和项目背景。
13
14
  - **提示词缓存** - 你可以自主选择缓存 TTL:5 分钟适合快速迭代,1 小时适合长时间工作。Anthropic 的缓存控制自动应用,重复的上下文块直接从缓存读取,大幅降低 token 消耗和成本。
@@ -24,7 +25,7 @@
24
25
  | **Memory** | 要点管理 | 浏览、编辑和清理项目记忆中的跨会话关键要点。 |
25
26
  | **Recall** | 会话搜索 | 搜索和回顾过去的聊天会话,查找决策、上下文和讨论历史。 |
26
27
 
27
- 桌面应用还会安装 **Browser** 工作流供 Chrome 侧边栏使用,可访问标签页、页面内容、书签、历史记录、截图和脚本执行能力。它也会安装 **Memo** 工作流用于提醒和通知。
28
+ 桌面应用还会安装 **Browser** 工作流供 Chrome 侧边栏使用,可访问标签页、页面内容、书签、历史记录、截图和脚本执行能力。
28
29
 
29
30
  在 `~/.omx/workflows/` 或 `.omx/workflows/` 中放一个 Markdown 文件即可创建自定义工作流。每个工作流是一个带 YAML frontmatter 的 Markdown 文件,frontmatter 定义工具集,正文成为系统提示词:
30
31
 
@@ -55,7 +56,7 @@ allowRemoteTools: true
55
56
  | **Gemini** | generateContent API,原生流式传输和函数调用 |
56
57
  | **Responses API** | OpenAI 的 Responses API,内置工具编排 |
57
58
 
58
- 供应商专属拦截器处理各模型源(DeepSeek、Kimi、MiniMax、xAI、ZhipuZenmux 等)的差异,同时不影响协议本身。
59
+ 供应商专属拦截器处理协议和模型源差异,例如 Anthropic 新旧模型、DeepSeek、Responses API 调整、Gemini 旧模型、Kimi、MiniMax、xAI、Zhipu GLM 和 Zenmux 模型路由,同时不影响协议本身。
59
60
 
60
61
  一条命令添加供应商的所有模型:
61
62
 
@@ -67,6 +68,12 @@ omx --remove-provider openrouter
67
68
 
68
69
  内置供应商:**Zenmux**、**DeepSeek**、**Kimi for Coding**、**MiniMax**、**OpenCode Go**、**OpenRouter**、**Zhipu (GLM)**
69
70
 
71
+ ## 地标导航
72
+
73
+ 地标是面向大型或高频项目的持久代码导航索引。每个索引层会把一个概念、功能或子系统映射到相关的关键文件、目录和符号,让后续会话直接跳到重要代码,而不是从头搜索。地标存储在 `~/.omx/projects/<project-id>/landmark.sqlite`,并通过内置的 `LandmarkList`、`LandmarkRead`、`LandmarkUpdate` 和 `LandmarkDelete` 工具使用。
74
+
75
+ 在有价值的调查或多文件修改后,可以使用内置 `/landmark` 技能回顾当前会话并保存长期有用的导航知识。
76
+
70
77
  ## 跨会话记忆
71
78
 
72
79
  记忆提取在对话压缩时自动触发。模型回顾当前会话,提炼关键要点,并评估已有的要点。每个要点的评分从 0 开始,根据它在对话中的表现变动:
@@ -77,27 +84,29 @@ omx --remove-provider openrouter
77
84
  | 中性 | -1 |
78
85
  | 有害 | -6 |
79
86
 
80
- 评分低于 -10 的要点被剪枝。好的见解在多次会话中不断积累权重,坏的建议很快被清除,过时的知识自然衰减。每个项目都会把记忆存放在 `~/.omx/projects/<project-id>/memory.json` 里,想要完全控制可以直接编辑。
87
+ 评分低于 -10 的要点被剪枝。好的见解在多次会话中不断积累权重,坏的建议很快被清除,过时的知识自然衰减。每个项目都会把记忆存放在 `~/.omx/projects/<project-id>/memory.json` 里,也可以直接编辑、使用内置记忆工具,或通过 Web 客户端的记忆面板管理。
81
88
 
82
89
  ## 桌面版与集成
83
90
 
84
91
  终端是大本营,但 OmniContext CLI 延伸到你使用的每个工具。桌面版把一切串联起来,一个轻量级服务启动器,将你的 IDE、浏览器和 Office 应用连接到同一个 OmniContext CLI 实例。
85
92
 
86
- - **桌面应用** - 工作区管理、模型配置、备忘录与提醒系统、一键启动服务并桥接下面所有集成
93
+ - **桌面应用** - 工作区管理、模型配置、代理与审批设置、局域网访问、备忘录与提醒系统、一键启动服务并桥接下面所有集成
87
94
  - **VS Code 扩展** - IDE 集成,感知打开文件、诊断信息和 diff 视图
88
- - **Chrome 扩展** - 任意网页上的侧边栏,支持摘要、数据提取和浏览器自动化
95
+ - **Chrome 扩展** - 任意网页上的侧边栏,支持摘要、数据提取、标签页控制、截图和浏览器自动化
89
96
  - **Office 插件** - Word、Excel 和 PowerPoint 内的 AI 面板
90
- - **Web 客户端** - 浏览器 UI,支持 LaTeX、Mermaid 图表、文件附件和拖拽
91
- - **移动端访问** - 运行 `omx --serve` 后从手机连接
97
+ - **Web 客户端** - 浏览器 UI,支持登录、会话回退、LaTeX、Mermaid 图表、文件附件、拖拽、记忆管理和工具审批
98
+ - **移动端访问** - 运行 `omx --serve --host 0.0.0.0` 后从手机连接
92
99
 
93
100
  ## 可扩展性
94
101
 
95
- 自定义工作流、Agent、技能和 MCP 服务器。一切都是 Markdown 文件或 JSON 配置。
102
+ 自定义工作流、Agent、技能、外部工具、MCP 服务器和远程工具客户端。大多数扩展点都是 Markdown 文件、JSON 配置或小型 JavaScript 模块。
96
103
 
97
104
  - **自定义工作流** - 定义自己的系统提示词,精确控制可用工具列表:基础工具、Agent、MCP 服务器和远程工具。
98
105
  - **智能体式工具** - 写一个带提示词模板、参数定义和工具权限的 Markdown 文件,立刻成为可调用的智能体式工具。添加 `AGENTS.md` 作为 Agent 专属指令,未找到时自动回退到 `OMX.md` 项目指令。
99
106
  - **自定义技能** - 基于目录的提示词能力,通过斜杠命令(`/技能名`)调用。技能注入当前对话,提供领域知识和工作流。兼容 Claude Code 技能格式。
107
+ - **外部工具** - 把 JavaScript 或 ESM 工具模块放到 `~/.omx/tools/` 或 `.omx/tools/`,即可和内置工具一起注册。
100
108
  - **MCP 服务器** - 通过 Model Context Protocol 接入外部工具和数据源,支持 stdio 和 HTTP 传输。
109
+ - **远程工具** - Browser、Office、Desktop 和基于 SDK 的客户端可以通过 HTTP 长轮询注入工具,工具名显示为 `Remote_<clientType>_<toolName>`。
101
110
  - **项目指令** - 在仓库根目录放一个 `OMX.md` 或 `CLAUDE.md`,团队里每个人都能得到相同的约定和上下文。
102
111
 
103
112
  ## 文档