Helmsman

io.github.seuros由 GitHub 账号 seuros 发布v0.5.2更新于 Nov 6, 2026

Adaptive instruction server: serves agent instructions and skills tuned to the calling model

已验证STDIO仅桌面开发者工具AI 与机器学习

概览

AI 生成的概览

本地 MCP 服务器,用 Jinja2 模板按调用模型的能力层级和环境提供自适应的代理指令与技能。

可以做什么
  • 按调用模型的能力层级(monkey、engineer、agi)渲染并下发指令与技能
  • 根据检测到的操作系统、shell、容器或 SSH 状态以及 mise、brew、apt、gh、git 等可用工具调整模板内容
  • 从 .skills 目录渲染项目技能,并列出或校验技能
  • 统计 token 数量并展示不同层级之间的差异
  • 提供目标门控流程,包含当前目标资源和判定检查
  • 也可通过命令行打印指令、渲染技能或校验语法
适用场景
适合维护 AGENTS.md 类编码代理指引的场景:希望用一套模板给较弱模型更详细的护栏、给较强模型更精简的约束,并让内容贴合本机操作系统、shell 与工具链。
运行要求
以本地 stdio 进程运行,通过 cargo 安装(需 Rust 1.98 或更新版本)。可选 helmsman.toml 放在项目目录、~/.config/helmsman/ 或 HELMSMAN_CONFIG 指定的路径。AGENTS.md.j2 模板和 .skills 目录需由用户自行提供。
安装前请注意
环境检测仅为尽力而为,可能出错,例如 SSH 加 Docker 或 Alpine 环境下,应视为提示而非事实。服务器无状态,不做配置管理。它下发的指令会影响代理行为,使用前请审阅自己的模板。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Helmsman,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

Helmsman

Adaptive instruction server for AI coding agents.

The Problem

Static AGENTS.md files create instruction entropy collapse.

The same instructions for Opus, Sonnet, and Haiku is fantasy. They have different capabilities, different costs, and different failure modes. Static instructions:

  • Rot silently - written once, never updated, drift from reality
  • Waste tokens - Opus doesn't need step-by-step guidance
  • Cause failures - Haiku needs guardrails it doesn't get
  • Ignore context - "use brew" when you're on Arch with mise

The real cost isn't just tokens - it's instruction determinism. You can't control what you can't adapt.

The Solution

Helmsman serves dynamic, context-aware instructions via MCP (and CLI):

  • Model-aware: Opus gets minimal guidance, Haiku gets verbose hand-holding
  • Environment-aware: Detects OS, shell, available tools
  • Template-based: Jinja2 templates adapt to context
jinja
{% if model.tier == "agi" %}Verify packages exist. You know what to do.{% else %}1. Read the file first with Read tool2. Check for existing patterns3. Verify packages exist - do NOT invent them{% endif %}
{% if env.has_mise %}Use mise for runtime management.{% elif env.has_brew %}Use brew for packages.{% endif %}

Install

bash
cargo install helmsman

Build from source

Requires Rust 1.98 or newer. The repository pins Rust 1.98.1 for local and release builds. From the Helmsman repository directory:

bash
cargo build --release --lockedcargo test --locked

Quick Start

Goal gate (FreeChaOS)

Configure Jev with /reflex, then submit /goal <request>. The flow is work → check_goal → Jev verdict → model response. Helmsman owns the lifecycle; the host journals it and supplies Jev verdicts. Read goal://current for status. The turn stays open for a reply. See helmsman-goals(7) for setup, protocol, and limits.

Instructions and skills

  1. Create AGENTS.md.j2 in your project root

  2. Add to .mcp.json:

json
{  "mcpServers": {    "helmsman": {      "type": "stdio",      "command": "helmsman"    }  }}
  1. Call the prompt:
/helmsman:instructions claude-opus-4-5-20251101

Tiers

Three capability tiers, parallel to Anthropic's model siblings. Could expand to 4-5, but we're not going the OpenAI route of 40 model names (nano, mini, micro, medium, large...).

monkey

Follows instructions. Useful but needs guardrails. Tell it exactly what to do, what NOT to do, and keep it inside the perimeter. Without guidance, it will hallucinate packages and invent APIs.

Examples: Haiku, GPT-5.2 mini, Gemini Flash

engineer

Knows the basics. Competent but lacks judgment. Will delete your 300GB cache to fix a bug. Bug fixed, but now you wait 4 hours for it to rebuild. Needs boundaries, not hand-holding.

Examples: Sonnet, GPT-5.2 medium, Gemini Pro

agi

The architect. Don't explain how to use cargo or how to publish. It knows. Give it constraints and goals, not procedures. Wasting tokens on step-by-step instructions is burning money.

Examples: Opus, GPT-5.2 high/xhigh, DeepSeek R3

Shortcuts: a/architect (agi), e/eng/standard (engineer), m/basic/simple (monkey)

CLI

bash
helmsman                              # MCP server modehelmsman -i                           # print instructions (default tier)helmsman -i m                         # monkey tierhelmsman -i basic                     # monkey tier (neutral alias)helmsman -i a                         # agi tierhelmsman -i architect                 # agi tier (neutral alias)helmsman -i claude-opus-4-5-20251101  # resolves to agi tierhelmsman -i gpt-4o-mini               # resolves to monkey tier
# Override tier mapping for new/unknown modelshelmsman -i unknown-model --tier engineer
# Show diff between tiershelmsman -i a --diff e                # show AGI vs Engineer differences
helmsman -s commit                    # render .skills/commit.j2helmsman -l                           # list available skillshelmsman --validate                   # check skill syntaxhelmsman -t                           # show token count

Template Context

jinja
{# Model #}{{ model.id }}        {# "claude-opus-4-5-20251101" #}{{ model.tier }}      {# "agi", "engineer", "monkey" #}
{# Environment #}{{ env.os }}          {# "macos", "arch", "debian", "alpine" #}{{ env.shell }}       {# "zsh", "bash", "fish", "sh" #}{{ env.in_docker }}   {# true/false #}{{ env.in_ssh }}      {# true/false #}
{# Tools #}{{ env.has_mise }}{{ env.has_brew }}{{ env.has_apt }}{{ env.has_gh }}{{ env.has_git }}

Configuration

Create optional helmsman.toml in:

  1. Current directory (project-local)
  2. ~/.config/helmsman/ (user global)
  3. Set $HELMSMAN_CONFIG env var to override
toml
[defaults]tier = "engineer"
[server]templates_dir = "~/my-templates"

Model → tier mappings are pre-configured for Anthropic, OpenAI, Google, and other major models. Unknown models default to engineer tier.

Skills

Project skills live in .skills/ and are discovered automatically. Files prefixed with _ are partials.

Environment Detection

Helmsman detects OS, shell, and available tools automatically. Best effort only, never authoritative.

Known edge cases:

  • SSH + Docker may report wrong shell ($SHELL lies)
  • Alpine/busybox may lack expected binaries
  • Container detection uses heuristics (cgroup parsing)

Use these values for optimization hints, not hard requirements.

Non-Goals

Things Helmsman deliberately doesn't do:

  • Prompt engineering framework - not here to optimize your prompts
  • Model memory/learning - stateless, no persistence between calls
  • Teaching tool - assumes you know what you're doing
  • Configuration management - use real tools for that

Helmsman is infrastructure, not a product.

License

BSD-3-Clause

mcp-name: io.github.seuros/helmsman

来源:README.md,提交 5fc7cd6

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:该软件包类型无法在沙箱中运行。

版本历史

1
  1. v0.5.2最新Nov 6, 2026

评分

已满足适用检查项的 40%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。