【技术文档摘要】
作者: Abhilash Chadhar (FutureAtoms) 仓库: agentic-control-framework
AI 原生编排层(CLI + MCP),带有超过80种工具用于上下文工程——检索、代码编辑、浏览器自动化、终端编排和持久记忆——专为 Claude Code、Cursor、Codex 和 VS Code 设计。此 README 反映了当前代码和已测试的集成。
bin/acfbin/agentic-control-framework-mcp → src/mcp/server.jsconfig/examples/npm run test:cli, npm test盒子里有什么
关键特性:
ACF 将混乱的多文件、多步骤的软件工作现实转化为精确、可寻址的“上下文单元”,LLMs 可以请求、细化并采取行动。它通过结合任务图、丰富的上下文表面、检索/编辑工具和护栏来实现这一点——所有这些都可以通过 CLI 和 MCP 访问。
作为事实来源的任务图
丰富、按需的上下文表面
getContext 返回确切的任务/子任务上下文块(包括相关文件元数据和活动日志)。generateTaskFiles 为每个任务生成一个 Markdown 文件(在 tasks/ 中),tasks-table.md 提供项目概览。context <id> 打印人类总结,供人类和 LLM 使用。检索和编辑工具(用于上下文构建和应用)
search_code、tree、list_directory、get_file_info、read_file/read_multiple_files、read_url。edit_block 使用明确的旧/新块进行手术替换(最小化意外漂移)。execute_command、list_processes、会话)以验证上下文假设(测试、构建)。同步与新鲜度
tasks.json 和每个任务文件;延迟变化检测;tasks-table.md 保持最新。allowedDirectories 和 readonlyMode 限制可访问的文件系统范围。从产品文档规划(可选)
parsePrd、expandTask、reviseTasks 通过 Gemini 将 PRD 或变更请求转换为结构化任务,然后将其折叠回任务图中以进行可追溯执行。这一起提供了可重复的“上下文循环”:计划 → 检索 → 编辑/验证 → 更新状态,每一步都可通过工具寻址,因此 MCP 客户端(Claude Code、Cursor、Codex、VS Code)可以可靠地驱动它。
从 PRD 引导
tools/call: parsePrd { filePath } → 创建具有优先级和依赖关系的任务 → generateTaskFiles 以供审查。让模型专注于下一个动作
tools/call: getNextTask → 获取考虑依赖关系/优先级的下一个可操作任务。tools/call: getContext { id } → 获取任务块;然后 read_file/search_code 查找周围代码。安全、手术式代码更改
search_code 以识别确切块;通过 read_file 验证。edit_block { file_path, old_string, new_string, normalize_whitespace }。execute_command { command: "npm test" } 或特定套件命令。保持上下文新鲜
start_file_watcher → 修改文件或任务 → file_watcher_status 获取统计信息 → 完成时 stop_file_watcher。ACF 保存代理(或人类)做了什么、何时做的以及为什么做的持久、可查询的记忆。这种持久记忆存在于 .acf/tasks.json 和每个任务文件中:
存储的内容
createdAt、updatedAt 和带有时间戳消息的 activityLog[] 条目。updatedAt。parsePrd、expandTask、reviseTasks)也会写入清晰的活动消息。LLM 如何写入记忆
--message "..." 以将人类/LLM 注释追加到活动日志中。
acf status 12 inprogress --message "开始实现解析器"acf update 12 --priority 750 --message "由于截止日期提高优先级"updateStatus 或 updateTask 的工具调用参数中传递 message。
tools/call { name: "updateStatus", arguments: { id: "12", newStatus: "done", message: "测试通过;合并"}`tools/call { name: "updateTask", arguments: { id: "12", priority: 820, message: "经过利益相关者审查后升级"}`如何消费记忆
acf context <id>(CLI)打印一个丰富的、人类可读的上下文,包括最近的 activityLog。tools/call: getContext { id }(MCP)返回相同的结构化块,非常适合 LLM 提示。generateTaskFiles 生成 markdown 快照;tasks-table.md 显示从 .acf/tasks.json 同步的实时概述。要求
npx playwright install。安装
cd agentic-control-framework && npm ciCLI(本地)
./bin/acf init --project-name "Demo" --project-description "开始使用"./bin/acf add -t "第一个任务" -p high./bin/acf list --format humanMCP 服务器(stdio)
node ./bin/agentic-control-framework-mcp --workspaceRoot $(pwd)config/examples/ 中的示例客户端配置,适用于 Claude Code、Cursor 和 Codex。概述
docs/README.mddocs/PROJECT-STRUCTURE.mddocs/architecture/overview.mddocs/architecture/mcp-integration.md集成(MCP 客户端)
docs/INTEGRATIONS.mdconfig/examples/claude_code.jsonconfig/examples/cursor.mcp.jsonconfig/examples/codex.config.tomlCLAUDE.md参考
docs/reference/cli_examples.mddocs/reference/mcp_examples.md测试与验证
docs/TESTING_SUMMARY.mdscripts/testing/validate-doc-commands.sh建议与想法
docs/workspace-indexing-proposal.mdmindmap
root((ACF 工具<br/>总计 79 个))
核心 ACF
任务管理
listTasks
addTask
updateStatus
getNextTask
优先级系统
recalculatePriorities
getPriorityStatistics
bumpTaskPriority
prioritizeTask
文件监视
initializeFileWatcher
stopFileWatcher
forceSyncTaskFiles
模板
getPriorityTemplates
addTaskWithTemplate
文件操作
基本操作
read_file
write_file
copy_file
delete_file
目录操作
list_directory
create_directory
tree
search_files
终端
命令执行
execute_command
read_output
force_terminate
进程管理
list_processes
kill_process
浏览器自动化
导航
browser_navigate
browser_navigate_back
browser_close
交互
browser_click
browser_type
browser_hover
browser_drag
捕获
browser_take_screenshot
browser_pdf_save
browser_snapshot
标签管理
browser_tab_list
browser_tab_new
browser_tab_close
搜索与编辑
search_code
edit_block
系统集成
AppleScript
applescript_execute
配置
get_config
set_config_value
核心任务工具
实用工具
注意:工具通过 tools/list 从 src/mcp/server.js 发布,并且每个列出的工具在服务器中都有一个处理程序。
核心环境变量
WORKSPACE_ROOT:CLI/MCP 默认的工作空间路径ALLOWED_DIRS:额外允许的目录(路径分隔)READONLY_MODE:设置为 true 以禁用写操作ACF_PATH:覆盖项目的根路径可选/功能标志
GEMINI_API_KEY:启用 AI 支持的工具(parsePrd、expandTask、reviseTasks)ACF_SKIP_POSTINSTALL=1:跳过所有后安装步骤ACF_SKIP_PLAYWRIGHT=1:跳过沉重的 Playwright 浏览器下载ACF_INSTALL_SHARP=1 或 AC/ACF_INSTALL_ALL=1:安装可选的 sharpACF_ENABLE_BROWSER_TOOLS=1:启用 Playwright 浏览器测试(macOS 默认)ACF_ENABLE_APPLESCRIPT=1:启用 AppleScript 测试(仅限 macOS)allowedDirectories 和 readonlyMode 限制。read_url)是显式的;编辑使用 edit_block 与旧/新内容以尽量减少无意中的更改。命令执行:
- execute_command: 运行带超时的 shell 命令
- read_output: 从运行进程读取
- force_terminate: 终止进程
- list_sessions: 显示活动终端会话
- list_processes: 显示运行进程
- kill_process: 终止进程
导航:
- browser_navigate: 导航到 URL
- browser_navigate_back: 后退
- browser_navigate_forward: 前进
- browser_close: 关闭浏览器
交互:
- browser_click: 点击元素
- browser_type: 输入文本
- browser_hover: 悬停在元素上
- browser_drag: 拖放
- browser_select_option: 选择下拉选项
- browser_press_key: 键盘输入
捕获:
- browser_take_screenshot: 截屏
- browser_snapshot: 可访问性快照
- browser_pdf_save: 保存为 PDF
管理:
- browser_tab_list: 列出浏览器标签
- browser_tab_new: 打开新标签
- browser_tab_select: 切换标签
- browser_tab_close: 关闭标签
- browser_file_upload: 上传文件
- browser_wait: 等待时间/条件
- browser_resize: 调整窗口大小
- browser_handle_dialog: 处理警告/对话框
- browser_console_messages: 获取控制台日志
- browser_network_requests: 监控网络
代码操作:
- search_code: 使用 ripgrep 进行高级文本/代码搜索
- edit_block: 手术式文本替换
macOS 自动化:
- applescript_execute: 运行 AppleScript 以进行系统集成
服务器管理:
- get_config: 获取服务器配置
- set_config_value: 更新配置值
该存储库遵循标准实践,关注点分离干净:
agentic-control-framework/
├── 📁 bin/ # CLI 可执行文件和入口点
├── 📁 src/ # 核心源代码和工具实现
├── 📁 docs/ # 综合文档(按类别组织)
├── 📁 test/ # 测试基础设施和测试套件
├── 📁 config/ # 配置文件和示例
├── 📁 scripts/ # 设置、部署和维护脚本
├── 📁 deployment/ # 云部署配置
├── 📁 tasks/ # 任务管理文件
├──