苏马克(sxmc)
Sumac让AI助手不再猜测你的工具是如何工作的。
它检查机器上已有的真实工具,并将其转化为结构化工具 配置文件,并使用这些知识生成AI主机启动文档、客户端 从一个Rust二进制文件中获取配置、MCP包装器和可重用的发现工件。
稳定 1.x 行:Sumac现在治疗 setup -> add -> status -> sync 随着 维护日常使用的入职和对账循环。
稳定的产品路径
如果你只学习四个命令,请学习以下命令:
sxmc setup --root .
sxmc add gh --root .
sxmc status --human
sxmc sync --root . --apply当您想要用户级主机文件而不是存储库本地文件时,请切换 相同的工作流程 --global:
sxmc setup --global
sxmc add gh --global
sxmc status --global --human
sxmc sync --global --apply他们的意思是:
sxmc setup:存储库使用的常用工具sxmc add:再教Sumac和您的AI主机一个CLIsxmc status:看看你的AI知道什么,什么是过时的,下一步该做什么sxmc sync:随着工具的更改,协调保存的配置文件和生成的主机工件
为什么它存在
如果没有Sumac,通常会多次重建相同的功能:
- 一个代理的技能适配器
- 一个MCP服务器的JSON-RPC脚本
- 一个API的薄外壳包装
- AI工具的每台主机启动文档和配置文件
Sumac将其整合为一个可安装的二进制文件(sxmc)有四个核心流程:
Skills -> MCP server
MCP server -> CLI
API -> CLI
CLI -> AI startup surfaces这意味着更少的粘合代码、更窄的MCP发现、更少的重试次数,以及在Claude code、Cursor、Gemini CLI、Copilot、Codex风格的工具和通用MCP客户端之间更少的重复设置。CLI命令是 sxmc --打字简短,字母与品牌相同。
安装
cargo install sxmc其他渠道:
- GitHub发布:带有校验和的预构建档案
- npm包装器:
- 自制配方:
packaging/homebrew/sxmc.rb
快速开始
通过MCP提供当地技能:
sxmc serve
sxmc serve --transport http --host 127.0.0.1 --port 8000将可重用技能安装到项目本地或用户全局技能存储中:
sxmc skills install tests/fixtures/simple-skill --root .
sxmc skills install https://github.com/openai/skills/tree/main/skills/.curated/example-skill --global
sxmc skills update simple-skill --global从终端检查并呼叫任何MCP服务器:
sxmc stdio "npx @modelcontextprotocol/server-memory" --list
sxmc stdio "npx @modelcontextprotocol/server-memory" create_entities 'entities=[{"name":"sxmc","entityType":"project","observations":["Rust MCP bridge"]}]'使用烘焙的、令牌高效的MCP工作流程:
sxmc bake create memory --type stdio --source "npx @modelcontextprotocol/server-memory"
sxmc mcp servers
sxmc mcp info memory/create_entities --format toon
sxmc mcp call memory/create_entities '{"entities":[{"name":"sxmc","entityType":"project","observations":["Rust MCP bridge"]}]}'将API作为CLI运行:
sxmc api https://petstore3.swagger.io/api/v3/openapi.json --list
sxmc api https://petstore3.swagger.io/api/v3/openapi.json findPetsByStatus status=available将CLI转变为面向初创公司的AI工件:
sxmc doctor
sxmc doctor --human
sxmc doctor --check --only claude-code,cursor
sxmc doctor --check --fix --only claude-code,cursor --from-cli gh
sxmc inspect cli gh --format toon
sxmc inspect cli curl --compact --format json-pretty
sxmc inspect cli cargo --depth 1 --format json-pretty
sxmc inspect cli gh --depth 2 --compact --format json-pretty
sxmc inspect batch git cargo brew --parallel 4 --compact --format json-pretty
sxmc inspect batch --from-file tools.txt --compact --format json-pretty
sxmc inspect batch --from-file tools.yaml --since 2026-03-22T00:00:00Z
sxmc inspect batch --from-file tools.yaml --compact # nested depth shows up as nested_profile_count
sxmc inspect diff git --before before.json --format json-pretty
sxmc inspect diff git --before before.json --format toon
sxmc inspect cache-stats --format json-pretty
sxmc inspect cache-invalidate cargo --format json-pretty
sxmc inspect cache-invalidate 'g*' --dry-run --format json-pretty
sxmc inspect cache-clear --format json-pretty
sxmc inspect cache-warm --from-file tools.toml --parallel 4 --format json-pretty
sxmc init ai --from-cli gh --coverage full --mode preview
sxmc init ai --from-cli gh --coverage full --host claude-code,cursor,github-copilot --mode apply
sxmc init ai --from-cli gh --coverage full --host claude-code --mode apply --remove使用 sxmc 首先,当表面未知时:
sxmc inspect cli --depth 1 --format json-pretty
sxmc stdio "" --list
sxmc mcp grep
sxmc api --list
sxmc serve --paths
sxmc scan --paths inspect cli 通过子进程spawn执行真正的命令。它可以检查 已安装的二进制文件或显式的可执行路径,但它只看到shell 交互式shell中的别名或函数。
inspect batch --from-file 每行读取一个命令规范。空白行和 以开头的行 # 忽略,修剪尾随空格,并内联 参数被保留,因此行如下 git status 或 "cargo" build 担任 完整的命令规格。
对于结构化批处理输入, .yaml / .yml 和 .toml 文件可以定义工具 具有每个命令的深度覆盖。YAML示例:
tools:
- command: git
depth: 1
- command: cargo当结构化批处理文件设置时 depth: 1,完整的JSON输出暴露嵌套 配置文件下 subcommand_profiles紧凑的输出使摘要更小 报告只计算如下内容 nested_profile_count.
最近的检查硬化:
sxmc inspect cli gh现在恢复顶级标志以及分组的子命令sxmc inspect cli rustup保留全局选项,如--verbose,--quiet,--help,以及--versionsxmc inspect cli python3避免将环境变量视为子命令sxmc inspect cli node --depth 1保持inspect使用更清晰的运行时摘要时的子命令
生成外壳补全:
sxmc completions zsh > "${fpath[1]}/_sxmc"
sxmc completions bash > ~/.local/share/bash-completion/completions/sxmc实际胜利
sxmc stdio "" --list替换了用于MCP发现的特设JSON-RPC客户端脚本。sxmc mcp grep "file"在烘焙的MCP服务器上进行搜索,这很难用一次性工具清晰地再现。sxmc scan捕获隐藏的Unicode、危险权限和提示注入模式grep错过。sxmc inspect cli ...加sxmc init ai ...将每个主机的AI设置转化为生成的、可审查的工件。sxmc doctor为代理和人员明确下一步行动:未知的CLI、未知的MCP服务器、未知的API、您要服务的本地技能或启动设置。sxmc inspect batch ...当您一次需要多个CLI配置文件时,可以摊销检查启动时间。sxmc inspect cache-stats公开配置文件缓存大小和条目计数,因此重复的代理查找是可观察的,而不是不透明的。sxmc inspect cache-invalidate ...和sxmc inspect cache-clear让您从过时的检查状态中恢复,而无需手动缓存操作。
当前的验证文档捕获了真实世界的比较集、令牌/回合估计和隐藏的重试成本分析。
稳定 1.x
产品名称为 漆树.命令保持不变 sxmc.
稳定的支撑边界 1.x 线路为:
- 稳定的入职和维护命令:
- sxmc setup - sxmc add - sxmc doctor - sxmc status - sxmc sync
- 为那些入职和维护命令提供稳定的机器可读输出合同
- 稳定的主机选择别名,例如
--client和--host - 添加进化以获得更丰富的JSON输出,而不是无声的形状重写
请参阅:
命令概述
sxmc setup/sxmc add:首次入职培训和一个工具入职培训sxmc status/sxmc sync:维护状态视图和协调循环sxmc doctor:启动发现健康和修复指南sxmc serve:将技能暴露为stdio或HTTP MCPsxmc skills:列出、检查、运行和生成技能sxmc stdio/sxmc http:原始MCP桥和调试层sxmc mcp:烘焙日常-使用MCP工作流程sxmc api/sxmc spec/sxmc graphql:API-CLI桥sxmc scan:技能和MCP表面的安全扫描sxmc inspect/sxmc init/sxmc scaffold:CLI到AI检查和脚手架sxmc doctor:启动发现状态加上推荐的第一个命令sxmc inspect batch:在一次调用中检查多个CLIsxmc inspect cache-stats:检查缓存的配置文件清单和大小sxmc inspect cache-invalidate/sxmc inspect cache-clear:选择性地使缓存的CLI配置文件无效或完全重置sxmc bake:已保存的连接sxmc completions:外壳完成生成
安全性与可靠性
- 预览首次人工智能工件生成
- 除非明确覆盖,否则低置信度CLI配置文件将被阻止生成启动文档
- 管理markdown/TOML块,而不是批发覆盖
- 递归CLI检查
sxmc inspect cli --depth 1 - 更深入的递归CLI探索可以使用更大的值,如
--depth 2对于多层CLIs,例如gh - 紧凑型CLI检查
sxmc inspect cli --compact用于较低的上下文摘要 - 批量CLI检查
sxmc inspect batch --parallel ...当你一次需要多个配置文件时 - 交互式检查现在会对缓存未命中和较慢的补充探测发出轻量级的stderr进度说明
- 生成的文档和技能支架现在显示了更大的CLI清单,其中包含计数,而不是在前几个子命令后隐藏所有内容
- CLI检查配置文件被缓存,因此重复的代理查找不会一直重新分析未更改的二进制文件
- 缓存清单可见
sxmc inspect cache-stats - 缓存的CLI配置文件可以通过以下方式选择性地无效
sxmc inspect cache-invalidate或完全重置sxmc inspect cache-clear - 清理支持
sxmc init ai --remove - CLI检查现在补充了稀疏的帮助输出
man页面不会崩溃,更丰富--help表面 - 原子烘烤持久性
- bake create/update现在默认验证源代码,使用
--skip-validate当你有意要坚持一个破碎或离线的目标时 - 烘焙验证错误现在包括stdio、HTTP MCP、OpenAPI和GraphQL目标的源类型特定指导
- 无效
--from-profile/inspect profile现在输入说明sxmc期望从以下位置获得真实的CLI表面轮廓sxmc inspect cli ... inspect cli目标必须是上的真实可执行文件PATH(或显式路径),而不是shell专用别名或函数- 烘焙的stdio配置可以固定可移植相对路径的基目录
- 网络命令的可配置超时
- HTTP MCP对最大并发性和请求体大小的保护
- 通过以下方式支持有状态的MCP工作流
sxmc mcp session - 此回购现在已生成
AGENTS.md,CLAUDE.md,GEMINI.md、光标规则和复制指令sxmc自身
文档
- 用法:安装、日常工作流程、MCP使用、CLI到AI、完成
- 建筑:模块图、数据流和设计边界
- 演示:终端录制的简短脚本演示路径
- 运营:托管、发布流程、分支策略、分发
- 验证:测试、烟雾检查、兼容性、令牌/转弯发现
- 产品合同:明确的支持边界
- 稳定性:什么
1.0.0将承诺,哪些是可叠加的,哪些是超出范围的 - 兼容性矩阵:跨平台车道和
CLI -> AI主机覆盖率
发展
cargo fmt --all
cargo clippy --all-targets --all-features -- -D warnings
cargo test发布前使用验证流程:
bash scripts/certify_release.sh target/debug/sxmc tests/fixtures
bash scripts/smoke_real_world_mcps.sh target/debug/sxmc许可证
麻省理工学院
