mcpField
A
assiststudio-runner

assiststudio-runner

本地服务
github.com/fieldcureAI 与智能体122 周前更新

关于 assiststudio-runner

assiststudio-runner 是面向 AssistStudio 用户和 MCP 客户端的 Windows 专用引擎,用于安排并执行自然语言大模型任务。它结合任务管理工具、Windows Task Scheduler 调度和可配置的结果投递。

主要功能

  1. 01通过 7 个 MCP 工具管理任务
  2. 02安排周期性和单次运行
  3. 03通过命令行无头执行任务
  4. 04支持多种大模型提供方
  5. 05通过 Outbox 渠道投递结果
  6. 06在 Windows Credential Manager 中存储凭据

适用场景

  1. 01安排工作日研究摘要
  2. 02立即运行任务进行测试
  3. 03查看执行状态和历史记录

MCP 相关

它以 stdio 方式运行 MCP 服务,提供创建、更新、删除、列出和执行任务,以及查询状态与历史记录的工具。任务还可启动已配置的 MCP 服务。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
nugetFieldCure.AssistStudio.Runner2.0.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

AssistStudio Runner

NuGet License: MIT

一款仅适用于 Windows 的无头大模型任务自动化引擎,可按计划执行自然语言任务,并通过配置的渠道交付结果。它基于 Model Context Protocol (MCP) 构建为 MCP 服务,并使用官方 MCP C# SDK。

功能

  • 双模式运行 — MCP 服务(serve)用于任务管理,无头命令行(exec)用于定时执行
  • 7 个 MCP 工具 — create_task、update_task、delete_task、list_tasks、run_task、get_task_history、get_execution_status
  • Windows 任务计划程序集成 — 自动将 cron 表达式映射为 schtasks 条目
  • 共享 AgentLoop — 大模型执行由 Ai.Execution 提供支持(与 SubAgentExecutor 使用相同的循环)
  • 支持多种大模型提供商 — 通过 Ai.Providers 支持 Claude、OpenAI、Gemini、Ollama、Groq
  • MCP 服务编排 — 任务可启动任意 MCP 服务(Outbox、RAG、Filesystem、自定义服务)
  • 灵活的工具控制 — AllowedTools 为 null 时允许使用所有工具;指定列表时可进行精细控制;空列表表示仅允许使用安全工具
  • 凭据安全存储 — API 密钥存储在 Windows Credential Manager(DPAPI)中,并与 AssistStudio 共用
  • 执行日志 — 数据库摘要 + 包含完整对话历史的详细 JSON 日志
  • 一次性计划 — 使用 ISO 8601 日期时间的 schedule_once,适用于单次执行任务(“5 分钟后”“明天上午 9 点”)
  • 结果交付 — 通过 Outbox 渠道发送结果(Slack、Telegram、Email、KakaoTalk、Discord)

安装

dotnet tool(推荐)
dotnet tool install -g FieldCure.AssistStudio.Runner

安装后,即可全局使用 assiststudio-runner 命令。 由于计划任务通过 Windows 任务计划程序实现,且凭据存储在 Windows Credential Manager 中,因此发布的程序包仅适用于 Windows。

从源代码安装
git clone https://github.com/fieldcure/fieldcure-assiststudio-runner.git
cd fieldcure-assiststudio-runner
dotnet build

要求

  • .NET 8.0 Runtime 或更高版本
  • Windows(任务计划程序和 Credential Manager 的运行要求)

配置

自动配置(推荐)

以 serve 模式启动且不存在 runner.json 时,Runner 会自动扫描 Windows Credential Manager 中已知提供商的 API 密钥,并生成配置文件。如果你使用 AssistStudio,API 密钥已存储,无需手动设置。

手动设置
# Create runner.json config template
assiststudio-runner config init

# Set API key for a provider model
assiststudio-runner config set-credential "Claude" sk-ant-api03-...

# Verify (displays masked value)
assiststudio-runner config get-credential "Claude"

配置文件将创建在 %LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.json:

{
  "defaultModelName": "Claude",
  "models": {
    "Claude": {
      "providerType": "Claude",
      "modelId": "claude-sonnet-4-20250514"
    }
  },
  "fallbackChannel": "runner-alerts",
  "logRetentionDays": 30
}
Claude Desktop

添加到 claude_desktop_config.json:

{
  "mcpServers": {
    "runner": {
      "command": "assiststudio-runner",
      "args": ["serve"]
    }
  }
}
VS Code(Copilot)

添加到 .vscode/mcp.json:

{
  "servers": {
    "runner": {
      "command": "assiststudio-runner",
      "args": ["serve"]
    }
  }
}
从源代码安装(不使用 dotnet tool)
{
  "mcpServers": {
    "runner": {
      "command": "dotnet",
      "args": [
        "run",
        "--project", "C:\\path\\to\\fieldcure-assiststudio-runner\\src\\FieldCure.AssistStudio.Runner",
        "--", "serve"
      ]
    }
  }
}

工具

工具描述确认
create_task创建包含提示词、计划和 MCP 服务配置的任务必需
update_task修改任务字段 — 部分更新,仅更新已更改的字段必需
delete_task删除任务、其执行记录和日志文件必需
list_tasks按条件筛选任务,并显示最近一次执行状态—
run_task开始执行(默认异步,可选择等待 60 秒)必需
get_task_history按状态筛选并查询执行历史—
get_execution_status查看执行的实时状态—

用法

对话示例
User: "Summarize competitor news every morning at 9 AM and send it to Slack"
  LLM → create_task (schedule: "0 9 * * 1-5", mcp_servers: [outbox, rag])

User: "Run a test"
  LLM → run_task (wait: true) → reports result

User: "Exclude weekends"
  LLM → update_task (schedule: "0 9 * * 1-5")

User: "What were yesterday's results?"
  LLM → get_task_history (limit: 1)
执行模式
模式命令用途
Serveassiststudio-runner serve用于任务管理的 MCP 服务(stdio)
Execassiststudio-runner exec <task-id>无头执行(由 schtasks 调用)
Configassiststudio-runner config init创建配置模板
assiststudio-runner config set-credential <key> <value>存储 API 密钥或环境变量
assiststudio-runner config get-credential <key>获取凭据(已遮蔽)
退出代码(exec 模式)
代码含义
0成功
1失败
2超时
3未找到任务
4已在运行

调度

Cron 表达式会自动映射为 Windows 任务计划程序条目:

调度参数schtasks
在指定时间执行一次schedule_once: "2026-04-07T15:30:00+09:00"/SC ONCE /SD 2026/04/07 /ST 15:30
每 30 分钟schedule: "*/30 * * * *"/SC MINUTE /MO 30
每 2 小时schedule: "0 */2 * * *"/SC HOURLY /MO 2
每天上午 9:00schedule: "0 9 * * *"/SC DAILY /ST 09:00
工作日上午 9:00schedule: "0 9 * * 1-5"/SC WEEKLY /D MON,TUE,WED,THU,FRI /ST 09:00
每月 1 日schedule: "0 9 1 * *"/SC MONTHLY /D 1 /ST 09:00

计划任务使用 schtasks /IT 创建,因此会在交互式用户上下文中运行,并要求用户在触发时已登录。

schtasks 命令行使用 dnx(NuGet 的 npx 等效工具,.NET 10+)来获取并运行工作程序 — dnx FieldCure.AssistStudio.Runner@<major>.* --yes exec <id>。工作程序调用的无状态 MCP 服务(Essentials、Outbox)也以相同方式启动,并固定在当前主版本范围。如需不依赖 NuGet 的工作流,请设置 RunnerConfig.ToolPath,以指定具体的可执行文件。

数据存储

数据位置
配置%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.json
任务数据库%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/runner.db(SQLite,WAL)
执行日志%LOCALAPPDATA%/FieldCure/AssistStudio/Runner/logs/{id}.json
API 密钥Windows Credential Manager(FieldCure.AssistStudio)

项目结构

src/FieldCure.AssistStudio.Runner/
├── Program.cs                    # Dual-mode entry point (serve/exec/config)
├── Models/                       # RunnerTask, TaskExecution, RunnerConfig, ExecutionLog
├── Storage/TaskStore.cs          # SQLite storage with WAL mode
├── Credentials/                  # ICredentialService + Windows PasswordVault
├── Scheduling/                   # CronToSchtasks parser, SchedulerService (schtasks)
├── Execution/                    # TaskExecutor (AgentLoop-based), McpServerPool
├── Tools/                        # 7 MCP tools for serve mode
└── Configuration/ConfigRunner.cs # CLI config subcommands

开发

# Build
dotnet build

# Test
dotnet test

# Pack
dotnet pack -c Release

专为 AssistStudio 打造

Runner 专为 AssistStudio 生态系统打造。任务通常通过 AssistStudio 中的自然语言对话创建,由 AssistStudio 自动处理工作流设计、MCP 服务选择和工具权限。

虽然 Runner 可以与 Claude Desktop 或 VS Code 搭配独立使用(通过 serve 模式),但你需要手动构造任务参数(提示词、MCP 服务、允许使用的工具)。如需完整体验,请使用 AssistStudio。

另请参阅

属于 AssistStudio 生态系统 的一部分。

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。