Doramagic 项目包 · 项目说明书
ionclaw 项目
一款使用 C++ 编写的跨平台 AI 智能体编排器,能将包括手机在内的任何设备变成独立运行的多智能体自动化平台。
IonClaw 概述与系统架构
IonClaw 是一个面向本地与嵌入式场景的 C++ AI Agent 运行时框架,提供模型推理、智能体调度、协议网关与 Web 管理界面等能力。截至最新发布版本 v1.0.5,项目已具备 llama.cpp 推理后端、MCP(Model Context Protocol)服务端与客户端、Smart Agent 子智能体(subagent)等核心特性。资料来源:[READM...
继续阅读本节完整说明和来源证据。
IonClaw 是一个面向本地与嵌入式场景的 C++ AI Agent 运行时框架,提供模型推理、智能体调度、协议网关与 Web 管理界面等能力。截至最新发布版本 v1.0.5,项目已具备 llama.cpp 推理后端、MCP(Model Context Protocol)服务端与客户端、Smart Agent 子智能体(subagent)等核心特性。资料来源:README.md:1-40
项目定位与核心能力
IonClaw 的目标是将"AI 模型推理 + Agent 编排 + 工具协议"打包成一个可独立部署、可交叉编译的二进制程序,主要面向需要离线或边缘部署 AI 能力的开发者。其核心项目括:
- 本地推理:集成 llama.cpp 作为默认 AI runtime,可在本地 CPU/GPU 上运行开源大语言模型。资料来源:README.md:20-60
- Agent 系统:内置 Smart Agent 与 subagent 调度机制,支持多智能体协作与任务委派(v1.0.5 引入)。资料来源:main/lib/include/ionclaw/ionclaw.h:1-40
- MCP 协议:同时支持 MCP Server 与 MCP Client,便于把 Agent 能力以标准化协议对外暴露或调用外部工具(v1.0.4 引入)。资料来源:main/CMakeLists.txt:1-80
- Web 管理界面:自带嵌入式 Web 客户端(通过
embed-resources.cmake将前端资源编译进二进制),方便浏览器端调试与控制。资料来源:main/CMakeLists.txt:40-120 - 多语言支持:运行时支持界面与提示词的多语言切换。资料来源:README.md:60-90
仓库目录与构建结构
IonClaw 采用 CMake 作为顶层构建系统,顶层 CMakeLists.txt 负责跨模块的依赖组织与平台选项开关,而子目录 main/ 则承载主进程、运行时库与嵌入式 Web 资源。资料来源:CMakeLists.txt:1-60
构建产物的关键文件包括:
main/lib/include/ionclaw/Version.hpp:集中维护版本号、构建信息与特性开关宏,是运行时判定能力的依据。资料来源:main/lib/include/ionclaw/Version.hpp:1-30main/lib/include/ionclaw/ionclaw.h:公共 C/C++ 头文件,对外暴露运行时初始化、Agent 调度、MCP 注册等核心 API。资料来源:main/lib/include/ionclaw/ionclaw.h:1-40embedded_web.cpp:由add_custom_command配合embed-resources.cmake生成的源码文件,把 Web 前端资源以 C++ 字节数组形式嵌入二进制。资料来源:main/CMakeLists.txt:60-160
系统架构总览
下表总结了 IonClaw 的分层架构与各层职责,方便快速理解模块边界。
| 层级 | 主要组件 | 职责说明 |
|---|---|---|
| 表示层 | 嵌入式 Web 客户端(embedded_web.cpp) | 提供浏览器端 UI,通过 HTTP/WebSocket 与主进程通信 |
| 接口层 | MCP Server / MCP Client | 对外暴露 Agent 与工具能力,对内调用外部 MCP 服务 |
| 编排层 | Smart Agent、Subagent | 任务解析、计划生成、子智能体委派与上下文共享 |
| 运行时层 | llama.cpp 推理后端 | 本地 LLM 推理,支持 CPU 与 GPU 加速路径 |
| 基础设施层 | CMake 构建、Version.hpp、ionclaw.h | 版本特性开关、跨平台编译、公共 API 抽象 |
资料来源:main/lib/include/ionclaw/ionclaw.h:1-40 main/lib/include/ionclaw/Version.hpp:1-30 main/CMakeLists.txt:1-160
关键工作流
以一次"用户通过 Web 发起任务"的典型调用为例,IonClaw 内部的协作流程可以概括为:
- 请求接入:嵌入式 Web 客户端通过本地 HTTP/WebSocket 将用户输入发送至主进程。资料来源:main/CMakeLists.txt:60-160
- Agent 路由:主进程根据当前会话上下文选择 Smart Agent,必要时创建 subagent 处理子任务。资料来源:main/lib/include/ionclaw/ionclaw.h:1-40
- 工具调用:Agent 通过 MCP Client 调用已注册的外部工具,或通过 MCP Server 把自身能力暴露出去。资料来源:README.md:40-90
- 模型推理:将整理后的 prompt 送入 llama.cpp runtime,获得模型输出。资料来源:README.md:20-60
- 结果回传:推理结果与工具调用结果由 Smart Agent 聚合后回写到 Web 客户端。资料来源:main/lib/include/ionclaw/ionclaw.h:1-40
构建与部署注意事项
由于 IonClaw 将 Web 前端以源码形式嵌入二进制,构建系统对 embed-resources.cmake 的依赖较为敏感:
- 若在 Windows MSVC 环境下出现
fatal error C1083: Cannot open source file: "embedded_web.cpp",通常是add_custom_command未在依赖检查阶段触发资源生成所致,需清理build/后重新执行 CMake 配置。资料来源:main/CMakeLists.txt:60-160 - 启用 llama.cpp 时应确认 CMake 顶层选项(如
IONCLAW_WITH_LLAMACPP)已开启,并链接对应的推理后端库。资料来源:CMakeLists.txt:1-60 - MCP Server/Client 默认开关与具体协议版本应通过
Version.hpp中的特性宏进行判定,避免硬编码。资料来源:main/lib/include/ionclaw/Version.hpp:1-30
社区关注点速览
- 构建问题:Issue #28 报告了
embedded_web.cpp not generated的 MSVC 构建失败,是当前最受关注的可复现性问题。资料来源:README.md:60-90 - 生态扩展:v1.0.4 起原生支持 MCP Server/Client,v1.0.5 进一步引入 Smart Agent subagent,使项目具备更完整的多 Agent 编排能力。资料来源:README.md:1-60
- 多语言:通过运行时切换降低非英语用户的使用门槛。资料来源:README.md:60-90
资料来源:main/lib/include/ionclaw/ionclaw.h:1-40 main/lib/include/ionclaw/Version.hpp:1-30 main/CMakeLists.txt:1-160
AI Provider、MCP 与 llama.cpp 集成
ionclaw 的 AI 能力由三层可插拔组件构成:Provider 抽象层统一封装云端与本地推理后端;MCP 客户端/服务器桥接外部工具与上下文源;llama.cpp 作为本地推理运行时被原生集成进 Provider 体系。设计目标是让上层 Agent(如 v1.0.5 引入的 smart agent / subagent)无需关心后端差异,统一通过 ProviderFa...
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述与设计目标
ionclaw 的 AI 能力由三层可插拔组件构成:Provider 抽象层统一封装云端与本地推理后端;MCP 客户端/服务器桥接外部工具与上下文源;llama.cpp 作为本地推理运行时被原生集成进 Provider 体系。设计目标是让上层 Agent(如 v1.0.5 引入的 smart agent / subagent)无需关心后端差异,统一通过 ProviderFactory 选择 Anthropic、OpenAI、Claude CLI 或本地 llama.cpp 推理路径,并通过 MCP 协议接入工具。
资料来源:main/lib/include/ionclaw/provider/ProviderFactory.hpp:1-40
AI Provider 架构
ProviderFactory 抽象入口
ProviderFactory 作为运行时工厂,根据配置或运行时参数返回对应 Provider 实现。它屏蔽了云端 HTTP、CLI 子进程与本地推理三种交互模式的差异,使调用方只面向统一接口。
资料来源:main/lib/include/ionclaw/provider/ProviderFactory.hpp:40-120
云端 Provider:Anthropic / OpenAI
AnthropicProvider 与 OpenAiProvider 均实现统一的 Provider 接口,分别对接 Anthropic Messages API 与 OpenAI Chat Completions API,封装鉴权、流式响应与消息格式转换,二者保持请求/响应契约一致以便上层复用。
资料来源:
- main/lib/include/ionclaw/provider/AnthropicProvider.hpp:1-80
- main/lib/include/ionclaw/provider/OpenAiProvider.hpp:1-80
CLI Provider:ClaudeCliProvider
ClaudeCliProvider 通过本地子进程方式调用 Claude CLI,适用于无法直接联网或需要复用已登录 CLI 会话的场景。它在 Provider 抽象下保留与 HTTP provider 相同的请求/响应契约,避免上层做适配分支。
资料来源:main/lib/include/ionclaw/provider/ClaudeCliProvider.hpp:1-90
本地推理:LlamaProvider 与 LlamaBackend
LlamaProvider 是面向 llama.cpp 推理引擎的 Provider 实现。它通过内部 LlamaBackend 完成模型加载、token 化与推理循环,向上层暴露与云端 Provider 兼容的接口,从而实现“本地模型即服务”。社区 Issue #18 已确认 llama.cpp runtime 在 main 分支上得到支持(state=closed)。
资料来源:
- main/lib/include/ionclaw/provider/LlamaProvider.hpp:1-120
- main/lib/include/ionclaw/provider/LlamaBackend.hpp:1-120
MCP 集成
MCP(Model Context Protocol)允许 ionclaw 既作为客户端消费外部工具与数据源,也能作为服务器向其他 Agent 暴露能力。McpClient 负责建立与远程 MCP server 的连接、发现可用 tools/resources 并在对话中注入工具调用结果;McpServer 则把 ionclaw 内部能力(如同源 MCP 工具、Provider 调用)暴露为 MCP 协议端点。该双向能力由 v1.0.4 的 PR #4(MCP server)与 PR #5(MCP client)引入。
资料来源:
- main/lib/include/ionclaw/mcp/McpClient.hpp:1-100
- main/lib/include/ionclaw/mcp/McpServer.hpp:1-100
端到端调用流程
| 阶段 | 组件 | 行为 |
|---|---|---|
| 入口 | Agent / subagent | 接收用户 prompt,决定是否需要工具 |
| Provider 选择 | ProviderFactory | 按配置选择 Anthropic/OpenAI/ClaudeCli/Llama Provider |
| 推理 | LlamaBackend 或 HTTP/CLI 后端 | 生成本轮回复或工具调用决策 |
| 工具 | McpClient | 调用外部 MCP server tool 并把结果回填上下文 |
| 输出 | Agent | 汇总并返回最终消息 |
资料来源:main/lib/include/ionclaw/provider/ProviderFactory.hpp:40-120、main/lib/include/ionclaw/mcp/McpClient.hpp:1-100
已知限制与社区反馈
- llama.cpp 后端依赖构建期正确链接
llama库;若 CMake 未正确传递相关开关(例如 Issue #28 中提到的add_custom_command/embed-resources.cmake依赖链路缺失),可能导致本地 Provider 或嵌入资源不可用,问题模式与该 issue 报告的embedded_web.cpp not generated类似,属于构建依赖未满足。 - 当前公开头文件未披露针对
LlamaProvider的官方速率限制或基准数据;接入前应在本地进行小批量对话验证,再决定是否替换默认云端 Provider。
资料来源:main/lib/include/ionclaw/provider/LlamaProvider.hpp:1-120、main/lib/include/ionclaw/provider/LlamaBackend.hpp:1-120、main/lib/include/ionclaw/provider/ProviderFactory.hpp:40-120
资料来源:main/lib/include/ionclaw/provider/ProviderFactory.hpp:1-40
跨平台原生应用(Android / iOS / tvOS / watchOS / Flutter)
ionclaw 的跨平台原生应用层是面向 Android、iOS、tvOS、watchOS 与 Flutter 的"原生壳"(native shell),其目标是把同一份 C++ 核心运行时——包含本地推理、MCP server/client(v1.0.4 起支持)以及 llama.cpp AI runtime(参见 issue 18,已合入主干)——直接嵌入到各平台进程内...
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
继续阅读本节完整说明和来源证据。
概述与作用范围
ionclaw 的跨平台原生应用层是面向 Android、iOS、tvOS、watchOS 与 Flutter 的"原生壳"(native shell),其目标是把同一份 C++ 核心运行时——包含本地推理、MCP server/client(v1.0.4 起支持)以及 llama.cpp AI runtime(参见 issue #18,已合入主干)——直接嵌入到各平台进程内,避免依赖外部服务。该壳层与 Web 客户端共用一套构建机制;后者在打包时通过 embed-resources.cmake 生成 embedded_web.cpp,社区曾报告该文件缺失,见 issue #28。
本页以 Android 子工程作为唯一具备源码证据的实现进行说明;其他平台按相同分层组织,但本仓库中未检索到对应源码细节。
总体项目布局
apps/ 目录按平台分子工程。Android 端进一步拆分为两个 Gradle 模块,以隔离 UI 与原生绑定:
| 模块 | 路径 | 角色 |
|---|---|---|
:app | apps/android/app/src/main/java/com/ionclaw/app/ | 应用入口、UI 屏幕、ViewModel |
:library | apps/android/library/ | JNI 桥接、C++ 原生库、Kotlin 封装 |
app 与 library 的拆分使 C++ 运行时可独立编译为原生库,并由未来其他壳工程(Flutter 插件、车载/TV 壳)复用,从而保持核心代码单一来源。
Android 客户端实现
应用入口与 UI 屏幕
MainActivity.kt 是 Android 应用入口 Activity,承载整个 UI 树。UI 按职责分为两个屏幕文件:
PanelScreen.kt:智能体交互面板,负责呈现主对话、工具调用结果以及 v1.0.5 引入的 smart agent subagent 视图。ServerScreen.kt:本地服务器配置与状态界面,展示启动/停止、监听信息等。
资料来源:apps/android/app/src/main/java/com/ionclaw/app/MainActivity.kt:1-1、apps/android/app/src/main/java/com/ionclaw/app/ui/PanelScreen.kt:1-1、apps/android/app/src/main/java/com/ionclaw/app/ui/ServerScreen.kt:1-1。
ViewModel 与本地服务器管理
ServerViewModel.kt 位于 server 子包内,作为服务器生命周期的持有者,把原生层回调的状态以可观察形式发布给上述两个屏幕。这种"屏幕—ViewModel—原生层"的三段式划分,使得 UI 不必直接持有 JNI 引用,降低原生对象在 Android 配置变更(旋转、进程回收等)下被误释放的风险。
资料来源:apps/android/app/src/main/java/com/ionclaw/app/server/ServerViewModel.kt:1-1。
原生 C++ 集成(library 模块)
:library 模块同时包含 Kotlin 封装与 C++ 实现,二者一一对应:
IonClawNative.kt:Kotlin 侧面向应用的 API,方法签名与 C++ 入口对应。ionclaw_jni.cpp:C++ 侧 JNI 桥接实现,把 Kotlin 调用桥接到 ionclaw 核心运行时。
通过这一对文件,应用进程可直接调用推理、MCP 客户端/服务器(v1.0.4)、子代理(v1.0.5)等能力,无需 IPC。
资料来源:apps/android/library/src/main/cpp/ionclaw_jni.cpp:1-1、apps/android/library/src/main/java/com/ionclaw/lib/IonClawNative.kt:1-1。
其他平台范围
虽然仓库中未列出 iOS / tvOS / watchOS / Flutter 对应的源码文件,但从 apps/ 目录命名与 Android 参考实现的分层可推断预期形态:
- iOS / tvOS / watchOS:以 Xcode 工程链接同一份 C++ 核心,UI 壳分别为 UIKit/SwiftUI、tvOS 焦点模型与 watchOS 紧凑布局;语言桥接以 Objective-C++ 或 Swift C-interop 替代
IonClawNative.kt。 - Flutter:以 Dart FFI 或 Method Channel 复用
libionclaw,在 Android/iOS 上共享 Dart 层 UI,从而减少壳工程的重复实现。
若要在这些平台启用,需在各自工程中引用同一 C++ 核心并补齐对应桥接文件。
小结
跨平台原生应用层是 ionclaw 把 C++ 核心(推理、MCP、llama.cpp runtime——参见 issue #18)投递到不同设备形态的"薄壳"。Android 是当前源码证据最完整的参考实现:MainActivity 启动 → 两个 UI 屏幕(PanelScreen / ServerScreen)→ ServerViewModel 协调 → IonClawNative Kotlin 封装 → ionclaw_jni.cpp 桥接 → ionclaw 核心运行时。其他平台遵循相同分层,仅替换 UI 壳与语言桥接。构建侧请同时关注 embed-resources.cmake 与 issue #28 中的 embedded_web.cpp not generated 排查要点。
资料来源:apps/android/app/src/main/java/com/ionclaw/app/MainActivity.kt:1-1、apps/android/app/src/main/java/com/ionclaw/app/ui/PanelScreen.kt:1-1、apps/android/app/src/main/java/com/ionclaw/app/ui/ServerScreen.kt:1-1。
Web 控制面板、技能系统与内置工具
ionclaw 的用户交互由两部分组成:基于 C++ 的主进程(main 二进制)与内嵌的 Vue 3 单页应用(apps/web)。前端的静态资源在构建阶段被 cmake/embed-resources.cmake 转换为 C++ 源文件 embeddedweb.cpp,再由主进程直接对外提供 HTTP 服务,从而实现"一个二进制、零外部依赖"的部署形态。前端入口 app...
继续阅读本节完整说明和来源证据。
1. 总体定位与嵌入式架构
ionclaw 的用户交互由两部分组成:基于 C++ 的主进程(main 二进制)与内嵌的 Vue 3 单页应用(apps/web)。前端的静态资源在构建阶段被 cmake/embed-resources.cmake 转换为 C++ 源文件 embedded_web.cpp,再由主进程直接对外提供 HTTP 服务,从而实现"一个二进制、零外部依赖"的部署形态。前端入口 apps/web/src/main.js 创建 Vue 应用、注册 Pinia 状态库与 Vue Router,并挂载到 #app 节点;App.vue 作为根组件承载整体布局(侧边栏 + 路由出口 + 顶部状态栏)。
资料来源:apps/web/src/main.js:1-40 资料来源:apps/web/src/App.vue:1-120 资料来源:apps/web/CMakeLists.txt:1-120 资料来源:cmake/embed-resources.cmake:1-80
社区反馈:在 Windows 上有用户报告embedded_web.cpp not generated(issue #28),原因是add_custom_command对前端产物目录的依赖在某些配置下未触发;该问题凸显了前端产物必须先于主二进制生成并被链接的耦合顺序。
2. Web 控制面板的页面组成
路由表 router/index.js 定义了三条主要路由,对应控制面板的三个核心页面:
/chat→ChatPage.vue:与 AI Agent 对话、查看流式回复与工具调用结果。/tasks→TaskBoard.vue:以看板形式展示 Agent 任务与子任务(subagent)状态。/files→FilesPage.vue:浏览、上传工作区文件,辅助 Agent 进行文件级操作。
ChatPage.vue 是最核心的交互页:通过 WebSocket/SSE 与主进程的 Agent 运行时通信,渲染用户消息、AI 回复、思考过程以及工具调用卡片。TaskBoard.vue 将 Agent 内部的子任务以看板列(待办 / 进行中 / 已完成)呈现,对应 v1.0.5 引入的"smart agent subagent"特性。FilesPage.vue 暴露工作区文件系统,让用户能上传、预览、引用文件供 Agent 使用。
资料来源:apps/web/src/router/index.js:1-60 资料来源:apps/web/src/pages/ChatPage.vue:1-200 资料来源:apps/web/src/pages/TaskBoard.vue:1-200 资料来源:apps/web/src/pages/FilesPage.vue:1-200
3. 技能系统(Skill System)
ionclaw 的"技能"由两个层面构成:
- MCP 兼容层 —— v1.0.4 起同时支持 MCP Server 与 MCP Client(PR #4、PR #5),允许第三方以标准协议注册工具,Agent 在推理时按需调用。
- Subagent 委派 —— v1.0.5 引入的"smart agent subagent"(PR #14)让主 Agent 可以委派子 Agent 处理特定任务,技能在子任务上下文中继承与裁剪。
技能在前端通过 TaskBoard.vue 的任务卡片进行可视化:每张卡片显示技能名称、调用次数、当前状态与子任务进度;用户也可在 ChatPage.vue 的工具调用气泡中查看每一次技能执行的输入与输出。
资料来源:apps/web/src/pages/TaskBoard.vue:1-200 资料来源:apps/web/src/pages/ChatPage.vue:1-200
4. 内置工具与运行时
主进程内置了一组工具供 Agent 调用,覆盖文件读写、Shell 执行、检索等常见操作;运行时方面,llama.cpp 已被纳入主分支支持(issue #18),用户可在配置中切换本地推理后端。下图展示了从浏览器到 AI 后端的整体数据流:
graph LR Browser[浏览器] -->|HTTP/WS| Main[主进程 main] Main -->|embed| Web[embedded_web.cpp] Main --> Agent[Agent Runtime] Agent -->|MCP| MCPServer[MCP Server] Agent -->|tools| Builtin[内置工具] Agent --> LLM[llama.cpp / 其他后端]
5. 构建与排错提示
由于前端被嵌入到 C++ 二进制,必须先构建 apps/web 产物再构建主项目。Windows 用户如遇到 embedded_web.cpp 缺失,可手动进入 apps/web/ 执行 npm run build,随后再次运行 CMake 重新生成资源;也可检查 IONCLAW_WEB_DIST_DIR 变量是否被正确传入(issue #28)。Linux/macOS 用户通常不会遇到此问题,因为前端产物会作为 CMake 的 add_custom_command 依赖被自动生成。
资料来源:apps/web/CMakeLists.txt:1-120 资料来源:cmake/embed-resources.cmake:1-80
失败模式与踩坑日记
保留 Doramagic 在发现、验证和编译中沉淀的项目专属风险,不把社区讨论只当作装饰信息。
缺口未补前,Doramagic 不能把该能力当作可靠推荐卖点。
命令可能缺步骤、过期或依赖本地环境,不能直接作为用户承诺。
可能增加新用户试用和生产接入成本。
安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。
Pitfall Log / 踩坑日志
项目:ionclaw-org/ionclaw
摘要:发现 12 个潜在踩坑项,其中 1 个为 high/blocking;最高优先级:能力坑 - 能力证据存在缺口。
1. 能力坑 · 能力证据存在缺口
- 严重度:high
- 证据强度:source_linked
- 发现:Sandbox install result is missing.
- 对用户的影响:缺口未补前,Doramagic 不能把该能力当作可靠推荐卖点。
- 证据:evidence.evidence_gaps | https://github.com/ionclaw-org/ionclaw | Sandbox install result is missing.
2. 安装坑 · 安装命令尚未沙箱验证
- 严重度:medium
- 证据强度:runtime_trace
- 发现:当前 install_status=documented,还只是文档/元数据线索。
- 对用户的影响:命令可能缺步骤、过期或依赖本地环境,不能直接作为用户承诺。
- 复现命令:
git clone https://github.com/ionclaw-org/ionclaw.git - 证据:downstream_validation.install_status | https://github.com/ionclaw-org/ionclaw | install_status=documented; command=git clone https://github.com/ionclaw-org/ionclaw.git
3. 安装坑 · 来源证据:embedded_web.cpp not generated
- 严重度:medium
- 证据强度:source_linked
- 发现:GitHub 社区证据显示该项目存在一个安装相关的待验证问题:embedded_web.cpp not generated
- 对用户的影响:可能增加新用户试用和生产接入成本。
- 证据:community_evidence:github | https://github.com/ionclaw-org/ionclaw/issues/28 | 来源类型 github_issue 暴露的待验证使用条件。
4. 配置坑 · 可能修改宿主 AI 配置
- 严重度:medium
- 证据强度:source_linked
- 发现:项目面向 Claude/Cursor/Codex/Gemini/OpenCode 等宿主,或安装命令涉及用户配置目录。
- 对用户的影响:安装可能改变本机 AI 工具行为,用户需要知道写入位置和回滚方法。
- 证据:capability.host_targets | https://github.com/ionclaw-org/ionclaw | host_targets=openclaw, mcp_host, claude_code, claude, cursor, chatgpt
5. 能力坑 · 能力判断依赖假设
- 严重度:medium
- 证据强度:source_linked
- 发现:README/documentation is current enough for a first validation pass.
- 对用户的影响:假设不成立时,用户拿不到承诺的能力。
- 证据:capability.assumptions | https://github.com/ionclaw-org/ionclaw | README/documentation is current enough for a first validation pass.
6. 运行坑 · Quick Start 尚未实际跑通
- 严重度:medium
- 证据强度:source_linked
- 发现:quickstart_status=not_attempted。
- 对用户的影响:用户只能看到安装线索,不能确信 10 分钟内能形成最小可试路径。
- 证据:downstream_validation.quickstart_status | https://github.com/ionclaw-org/ionclaw | quickstart_status=not_attempted; sandbox_quickstart_status=missing
7. 维护坑 · 维护活跃度未知
- 严重度:medium
- 证据强度:source_linked
- 发现:未记录 last_activity_observed。
- 对用户的影响:新项目、停更项目和活跃项目会被混在一起,推荐信任度下降。
- 证据:evidence.maintainer_signals | https://github.com/ionclaw-org/ionclaw | last_activity_observed missing
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 证据:downstream_validation.risk_items | https://github.com/ionclaw-org/ionclaw | no_demo; severity=medium
9. 安全/权限坑 · 存在安全注意事项
- 严重度:medium
- 证据强度:source_linked
- 发现:No sandbox install has been executed yet; downstream must verify before user use.
- 对用户的影响:用户安装前需要知道权限边界和敏感操作。
- 证据:risks.safety_notes | https://github.com/ionclaw-org/ionclaw | No sandbox install has been executed yet; downstream must verify before user use.
10. 安全/权限坑 · 存在评分风险
- 严重度:medium
- 证据强度:source_linked
- 发现:no_demo
- 对用户的影响:风险会影响是否适合普通用户安装。
- 证据:risks.scoring_risks | https://github.com/ionclaw-org/ionclaw | no_demo; severity=medium
11. 维护坑 · issue/PR 响应质量未知
- 严重度:low
- 证据强度:source_linked
- 发现:issue_or_pr_quality=unknown。
- 对用户的影响:用户无法判断遇到问题后是否有人维护。
- 证据:evidence.maintainer_signals | https://github.com/ionclaw-org/ionclaw | issue_or_pr_quality=unknown
12. 维护坑 · 发布节奏不明确
- 严重度:low
- 证据强度:source_linked
- 发现:release_recency=unknown。
- 对用户的影响:安装命令和文档可能落后于代码,用户踩坑概率升高。
- 证据:evidence.maintainer_signals | https://github.com/ionclaw-org/ionclaw | release_recency=unknown
来源:Doramagic 发现、验证与编译记录