Atlas / MCP servers / phinn / KinetAios

KinetAiosBLOCK

mcp/phinn/kinetaios

Local-first multi-engine AI agent dashboard — Claude Code, Codex & built-in ReAct in one window. MCP support, skills auto-loading, long-term memory. No account, no relay.

Verdict
BLOCK
Grade
F
Trust score
40 /100
Exposed tools
132 105r · 26w · 1d
Transport
—
License
GPL-3.0
Stars
10
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

English | 简体中文

[](LICENSE) [](https://github.com/phinn/KinetAios) [](https://github.com/phinn/KinetAios/releases/latest) [](https://github.com/phinn/KinetAios/releases/latest) [](https://github.com/phinn/KinetAios/discussions) [](https://github.com/phinn/KinetAios/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22)

🌐 [Website → https://phinn.github.io/KinetAios/](https://phinn.github.io/KinetAios/)

Real session: parallel conversations across projects, engine badge per session (Direct / Claude Code / Codex), file & Git & rules tabs, token-cost accounting per turn.

A local-first AI agent dashboard for Windows 11 and macOS — both first-class platforms (the "Win" folder name is historical; the repo is phinn/KinetAios). Platform differences (cmd.exe vs /bin/sh, hotkey, tray) are routed at runtime; features are aligned on both sides. Run multiple agent sessions concurrently with streaming answers, shell/file/search/MCP tools, SQLite history with long-term memory, a global hotkey, and a per-session model. No account, no relay server — your own LLM API key is the only credential.

The 30-second version:

  • 🔀 Four engines, one window — Direct (in-house ReAct) + Claude Code + Codex + DeepSeek Harness; switch per session, hand off context via Pipeline
  • 🧠 Long-term memory on local SQLite — auto-extracted facts shared across
Read from source at commit b0106d892ea4OBSERVED · 2026-10-10
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control. Replace the environment placeholders with a token scoped to the least it needs.

claude-code
claude mcp add kinetaios-win --env ZHIPU_API_KEY=${ZHIPU_API_KEY} -- npx -y [email protected]
claude-desktop
{
  "mcpServers": {
    "kinetaios-win": {
      "command": "npx",
      "args": [
        "-y",
        "[email protected]"
      ],
      "env": {
        "ZHIPU_API_KEY": "${ZHIPU_API_KEY}"
      }
    }
  }
}
03

Exposed tools (132)

105 read · 26 write · 1 destructive. Blast radius: 1 tool can delete or overwrite — an agent that can be talked into calling a tool can be talked into calling this one.

ToolRiskDescription
airspace_checkread查询指定坐标和高度的低空空域状态(是否在限飞区、管制区、临时禁飞区)。输入纬度、经度和计划飞行高度(米),返回空域类型和飞行许可建议。
appstore_lookupread查询 App Store 竞品信息(免 key):按名称/关键词搜 App(拿评分/评分人数/版本/定价/开发者),或按 app id 拉最近用户评论(真实原声,含标题/评分/版本)。ASO 竞争分析、竞品评论挖掘入口。支持所有国家的 iTunes 商店。
arduino_compileread编译 Arduino / ESP32 项目。指定开发板 FQBN 和项目目录,返回编译结果(含错误信息)。编译失败时返回编译器错误,便于 AI 分析修错。
arduino_uploadwrite编译并烧录固件到开发板。指定 FQBN、串口端口和项目目录,自动编译后上传。烧录前需用户确认命令。
ax_scriptread【仅 macOS】执行 AppleScript 操作指定应用的 UI 元素(零坐标、不抢焦点)。典型用法:点按钮 System Events → tell process
batch_renamewrite批量重命名文件。支持模板({index}/{date}/{name}/{ext})或正则替换模式。支持 dry_run 预览。纯 Node。
batch_textread批量文本处理:支持对文本进行正则替换、去重、排序、大小写转换、编码转换。纯 Node。
ble_checkread检测 bleak (Python BLE 库) 是否已安装,返回版本和平台蓝牙状态。
ble_connectread连接指定 BLE 设备,列出所有 GATT Service 和 Characteristic(UUID + 属性)。帮助找到正确的特征 UUID 用于后续读写。
ble_gattwriteGATT 特征操作:读取(read)、写入(write)或订阅通知(notify)。需要设备地址和特征 UUID。
ble_scanread扫描附近 BLE 设备的广播包。列出设备名、MAC 地址、RSSI 信号强度。默认扫描 10 秒。
board_listread列出已安装的 Arduino 开发板核心(boards)和当前连接的串口设备。用于查看可用板型和端口。无需参数。
browser_clickwrite点击 agent Chrome 页面里的元素。selector 来自 browser_snapshot 的输出(如 #submit-btn、a:nth-of-type(2))。默认走真实坐标 mousedown/mouseup(带点击前命中校验,遮罩拦截会自动剥透明遮罩一次);tippy/popover 类浮层若报
browser_cookiewrite读写 agent Chrome 当前页的 cookies。action=get 走 CDP(可读 HttpOnly);action=set 走页面内 cookieStore.set(实测唯一能真正落盘的通路:document.cookie 会被 CSP 拒,CDP Network.setCookie 静默假成功)。set 要求当前页是目标域的 HTTPS 页面;domain 不要带前导点;长 JWT 等要写到完整 host(如 www.reddit.com 而非 reddit.com)。写完自动回读校验,注入后建议导航刷新确认登录态生效。
browser_evalread在 agent Chrome 页面里执行任意 JavaScript 并返回结果(awaitPromise 支持 async 表达式)。用于读取页面数据(document.title、表格内容)、触发复杂交互、绕过没有 selector 的场景。只读工具(不落盘不联网的纯页面内执行)。
browser_navigateread在 agent 专属 Chrome(独立于你的浏览器,不占屏幕不抢焦点)中打开一个 URL。网页自动化第一步。url 可不带 https:// 前缀。new_tab=true 时新开 tab,否则复用当前 tab。
browser_screenshotread截取 agent Chrome 当前页面视口为图片(内容级截图,不碰屏幕)。视觉确认页面状态、看图片/图表内容时用。返回 base64 PNG。
browser_selectread选择 agent Chrome 页面里 <select> 下拉框的选项。value 可以是 option 的 value 或可见文本。选择后派发 change 事件,框架正常响应。
browser_snapshotread获取 agent Chrome 当前页面的结构化快照:URL、标题、全部可交互元素(a/button/input/select/textarea 等)及其稳定 selector。点击/输入前先 snapshot 看有什么元素、拿 selector。零屏幕截图,纯 DOM,快且省 token。只读工具。
browser_tabsread管理 agent Chrome 的 tab:list 列出全部 tab(带 tab_id/标题/URL),close 关闭指定 tab,activate 切换。多 tab 工作流(如对比两个页面)用 list 拿 tab_id 后传给其它 browser_* 工具。
browser_typeread向 agent Chrome 页面的输入框输入文本并回读验证(回读长度不符会警告,勿直接提交)。mode=value(默认)=input/textarea+React/Vue 受控组件(native setter);mode=paste=ProseMirror/Discourse 类富文本(只有 paste 可靠,直接 input 会静默丢字);mode=insertText=contenteditable+React state(X 类编辑器)。clear=true 先清空(默认),submit=true 输入后点提交。
browser_uploadwrite向 agent Chrome 页面的文件上传控件(input[type=file])上传本地文件。走 CDP DOM.setFileInputFiles(浏览器安全模型下唯一可靠通路)。selector 若指向的是
classify_commentread给一条评论打情感标签(负面/正面/中性),返回大 JSON
codemodewriteRun JavaScript that calls other tools (chains, loops, Promise.allSettled, filtering large results).
compliance_checkread飞行法规合规检查:根据飞行场景(巡检/物流/航拍等)、无人机类别、飞行区域和高度,检查是否满足法规要求。返回合规检查清单和需要办理的手续。基于中国民航局无人机管理法规框架。
convert_formatread文档格式互转。利用 pandoc 实现 Markdown/HTML/docx/epub/RTF/PDF 等格式互转。需安装 pandoc。
create_docwrite创建 Word 文档(.docx)。用 pandoc 把 Markdown 转 docx。需安装 pandoc。
create_pdfwrite从 Markdown 创建 PDF。优先用 pandoc --pdf-engine=wkhtmltopdf(无需 LaTeX), fallback 用 wkhtmltopdf 直接转。需安装 wkhtmltopdf。
cron_listread列出当前所有定时任务(cron 计划任务)。返回 id、cron 表达式(5 字段:分 时 日 月 周)、prompt、cwd、enabled、上次运行时间。\n
cron_manageread管理定时任务(cron 计划任务):创建 / 启停 / 删除。任务按 cron 表达式(5 字段:分 时 日 月 周)周期性触发,
csv_analyzeread分析 CSV 文件:自动推断列类型,输出每列的统计摘要(行数/唯一值/数值列的 min/max/mean/sum)。纯 Node,无需外部依赖。
csv_filterread筛选/排序 CSV 数据。支持多条件 AND 筛选(==, !=, >, <, >=, <=, contains, startswith),可导出到文件或显示 Markdown 表格。纯 Node。
dispatch_agentread派发一个独立子任务给子 agent(独立上下文)。默认走 Direct 引擎(只读工具集:read_file/grep/glob/web_fetch/recall_memory/recall_fact)。设 engine=claudeCode 或 codex 跨引擎:走对应 CLI 的 one-shot(同样只读)。用于并行探索或大任务分解,可以借力更强的模型完成子任务。子 agent 不能写文件、不能起 shell、不能再派发子任务;完成后用文本汇报结果。\n\n
dummy_readread测试用只读工具
echo_argsread示例工具:把传入的 JSON 参数原样返回(用于验证插件 SDK 是否工作)。
edit_filewrite把文件里 old_string 那段精确替换为 new_string。old_string 必须与文件完全一致(含缩进/换行)。默认只替换第一处,replace_all=true 替换全部。找不到 old_string 时不改动并报错。改代码首选这个,不要用 write_file 整体覆盖。
excel_comreadExcel 高级操作(Windows + Office):打开/修改 .xlsx, 支持公式、条件格式、VBA 宏。通过 PowerShell COM。需安装 Excel。
excel_readread读取 Excel 文件(.xlsx), 返回指定 sheet 的数据为 Markdown 表格(前 50 行)。需要 python3 + openpyxl。
excel_to_csvread将 Excel 文件(.xlsx/.xls)转为 CSV。需要 python3 + openpyxl。
excel_writewrite创建/写入 Excel 文件(.xlsx)。支持多 sheet、标题行样式、列宽自适应。需要 python3 + openpyxl。
export_sessionread[远程 Agent] 导出指定会话的完整状态(turns + directHistory + engine + cwd),用于任务交接。返回 JSON 串。
feishu_send_filewrite将磁盘上已有的文件发送到当前飞书频道。支持图片(png/jpg/gif/webp)、文档(pdf/xlsx/docx/csv)、音视频(mp4/mp3)等。仅在飞书频道会话中有效。如果用户要求发送已有文件/图片,请用此工具,不要用 write_file。
flight_planread规划飞行航线:输入起降点和途经点(纬度/经度),计算总航程、预估飞行时间、电量需求。可选指定无人机型号和巡航速度。如本机有航线规划 CLI,自动调用生成航点文件。
funnel_calcread营销漏斗与单位经济模型计算:给定曝光→点击→注册→付费各环节转化率(或直接给各层数量),算出每层转化率、CAC、LTV、LTV/CAC 比和回收期。也可反推:给定目标新增付费数,倒推每层需要的流量。
goalread设置会话目标(持续注入 systemPrompt,引导整个会话方向)
gpio_readread读取指定 GPIO 引脚的电平状态。生成 Arduino 读取脚本,通过串口注入到开发板。返回 HIGH/LOW + ADC 值。
hn_searchread检索 Hacker News 上的历史讨论热度(标题/分数/评论数/链接),用于:验证选题在 HN 是否被验证过、研究竞品当年怎么发的、找目标受众的真实讨论。可选时间过滤和标签过滤。
i2c_scanread扫描 I2C 总线设备地址。两种模式:(1) 通过串口注入扫描脚本到 Arduino/ESP32;(2) Linux 系统使用 i2cdetect。返回所有应答设备的 7-bit 地址。
import_sessionwrite[远程 Agent] 导入一台远程机器导出的会话状态,在本机创建对应会话。传入 export_session 的 JSON 串。
keyboard_keydestructive按下按键或组合键。支持:Enter, Tab, Escape, Backspace, Delete, ArrowUp/Down/Left/Right, Home, End, PageUp, PageDown, Space。组合键用 + 连接,如 Ctrl+C, Shift+Home, Ctrl+Shift+Tab。
keyboard_typeread输入文本(模拟键盘逐字输入)。先点击目标输入框,再调用此工具输入内容。
keyword_expandread关键词拓展:输入核心词(可多个)。默认先拉 DuckDuckGo 真实搜索联想词(免 key autocomplete,反映真实用户输入),再叠加本地修饰词矩阵/长尾模式/问句。联想词拉取失败自动降级为纯静态矩阵。用于 SEO 选题、内容日历、投放词包。
lib_installwrite安装 Arduino 库(如
lib_searchread在 Arduino Library Manager 中搜索库。返回库名、作者、版本、简介。用于查找可用的第三方库。
load_skillread加载一个 Skill 的完整指令。当前任务与系统提示中「可用 Skills」目录里的某项描述匹配时,
markdown_to_htmlread将 Markdown 转换为 HTML 文件(纯 Node, 内置基础样式)。无需外部依赖。
market_searchread搜索引擎检索(DuckDuckGo),返回标题/摘要/链接列表。营销调研入口:查竞品、查行业报告、查目标关键词的 SERP 格局。英文关键词效果最佳,中文可用。
memory_appendread向你的核心记忆块(Memory Block)追加内容。不会覆盖已有内容,在末尾追加。\n
memory_replaceread更新你的核心记忆块(Memory Block)。这是结构化的长期记忆,持久跨会话,每轮注入到上下文中。\n
modbus_crcread计算或验证 Modbus RTU CRC-16 校验。输入十六进制帧(如
modbus_readread读取 Modbus 寄存器。支持功能码 0x01(线圈), 0x02(离散输入), 0x03(保持寄存器), 0x04(输入寄存器)。
modbus_scanread扫描 Modbus 从站地址(RTU 串口或 TCP 网络)。逐个地址探测,列出在线设备。
modbus_writewrite写入 Modbus 寄存器。支持功能码 0x05(写单个线圈), 0x06(写单个寄存器), 0x10(写多个寄存器)。
mouse_clickread在屏幕指定坐标点击鼠标。需要先用 screenshot 截屏查看当前屏幕,确定要点击的位置坐标。坐标基于截图的像素分辨率。
mouse_dragread从一点拖拽到另一点(用于拖拽文件、选中文本等)。
mouse_scrollread滚轮滚动。正数向上滚,负数向下滚。
mqtt_checkread检测 mosquitto-clients 是否已安装。未安装时给出安装指引。
mqtt_pubread向 MQTT broker 发布消息。支持 QoS 0/1/2、retained 消息、用户名密码认证。
mqtt_subread订阅 MQTT topic,持续监听指定秒数内收到的消息。支持通配符(+/#)、QoS、认证。
nest_crudread生成 NestJS CRUD 代码模板(Controller + Service)。包含: Swagger 装饰器、分页查询、软删除、DTO 验证。适合快速搭建 RESTful API。
nest_entityread从字段描述生成 TypeORM Entity 代码。包含 Swagger @ApiProperty、@Column/@Index 装饰器、软删除基类字段。
nest_guardread生成 NestJS 认证/授权代码模板。支持: JWT Auth Guard、RBAC 权限装饰器(@Permissions)、多租户拦截器(TenantInterceptor)。
nest_moduleread生成完整的 NestJS 模块代码(controller + service + module + DTO + entity)。自动加 Swagger 装饰器、class-validator 验证、TypeORM 软删除、分页查询。返回所有文件内容供直接写入。
ocr_imageread图片 OCR 文字识别, 支持中英文。需要 tesseract。
ota_generateread生成 ESP32/ESP8266 OTA 固件更新代码。支持 HTTP/HTTPS OTA、进度显示、错误处理、版本检查。可选 WebUpdater 内置上传页面。
ota_partitionread生成 ESP32 OTA 分区表 CSV 文件。支持 4MB/8MB/16MB Flash,可选择自定义 SPIFFS/LittleFS 大小。
ota_planreadOTA 架构方案设计。根据设备数量、网络环境、安全需求,设计完整的 OTA 体系:分区方案、版本管理、回滚机制、安全策略。
outlook_list_mailread读取 Outlook 收件箱的最近邮件列表(Windows + Outlook)。利用 PowerShell COM 自动化。
outlook_send_mailwrite通过 Outlook 发送邮件(Windows + Outlook)。利用 PowerShell COM 自动化。
pdf_extract_textread从 PDF 文件提取纯文本。需要 pdftotext (poppler-utils)。
pio_checkread检测 PlatformIO CLI 是否已安装并返回版本信息。如果未安装,给出安装指引。
pio_compileread编译 PlatformIO 项目。自动读取 platformio.ini 配置。支持指定环境(多 env 配置)。
pio_initread初始化 PlatformIO 项目。生成 platformio.ini + src/main.cpp + lib/ + include/ 标准目录结构。支持指定开发板 ID 和框架。
pio_libreadPlatformIO 库管理:搜索、安装、列出已装库。安装时会自动写入 platformio.ini 的 lib_deps。
pio_monitorread采样设备串口输出(指定秒数)。使用 PlatformIO 的 device monitor,自动读取 platformio.ini 中的 monitor_speed 和 monitor_port。
pio_uploadwrite编译并烧录固件到设备。自动编译 + 通过串口烧录。
power_checkread供电/功耗分析。输入设备类型和数量,计算总功耗,检查 LDO 电流余量,给出去耦电容建议。
read_docread读取 Word/PDF/EPUB/HTML/RTF 文档内容, 转为纯文本或 Markdown。利用 pandoc 解析。需安装 pandoc。
read_fileread读取本地文件
recall_factread读取之前 remember_fact 保存的会话锚点。key 不存在时返回
reddit_hotread抓取指定 subreddit 的帖子:不传 query 抓当前热帖;传 query 则全量搜索该社区历史帖(配合 t=year 可挖老帖)。用于:监听社区在讨论什么、发现痛点原声(voice of customer)、按关键词挖竞品怨念帖(如搜
remember_factread保存一个会话级锚点(键值对)到 SQLite。后续步骤可 recall_fact 读取。\n
run_agentwrite[远程 Agent] 在此机器上启动一个完整的自主 Agent 执行任务。Agent 拥有 shell/read_file/write_file/web_fetch 等全部工具,会自主推理-行动-观察直到完成。传入自然语言任务描述,返回 Agent 的最终文本结果。
scope_diagread示波器诊断。分析从串口采集的 ADC 波形数据(逗号/空格分隔的数值序列),计算 Vpp/频率/占空比/噪声,给出信号质量评估。
screenshotread截取当前屏幕截图。返回 base64 PNG 图片 + 屏幕分辨率。Computer Use 核心工具:LLM 看到屏幕后决定下一步操作(点击坐标、输入文本等)。截图坐标基于屏幕物理像素。传 hide_self=true 会在截图瞬间把 KinetAios 自身窗口透明化(不最小化、不抢焦点、画面无切换,截完立即恢复),适合
screenshot_windowread按窗口标题关键字截取指定窗口的内容(不要求该窗口在前台,被遮挡/在后台也能拍,画面零切换)。适合:自己用 shell 启动了一个应用/窗口后,直接截它的内容查看,而不把它带到最前面打扰用户。配合后台启动(如 macOS 的 open -gj、Windows 的 START /B)可实现全程零前台切换。返回 base64 PNG + 窗口内容尺寸。
sensor_driver_skeletonread生成指定传感器的完整驱动代码骨架(Arduino/ESP32)。包含初始化、读取、错误处理和串口输出。可选择生成 PlatformIO 格式(含 platformio.ini 配置)。
sensor_inforead查询传感器详细信息。输入型号(如 BME280/DHT22/MPU6050/SSD1306),返回接线表、驱动库、关键参数、注意事项和示例代码。
sensor_listread按类型列出可选传感器,附关键参数对比。帮助选型。
seo_auditread落地页 SEO 体检:抓取页面,报告 title/description 长度、OG/Twitter 卡片、结构化数据(JSON-LD)、H1-H3 层级、图片 alt 缺失数、词频 top(粗略关键词密度)。用于发布前自查或对照竞品落地页找差距。
serial_monitorread读取串口输出(采样指定秒数)。用于查看设备运行日志、调试串口输出。需指定端口和采样时长(默认 5 秒)。默认波特率 115200。
serial_queryread向设备发送 AT 指令并获取响应。自动添加 \\r 行尾(AT 协议标准),等待响应并返回。用于配置 WiFi 模块(ESP-AT)、蓝牙模块、4G/LoRa 模块等 AT 控制设备。
serial_scanread扫描当前可用的串口设备列表。Windows 返回 COM 端口列表,macOS/Linux 返回 /dev/tty* 设备列表。同时检测 USB 设备信息(VID/PID)。无需参数。
serial_sendwrite向串口发送数据并可选等待响应。支持文本模式和十六进制模式。用于发送命令到 MCU、触发设备动作、配置传感器寄存器等。
serial_sessionread打开串口持续采样指定时长(默认 10 秒),期间可发送多条命令。用于交互式调试 —— 先发命令再观察响应,或持续监控设备输出。返回采样期间所有串口数据。
shellread在用户电脑上执行 shell 命令(文件操作、git、系统信息等)。执行前会请求用户确认。Windows 上走 cmd.exe,其它系统走 /bin/sh。
sigrok_captureread配置并执行信号捕获。指定硬件驱动、采样率、通道数、样本数/时长、触发条件,执行后保存为 .sr 文件。
sigrok_checkread检测 sigrok-cli 是否已安装,返回版本号和驱动信息。未安装时给出安装指引。
sigrok_decoderead对已捕获的信号数据(.sr 文件或 demo 模式)执行协议解码。支持 UART/I2C/SPI/1-Wire/WS2812/PWM 等协议。
sigrok_list_hwread列出 sigrok 支持的硬件驱动和协议解码器。帮助用户选择正确的驱动名和协议名。
spawn_teamread创建一个 agent 团队(team)。每个 member 是独立只读 sub-agent,有各自持久化的 history。\n
submit_planwrite提交任务执行规划(有向无环图)。调用此工具后系统将按依赖关系并行执行各步骤。
sync_memorieswrite[远程 Agent] 双向同步记忆库:把远程 memories 合并到本机,同时返回本机的全部 memories。实现多机共享长期记忆。
team_broadcastread给 team 的所有 member 发同一条指令。每个 member 独立处理,各自跑一次 LLM,各自更新自己的 history。\n
team_closeread删除 team 及其所有 member 的持久化数据。团队不再可用。\n
team_sendwrite单独给 team 的某个 member 发指令。Member 看到自己 history + 这条消息,跑一次 LLM。\n
todo_writewrite维护当前任务清单(每次整表替换)。多步任务(≥3 步)开始前先写入全部条目;每完成一项立即更新状态。
video_genread使用 MiniMax H3 模型生成视频(文生视频)。输入文字描述,返回视频下载链接。需要先在设置中配置 MiniMax API Key。支持 2K/1080P 分辨率,5-15 秒时长,支持 16:9/9:16/1:1 等比例。
weather_briefread获取指定坐标的航空气象简报(风速、风向、能见度、降水概率、云底高、温度)。用于飞行前天气评估。输入纬度和经度,可选未来小时数(默认 12 小时预报)。
wecom_send_filewrite将磁盘上已有的文件发送到当前企业微信会话。支持文档(pdf/xlsx/docx/csv/txt)、图片(png/jpg/gif/webp)、压缩包(zip)等,单文件最大 50MB。仅在会话来自企业微信通道时有效。如果用户要求发送已有文件,请用此工具,不要用 write_file。
word_comreadWord 高级操作(Windows + Office):查找替换、插入目录、修订追踪、导出 PDF 等。通过 PowerShell COM。需安装 Word。
workflow_runwrite运行一个**多阶段多 agent 工作流**(team 超集)。每个阶段有若干 named agent 并行执行,\n
write_filewrite把字符串写入本地文件(覆盖)。**所有文件写入都必须用这个工具**,无论多大(几 KB、几十 KB、几百 KB 都可以一次性写入),工具本身没有长度限制。绝对禁止用 shell echo/cat/heredoc 或 python 写文件 —— 那些方式会因为 JSON/shell 双层转义出错。
代码审查read审查当前文件的代码质量、安全性和最佳实践
代码解释read用中文逐行解释代码
安全审计read检查代码安全问题
性能优化read分析性能瓶颈并优化
文档生成read为代码生成中文文档注释
架构分析read分析项目架构并给出改进建议
测试编写read为代码生成单元测试
类型迁移readJavaScript → TypeScript 迁移
重构read改善代码结构而不改变行为
04

Trust audit

BLOCKgrade F · trust 40/100 Do not install this without reading the findings. The audit found something that could harm you or your machine.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codeFAIL
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfaceWARN
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (7 observation(s))
Network
declared (12 observation(s))
Shell
declared (9 observation(s))
Dependencies
not all pinned
Secrets in source
found

Findings (25)

HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
plugins/arduino-dev/index.js:22
exec(command, { cwd, timeout: timeoutMs, maxBuffer: 1024 * 1024 * 5 }, (err, stdout, stderr) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
plugins/ble-dev/index.js:19
exec(command, { cwd, timeout: timeoutMs, maxBuffer: 1024 * 1024 * 2 }, (err, stdout, stderr) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
plugins/hw-diag/index.js:17
exec(command, { cwd, timeout: timeoutMs, maxBuffer: 1024 * 1024 * 2 }, (err, stdout, stderr) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
plugins/logic-analyzer/index.js:18
exec(command, { cwd, timeout: timeoutMs, maxBuffer: 1024 * 1024 * 4 }, (err, stdout, stderr) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
HIGHFilesystem / path · fs.credential_store · CWE-22, CWE-59
src/main/privacy-gate.ts:66
/(^|\/)(\.env(\..+)?|id_rsa|id_ed25519|id_ecdsa|\.npmrc|\.netrc|credentials(\.json)?|secrets?\.(ya?ml|json|txt))$/i;
Why it matters. touches a credential store
MEDIUMInformation disclosure · disclose.log_secret · CWE-209, CWE-532
src/main/mcp-server.ts:212
console.log(`[mcp-server] 监听 0.0.0.0:${port}(token: ${token ? '已设' : '⚠️ 未设'})`);
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
plugins/ota-dev/index.js:33
description: '固件下载 URL (http/https 模式需要, 如 "http://192.168.1.100:8080/firmware.bin")',
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
plugins/ota-dev/index.js:46
const url = args.firmware_url || 'http://192.168.1.100/firmware.bin';
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/capture-nexus.js:29
http.get('http://127.0.0.1:' + port + pathname, r => {
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
scripts/diag-sidebar.cjs:48
const targets = await cdpSend('http://127.0.0.1:9222/json/list');
MEDIUMNetwork egress · net.raw_ip · CWE-200, CWE-319
src/main/cdp.ts:86
await httpGetJson(`http://127.0.0.1:${chromePort}/json/version`, 2000);
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
plugins/hw-diag/index.js:299
lines.push(`- 每个芯片 VCC 旁: **100nF (0.1μF)** 陶瓷电容(就近放置)`);
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
plugins/hw-diag/index.js:300
lines.push(`- 电源输入端: **10μF~47μF** 电解/钽电容`);
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
plugins/hw-diag/index.js:301
lines.push(`- WiFi 射频前端: **1μF + 10pF** (ESP32 特有)`);
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
plugins/hw-diag/index.js:445
lines.push(`- 🔧 噪声严重, 建议加 **0.1μF 去耦电容** 到 ADC 输入`);
MEDIUMObfuscation / stealth · obf.homoglyph · CWE-506, CWE-94
plugins/sensor-lookup/index.js:23
['DATA', '任意 GPIO + 4.7kΩ-10kΩ 上拉到 VCC'],
MEDIUMHard-coded secrets · secret.generic · CWE-798, CWE-321
scripts/tmp/privacy-gate-test.js:55
expect('random secret', scan('secret = "vN8qX2mP7kR4jT9wL3bY6hF1"', undefined), 'HIT');
MEDIUMHard-coded secrets · secret.github · CWE-798, CWE-321
scripts/tmp/privacy-gate-test.js:50
expect('github token', scan('token: ghp_abcdefghijklmnopqrstuvwxyz0123456789', undefined), 'HIT');
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
scripts/tmp/privacy-gate-test.js:47
expect('rsa private key', scan('-----BEGIN RSA PRIVATE KEY-----', undefined), 'HIT');
MEDIUMHard-coded secrets · secret.private_key · CWE-798, CWE-321
scripts/tmp/privacy-gate-test.js:48
expect('openssh key', scan('-----BEGIN OPENSSH PRIVATE KEY-----', undefined), 'HIT');
MEDIUMHard-coded secrets · secret.slack · CWE-798, CWE-321
scripts/tmp/privacy-gate-test.js:53
expect('slack token', scan('xoxb-123456789012-abcdefghijkl', undefined), 'HIT');
MEDIUMFilesystem / path · mcp.destructive_tools · CWE-22, CWE-59
keyboard_key
Why it matters. 1 tool(s) can delete or overwrite
Fix. prefer a read-only mode or scoped tokens; the page states the blast radius
LOWCode injection · code.eval_exec · CWE-78, CWE-94, CWE-95
examples/plugins/office-suite/index.js:16
exec(cmd, { cwd, timeout, maxBuffer: 10 * 1024 * 1024 }, (err, stdout, stderr) => {
Why it matters. evaluates text as code
Fix. remove; use a parser or a dispatch table
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
scripts/tmp/privacy-gate-test.js:30
const SENSITIVE_PATH_RE = /(^|\/)(\.env(\..+)?|id_rsa|id_ed25519|id_ecdsa|\.npmrc|\.netrc|credentials(\.json)?|secrets?\.(ya?ml|json|txt))$/i;
Why it matters. touches a credential store
LOWFilesystem / path · fs.credential_store · CWE-22, CWE-59
scripts/tmp/privacy-gate-test.js:60
expect('id_rsa', scan('内容', '/Users/u/.ssh/id_rsa'), 'HIT');
Why it matters. touches a credential store

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha b0106d892ea4full audit observations/trust-audit/mcp-server/phinn__kinetaios.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-10b0106d892ea4BLOCKF40first audit
06

Questions

What is the KinetAios MCP server?

Local-first multi-engine AI agent dashboard — Claude Code, Codex & built-in ReAct in one window. MCP support, skills auto-loading, long-term memory. No account, no relay.

What tools does KinetAios expose?

132 in total: 105 read-only, 26 that write, and 1 that can delete or overwrite (keyboard_key). Every one is listed on this page with its risk.

Is KinetAios safe to connect to an agent?

No — not without reading the findings first. The audit graded it F (40/100) and found 5 critical or high issues in the source. Each one is listed on this page with the file and line it is on. Separately from the audit: 1 of its tools can destroy data, so scope the token you give it to what you actually need.

What credentials does KinetAios need?

It reads ZHIPU_API_KEY from the environment. Give it a token scoped to the least it needs — an agent that can be talked into calling a tool can be talked into calling it with your credentials.

How current is this page?

The grade is for one exact copy of the source (b0106d892ea4), read on 2026-10-10. The repository is watched and re-audited when it changes.

Advertisement