OpenCLI 学习 01:项目总览与核心问题

1. 我最开始看到的现象

这个仓库根目录下有很多不同的软件目录,例如:

  • gimp/
  • blender/
  • libreoffice/
  • drawio/
  • zotero/

所以它不是单一应用,而是一个多软件、多 harness 的总仓库。

2. 项目在做什么

我目前的理解:

CLI-Anything 想把原本主要通过 GUI 使用的软件,整理成 Agent 也能稳定调用的 CLI 接口。

它不是简单做几个命令,而是在做一套标准化的软件能力接入方案。

3. 这里的 CLI 到底是什么意思

我一开始容易把 CLI 理解成“黑框里的自由互动”。

后面逐渐明确:

  • 终端/黑框:只是运行环境
  • CLI:是能力暴露出来的命令接口
  • 脚本:是实现 CLI 的一种方式

所以这里的 CLI 更接近“面向终端的函数调用接口”。

例如:

cli-anything-gimp project new --width 800 --height 600

它不是自由聊天,而是在调用一个被明确组织好的能力。

4. 为什么会让我联想到 REST API

因为两者本质上都在做“能力暴露”:

  • REST API:通过 HTTP 暴露能力
  • CLI:通过命令行暴露能力

区别在于:

  • API 更偏网络服务
  • CLI 更偏本地软件、本机工具、桌面应用

这个项目选择 CLI,不是因为 CLI 比 API 更高级,而是因为很多真实软件并没有天然的 REST API,但有脚本接口、命令参数、批处理模式或插件机制。

5. 这个项目真正统一的是什么

不是统一所有软件的功能本身,而是统一:

  • 软件能力如何暴露给 Agent
  • CLI 应该如何组织
  • 文档、测试、打包怎么做
  • Skill 怎么告诉 Agent 何时调用、如何调用

所以它更像是在统一一种“接入规范”和“工程方法”。

6. 当前我的一句话理解

CLI-Anything 的核心目标,是把复杂软件或复杂能力系统化地整理成可被 Agent 调用的命令树接口。

7. 当前我的疑问是如何逐步被澄清的

我最初模糊的是:

  1. CLI 到底是不是黑框互动
  2. 这个项目到底是在做命令行工具,还是在做更大的东西
  3. Agent 到底靠什么知道何时调用这些工具

当前得到的阶段性答案:

  1. CLI 不是黑框互动,而是能力接口
  2. 这个项目不只是做 CLI,而是在做以 CLI 为形态的 harness
  3. Agent 主要通过 SKILL.md、命令树、帮助信息、JSON 输出理解和使用这些 harness

Read more

MCP 服务端的隐藏设计:结论性数据如何改变

Agent 的工作方式 我们以为 MCP 服务只是查数据的管道,拆开一看,发现服务端已经把分析结论都算好了。这个发现改变了我对 Agent 架构的理解。 起因:一次对 MCP 服务的逆向探索 最近在研究 MCP(Model Context Protocol)的实际应用,我选了一个真实的商业 MCP 服务 —— 某电商卖家流量分析平台作为研究对象。该服务提供了 27 个工具,覆盖关键词分析、流量运营、广告洞察等领域。 最初的预期很简单:MCP 服务就是一个数据接口,Agent(LLM)调用它拿到原始数据,然后自己分析、得出结论、给用户建议。 实际拆开一看,完全不是这么回事。 第一个发现:返回数据里藏着完整的分析结论 我写了一个 Python 脚本,绕过所有 AI 客户端,直接用

By ladydd

FastAPI 异步任务服务的并发设计演进:从单进程轮询到多 Worker 协程直处理

本文记录了一个 FastAPI 异步任务服务在并发架构上的思考和演进过程。这个服务的本质很简单:接收客户端请求,转发给下游 AI API,把结果存起来供客户端轮询。它不做复杂的业务计算,不做数据聚合,就是一个纯转发层——接活、派活、存结果。正因为场景足够简单,我们才有机会做一次化繁为简的架构妥协,把原本"看起来该用任务队列"的设计砍到只剩三行核心配置。 一、先说清楚场景:我们到底在干什么 这个服务做的事情可以用一句话概括: 客户端提交参数 → 服务转发给下游 AI API → 等结果 → 存 Redis → 客户端来取。 关键特征: * 纯 IO 转发:服务本身不做任何 CPU 密集计算,所有耗时都花在等下游 API 返回。一次调用几秒到几十秒不等,全是网络等待。 * 异步模式:客户端提交任务后立即拿到 task_id,

By ladydd

从连上一个 MCP 服务到理解 AI 系统的工程本质

一次从"会用"到"理解原理"再到"能优化"的完整探索记录。 本文记录了我通过实际动手连接一个远程 MCP 服务(SIF —— 亚马逊卖家流量分析平台),一步步深入理解 MCP 协议机制、LLM 上下文管理、注意力资源分配、以及工具编排优化方案的全过程。 一、起点:连上一个真实的 MCP 服务 什么是 MCP? MCP(Model Context Protocol)是 Anthropic 主导设计的一个开放协议,目的是标准化 AI 应用与外部工具/数据源之间的通信方式。你可以把它理解为"AI 世界的 USB 接口"

By ladydd
陕公网安备61011302002223号 | 陕ICP备2025083092号