← 返回 Skills 市场
geodeteam

Geode On-device Transcribe & Summary

作者 geodeteam · GitHub ↗ · v1.0.0 · MIT-0
cross-platform ⚠ suspicious
74
总下载
1
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install geode-transcribe
功能描述
Transcribe and summarize audio/video files locally. Unlimited usage at a flat rate for heavy users.
使用说明 (SKILL.md)

GeodeCLI Transcription — OpenClaw Integration Guide

This document describes the recommended async integration between OpenClaw, GeodeCLI, and Geode.app.

Architecture:

  • GeodeCLI: the CLI entry called by OpenClaw.
  • Geode.app: the worker app, launched with --worker.
  • Shared storage: the App Group container group.com.privycloudless.privyecho.

If the Geode app is not installed, OpenClaw should guide the user to install it from the Mac App Store:

  • App Store URL (macOS): https://apps.apple.com/app/apple-store/id6752685916?pt=127800752&ct=openclaw&mt=8

1. Shared Paths

Both GeodeCLI and Geode.app use the same App Group container:

  • App Group ID: group.com.privycloudless.privyecho
  • Shared root: ~/Library/Group Containers/group.com.privycloudless.privyecho/
  • Recommended audio inbox: ~/Library/Group Containers/group.com.privycloudless.privyecho/CLIInbox/
  • Task JSON directory: ~/Library/Group Containers/group.com.privycloudless.privyecho/CLITasks/
  • Transcript / summary output directory: ~/Library/Group Containers/group.com.privycloudless.privyecho/CLITranscriptions/

If the source audio is outside the shared container, copy it into CLIInbox/ first.


2. Async API

2.1 Submit one task

OpenClaw should call the bundled GeodeCLI:

"/Applications/Geode.app/Contents/Helpers/GeodeCLI" --enqueue-transcription \
  --audio "/Users/.../Library/Group Containers/group.com.privycloudless.privyecho/CLIInbox/audio.m4a" \
  --language zh \
  [--format txt|md|docx] [--summary]

GeodeCLI auto-detects the enclosing Geode.app and launches Geode --worker automatically.

Only during development or non-default installs, you may need:

"/path/to/GeodeCLI" --enqueue-transcription \
  --audio "/Users/.../CLIInbox/audio.m4a" \
  --language zh \
  --app-bundle "/path/to/Geode.app"

Behavior:

  • Async mode accepts exactly one --audio per task.
  • GeodeCLI persists a task JSON file into the App Group container.
  • GeodeCLI launches Geode --worker and returns immediately.

2.2 Success output

  • stdout: TASK_ID=\x3Cuuid>
  • exit code: 0

Example:

TASK_ID=123e4567-e89b-12d3-a456-426614174000

2.3 Error output

  • stderr: Error: \x3CCODE> plus optional English detail lines
  • Exit code:
    • 1: runtime error
    • 2: invalid arguments

Common async-specific codes:

  • TASK_CREATE_FAILED
  • TASK_READ_FAILED
  • WORKER_LAUNCH_FAILED

3. Query Status

After receiving a task id, OpenClaw should poll:

"/Applications/Geode.app/Contents/Helpers/GeodeCLI" --task-status 123e4567-e89b-12d3-a456-426614174000

3.1 Success output

  • stdout: one JSON object
  • Exit code: 0

Example:

{
  "id": "123e4567-e89b-12d3-a456-426614174000",
  "recordingId": "6a9b17c5-6c9d-4f0b-8401-f0d7f06a5e48",
  "audioPath": "/Users/.../Library/Group Containers/group.com.privycloudless.privyecho/CLIInbox/audio.m4a",
  "language": "zh",
  "outputFormat": "txt",
  "summarize": true,
  "status": "summarizing",
  "transcriptPath": "/Users/.../Library/Group Containers/group.com.privycloudless.privyecho/CLITranscriptions/audio_2026-03-18T07-00-00Z.txt",
  "summaryPath": null,
  "errorCode": null,
  "errorDetail": null,
  "workerId": "pid-12345",
  "createdAt": "2026-03-18T07:00:00Z",
  "updatedAt": "2026-03-18T07:02:10Z",
  "startedAt": "2026-03-18T07:00:02Z",
  "finishedAt": null
}

3.2 Status values

Status Meaning
queued Task is persisted and waiting for a worker.
running Transcription is in progress.
summarizing Transcript is written; AI summary is still running.
succeeded Task completed successfully.
failed Task failed. Check errorCode / errorDetail.
cancelled Reserved for future use.

3.3 Task status error

  • stderr: Error: TASK_NOT_FOUND
  • Exit code: 1

4. Common Error Codes

These codes may appear in task status JSON:

Code Meaning
INVALID_ARGS Missing required arguments or invalid usage.
AUDIO_NOT_FOUND Audio file does not exist.
AUDIO_UNREADABLE Audio file cannot be opened.
NOT_LOGGED_IN User is not logged in to Geode.
INSUFFICIENT_QUOTA Not enough transcription quota.
EMPTY_RESULT Transcription returned no text.
OUTPUT_DIR_CREATE_FAILED Failed to create the output directory.
OUTPUT_WRITE_FAILED Failed to write an output file.
TRANSCRIPTION_FAILED Internal transcription failure.
SUMMARY_NOT_LOGGED_IN User is not logged in for AI summary.
SUMMARY_INSUFFICIENT_QUOTA Not enough AI summary quota.
SUMMARY_FAILED AI summary generation failed.
WORKER_INTERRUPTED The worker stopped before finishing the task.

5. Recommended Workflow

When the user wants to transcribe an audio file and later retrieve the result:

  1. Copy the source audio into: ~/Library/Group Containers/group.com.privycloudless.privyecho/CLIInbox/
  2. Call: /Applications/Geode.app/Contents/Helpers/GeodeCLI --enqueue-transcription --audio "P" --language \x3Clang> [--format ...] [--summary]
  3. Read TASK_ID=\x3Cuuid> from stdout.
  4. Poll: /Applications/Geode.app/Contents/Helpers/GeodeCLI --task-status \x3Cuuid>
  5. When status becomes succeeded:
    • read transcriptPath
    • read optional summaryPath
    • copy result files to the user-requested destination if needed
  6. When status becomes failed:
    • use errorCode for branching logic
    • use errorDetail for logs or user-facing context

Recommended polling behavior:

  • first poll after 1 to 2 seconds
  • then every 2 to 5 seconds
  • stop polling when status is succeeded, failed, or cancelled

6. Summary

  • OpenClaw should call the bundled GeodeCLI inside Geode.app for async submission and status polling.
  • GeodeCLI returns TASK_ID=\x3Cuuid> immediately.
  • Geode.app performs the actual transcription in --worker mode.
  • Audio, task JSON, transcript, and summary files all live in the shared App Group container.

7. Agent Instructions

  • This skill is designed for asynchronous transcription. Tasks may take a long time to complete.

Submission behavior

  • When the user requests audio transcription, use --enqueue-transcription to submit a task.
  • Always return the TASK_ID immediately after submission.
  • Do NOT wait for transcription to finish (non-blocking behavior).
  • After submission, allow the conversation to continue normally.

Progress & retrieval

  • Only check task status when:
    • the user explicitly asks for progress or results, OR
    • you proactively decide to check in the background (without blocking the user conversation).
  • Poll task status using --task-status \x3CTASK_ID>.

While task is running

  • If the task is still in queued, running, or summarizing:
    • Inform the user that the task is still in progress.
    • Suggest checking again later.
    • Do NOT block or repeatedly poll in a tight loop.

Completion

  • When status is succeeded:
    • Return the transcriptPath.
    • Return summaryPath if available.

Failure handling

  • When status is failed:
    • Explain the failure using errorCode.
    • Include errorDetail if available.
    • Suggest corrective actions if applicable (e.g., login, quota, file issues).

Environment handling

  • If the Geode app is not installed:
    • Guide the user to install it from the App Store before retrying.
安全使用建议
This skill is an instruction-only integration that calls a local macOS helper app (Geode.app). Before installing or using it: 1) Verify the provenance of Geode.app — prefer installing it from a trusted source (the App Store link is present, but the skill has no verified homepage or source repo). 2) Confirm whether the summary feature runs fully on-device or requires logging into a cloud service (the error codes imply a login/quota); if you require strict local-only processing, validate this with the vendor or by testing offline. 3) Inspect the App Group container (~/Library/Group Containers/group.com.privycloudless.privyecho/) after a test run — transcripts/summaries will be written there and may contain sensitive data. 4) Test the CLI commands manually before allowing an agent to invoke them autonomously. 5) If provenance or cloud-dependence cannot be confirmed, treat the skill as potentially privacy-impacting and consider not installing it or limiting its use. Additional useful info to reduce uncertainty: a link to the official Geode source or vendor, documentation clarifying local vs cloud summary behavior, and a signed binary distributed from a trusted developer account.
功能分析
Type: OpenClaw Skill Name: geode-transcribe Version: 1.0.0 The skill provides an integration for the 'Geode' macOS application to perform local audio transcription and summarization. It is classified as suspicious because the `submit_transcription` tool in `skill.json` is vulnerable to shell command injection; the `audio_path` parameter is interpolated directly into a command string without sanitization. While the instructions in `SKILL.md` and `README.md` describe a legitimate and privacy-focused workflow, the underlying tool definition presents a significant security risk if the agent processes untrusted file paths.
能力评估
Purpose & Capability
The skill claims on-device transcription/summarization and the instructions exclusively call a local CLI bundled with a macOS app (/Applications/Geode.app/Contents/Helpers/GeodeCLI) and use an App Group container for input/output — which is coherent for a macOS-only, on-device tool. However, README/SKILL.md assert 'privacy-first' and 'all processing happens locally' while the documented error codes include SUMMARY_NOT_LOGGED_IN and SUMMARY_INSUFFICIENT_QUOTA, implying an account/quota or cloud-backed AI summary. Also the published metadata lacks a real homepage/source repository (skill.json contains a placeholder), which weakens provenance.
Instruction Scope
Runtime instructions are narrowly scoped: copy audio into the App Group inbox, run the bundled GeodeCLI to enqueue a single audio file, and poll the CLI for status and output file paths. The instructions do not ask the agent to read unrelated system files, environment variables, or send data to remote endpoints. They do rely on writing/reading files under ~/Library/Group Containers/... which is expected for an App Group integration.
Install Mechanism
There is no install spec and no code files — the skill is instruction-only and expects the preinstalled Geode.app/GeodeCLI. This is low-risk from an install perspective, but it means trust is shifted to the external Geode.app binary (which the skill does not provide or verify).
Credentials
The skill requests no environment variables or credentials, which is appropriate. But the error codes referencing login/quota for summaries suggest that parts of the summary feature may require an account or networked service; that capability is not declared or explained in the metadata and contradicts the 'local-only' privacy claim.
Persistence & Privilege
The skill does not request 'always: true' and does not modify other skills or system-wide settings. It interacts only with a local App Group path and the bundled app/CLI, which is within expected privileges for a local helper integration.
如何使用
  1. 确保已安装 OpenClaw(本地或 Docker 部署)
  2. 在对话框中输入安装命令:/install geode-transcribe
  3. 安装完成后,直接呼叫该 Skill 的名称或使用 /geode-transcribe 触发
  4. 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
- Initial release of Geode On-device Transcribe & Summary skill. - Enables asynchronous transcription and summarization of audio/video files locally via GeodeCLI and Geode.app integration. - Uses a shared App Group container for file exchange and task tracking. - Provides clear task management: submit, poll status, retrieve results, and handle errors. - Includes detailed agent instructions for submission, progress updates, completion handling, and environment checks (including prompts to install the Geode app if missing).
元数据
Slug geode-transcribe
版本 1.0.0
许可证 MIT-0
累计安装 0
当前安装数 0
历史版本数 1
常见问题

Geode On-device Transcribe & Summary 是什么?

Transcribe and summarize audio/video files locally. Unlimited usage at a flat rate for heavy users. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 74 次。

如何安装 Geode On-device Transcribe & Summary?

在 OpenClaw 或 Claude Code 对话框中运行命令「/install geode-transcribe」即可一键安装,无需额外配置。

Geode On-device Transcribe & Summary 是免费的吗?

是的,Geode On-device Transcribe & Summary 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。

Geode On-device Transcribe & Summary 支持哪些平台?

Geode On-device Transcribe & Summary 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。

谁开发了 Geode On-device Transcribe & Summary?

由 geodeteam(@geodeteam)开发并维护,当前版本 v1.0.0。

💬 留言讨论