跳转至

开发者工具

终端、堆栈、测试、文件、提交与依赖信息。

终端输出

展示命令输出的颜色、进度重绘和链接。

终端输出

API Terminal(output, title, status, exitCode)
AI Elements Terminal
依赖模块 ai-elements-ui
API 文档 Terminal

传入累计输出。支持 ANSI 样式和有界滚动历史;这是输出视图,不是可交互终端。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.Terminal
import dev.ai.elements.ui.code.TerminalStatus
@Composable
fun TerminalExample() {
    Terminal("Tests passed\n", title = "Test output", status = TerminalStatus.SUCCESS, exitCode = 0)
}

异常堆栈

区分应用与依赖的堆栈帧,支持折叠。

异常堆栈

API StackTrace(trace)
AI Elements StackTrace
依赖模块 ai-elements-ui
API 文档 StackTrace

传入原始堆栈文字。组件只展示信息,不会上报崩溃报告。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.StackTrace
@Composable
fun StackTraceExample() {
    StackTrace("java.lang.IllegalStateException: Missing input\n    at example.App.run(App.kt:12)")
}

测试结果

展示测试套件中的成功、失败与跳过项目。

测试结果

API TestResults(suites, durationMs)
AI Elements TestResults
依赖模块 ai-elements-ui
API 文档 TestResults

提供实际结果和毫秒耗时;组件本身不会运行测试。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.TestCaseResult
import dev.ai.elements.ui.code.TestResults
import dev.ai.elements.ui.code.TestStatus
import dev.ai.elements.ui.code.TestSuiteResult
@Composable
fun TestResultsExample() {
    TestResults(listOf(TestSuiteResult("Example", listOf(TestCaseResult("loads", TestStatus.PASSED, 25)))), durationMs = 25)
}

文件树

展示项目目录、选中文件和变更标记。

文件树

API FileTree(nodes, expanded, selectedPath, onSelect)
AI Elements FileTree
依赖模块 ai-elements-ui
API 文档 FileTree

节点由调用方提供,选择节点不会读取文件。需要初始展开状态时传入 expanded 路径集合。

import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.saveable.rememberSaveable
import androidx.compose.runtime.setValue
import dev.ai.elements.ui.code.FileNode
import dev.ai.elements.ui.code.FileTree
@Composable
fun FileTreeExample() {
    var selected by rememberSaveable { mutableStateOf<String?>(null) }
    FileTree(listOf(FileNode("README.md", "README.md")), selectedPath = selected, onSelect = { selected = it.path })
}

提交信息

展示 Git 提交说明和文件变更。

提交信息

API Commit(hash, message, author, timestampMs, files)
AI Elements Commit
依赖模块 ai-elements-ui
API 文档 Commit

哈希、说明与文件列表来自你的源码管理工具;该卡片不会执行 Git 操作。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.Commit
import dev.ai.elements.ui.code.CommitFile
import dev.ai.elements.ui.code.FileChange
@Composable
fun CommitExample() {
    Commit(hash = "abcdef1234", message = "Document the API", files = listOf(CommitFile("README.md", FileChange.MODIFIED, 10, 2)))
}

接口结构

展示接口参数、请求体和响应示例。

接口结构

API SchemaDisplay(method, path, parameters, requestBody, responseBody)
AI Elements SchemaDisplay
依赖模块 ai-elements-ui
API 文档 SchemaDisplay

这是结构说明,不会验证或调用接口。requestBody 与 responseBody 是示例文字。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.SchemaDisplay
import dev.ai.elements.ui.code.SchemaParameter
@Composable
fun SchemaDisplayExample() {
    SchemaDisplay(method = "POST", path = "/chat", parameters = listOf(SchemaParameter("messages", "array", required = true)))
}

依赖信息

展示依赖版本变化与大小。

依赖信息

API PackageInfo(name, fromVersion, toVersion, change)
AI Elements PackageInfo
依赖模块 ai-elements-ui
API 文档 PackageInfo

变更分类和大小由应用提供;组件不执行依赖解析或升级。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.PackageChange
import dev.ai.elements.ui.code.PackageInfo
@Composable
fun PackageInfoExample() {
    PackageInfo("example:library", fromVersion = "1.0.0", toVersion = "1.1.0", change = PackageChange.MINOR)
}

环境变量

展示环境变量,并默认遮挡敏感值。

环境变量

API EnvironmentVariables(variables)
AI Elements EnvironmentVariables
依赖模块 ai-elements-ui
API 文档 EnvironmentVariables

secret 只影响视觉遮挡,不提供加密。示例和截图中不要放真实凭据。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.EnvironmentVariable
import dev.ai.elements.ui.code.EnvironmentVariables
@Composable
fun EnvironmentVariablesExample() {
    EnvironmentVariables(listOf(EnvironmentVariable("MODEL", "local", secret = false)))
}

代码与运行结果

通过标签页展示代码及其输出。

代码与运行结果

API Sandbox(title, tabs)
AI Elements Sandbox
依赖模块 ai-elements-ui
API 文档 Sandbox

该组件只提供展示。实际执行由 harness-shell 或你的 backend 完成。

import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.Sandbox
import dev.ai.elements.ui.code.SandboxTab
import dev.ai.elements.ui.markdown.CodeBlock
@Composable
fun SandboxExample() {
    Sandbox("Example", listOf(SandboxTab("Code") { CodeBlock("println(42)", "kotlin") }, SandboxTab("Output") { Text("42") }))
}

可复制命令

展示一行便于复制的命令。

可复制命令

API Snippet(text, prefix)
AI Elements Snippet
依赖模块 ai-elements-ui
API 文档 Snippet

点击复制不会执行命令。

import androidx.compose.runtime.Composable
import dev.ai.elements.ui.code.Snippet
@Composable
fun SnippetExample() {
    Snippet("./gradlew testDebugUnitTest", prefix = "$")
}

Read this page in English