Token导航 LogoToken导航

Agent Skill · 研究检索

letta-app-development(莱塔应用程序开发)

letta-app-development 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

letta-app-development 是研究检索类 Agent Skill,可用宿主为 Codex、Claude、Cursor、Gemini CLI,通过GitHub 仓库获取,权限为接触敏感数据;许可证为 MIT,暂无第三方扫描结果,按安装量在研究检索类的 73,675 个 Skill 里排第 58,150。

总安装 420周安装 17GitHub Stars 93下载 132核验 2026-05-01

安装说明

本站只整理中文说明,不托管安装包,也不代用户安装。
GitHub
许可证
MIT

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:letta-app-development(莱塔应用程序开发)
来源仓库:https://github.com/letta-ai/skills
仓库路径:skills/letta-app-development
安装命令:
npx skills add https://github.com/letta-ai/skills --skill letta-app-development
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/letta-ai/skills --skill letta-app-development

这个 Skill 是做什么的

研究检索类 Skill 主要解决「找资料、核对事实、把来源整理清楚」的问题,通常会让助手先检索再总结。

letta-app-development 用于查找、检索和筛选相关信息。适合在 Codex、Claude、Cursor、Gemini CLI 中根据关键词或任务场景快速定位候选结果。通过 npx skills add 命令从 GitHub 仓库安装并使用。安装前需确认权限范围、维护状态,以及是否触发联网或文件操作。

建议结合原始 README 和仓库内容核验具体用法和功能边界。

来源仓库内路径:skills/letta-app-development

上手步骤

4 步
  1. 1

    确认自己的宿主工具

    公开资料标注支持 Codex、Claude、Cursor、Gemini CLI;先确认自己用的是其中之一,再按对应工具的 Skills 目录放置。

  2. 2

    拿到安装命令

    可以直接复制的命令是 npx skills add https://github.com/letta-ai/skills --skill letta-app-development;命令里的占位符换成自己的路径或密钥再执行。

  3. 3

    安装后重启宿主

    命令执行完要完全退出宿主工具再打开,让新装的 Skill 被重新扫描到,否则列表里可能看不到。

  4. 4

    按最小权限试用

    它需要接触敏感数据,先在测试目录或测试账号里跑,确认没问题再放到正式项目。

常见问题

6 条

letta-app-development 怎么安装?

在终端执行 npx skills add https://github.com/letta-ai/skills --skill letta-app-development。装完完全退出宿主工具再打开,让它重新扫描本地 Skill。

letta-app-development 支持哪些 AI 工具?

公开资料标注支持 Codex、Claude、Cursor、Gemini CLI。其他工具只要能读取本地 Skill 目录,一般也能手动放进去,但要自己确认触发方式是否一致。

letta-app-development 需要什么权限?

权限级别是接触敏感数据。该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

letta-app-development 是免费的吗?

来源标注的许可证是 MIT。本站不代收任何费用,也不托管安装包;能否商用、要不要署名,以许可证原文为准。

letta-app-development 用的人多吗?

公开数据是累计安装 420 次,近一周安装 17 次,下载 132 次,GitHub 93 星。这些数字来自第三方目录统计,只能当作热度参考,不代表质量或安全性。

letta-app-development 安全吗?

没有查到第三方扫描结果,安全性无法从公开资料判断,安装前请自行审查源码、依赖和命令行为。

值得选的地方和要先想清楚的地方

值得选的地方

  • 同时适配 4 种工具,换客户端不用重新找替代品。
  • 3 个目录同时收录,说明这个 Skill 流传比较广。
  • 许可证明确为 MIT,商用和分发边界好判断。

先想清楚的地方

  • 需要接触敏感数据,装到常用环境前要先评估影响面。
  • 没有第三方扫描结果,安全性只能靠自己读源码判断。
  • 第三方目录整理,版本更新和行为细节以来源仓库为准。

适不适合你

更适合

  • 已经在用 Codex,想直接扩展它能力的人。
  • 需要处理研究检索类任务、又不想每次都手写提示词的人。

不太适合

  • 环境里有大量密钥、凭证,不方便给第三方 Skill 读取的人。
  • 要求有安全扫描结论才肯安装的团队。
  • 需要厂商级技术支持和 SLA 的生产系统。

研究检索类 Skill 对比

6 个同类
Skill总安装GitHub 星权限许可证扫描
find-skills

寻找技能 · Codex、Claude

31,199,81316,486操作浏览器MIT有提醒
self-improving-agent

自我改进 Agent · OpenClaw

16,464,0023,396接触敏感数据MIT-0通过
soultrace

灵魂追踪 · Codex、Claude

7,588,94412需要联网未明确有提醒
self-improving

自我完善 · OpenClaw

6,829,2841,046需要联网MIT-0通过
microsoft-foundry

微软代工厂 · Codex、Claude

6,614,144764调用外部服务未明确有提醒
letta-app-development

莱塔应用程序开发 · 本页

42093接触敏感数据MIT未收录

按安装量取同分类前几名;数字来自第三方目录统计,只作热度参考,不代表质量结论。

SKILL.md 原文

Letta App Development Skill

Build applications on top of the Letta API — a model-agnostic, stateful API for building persistent agents with memory and long-term learning. The Letta API powers Letta Code and the Learning SDK. This skill covers the core patterns for creating agents, managing memory, building custom tools, and handling multi-user scenarios.

When to Use This Skill

  • Building applications that need persistent, stateful AI agents
  • Creating chatbots, assistants, or autonomous agents with memory
  • Integrating Letta into existing web/mobile applications
  • Building multi-user applications where each user has their own agent
  • Understanding the API layer that Letta Code and Learning SDK are built on

Quick Start

See getting-started.md for first-time setup and common onboarding issues.

SDK Versions Tested

Examples last tested with:

  • Python SDK: letta-client==1.7.1
  • TypeScript SDK: @letta-ai/letta-client@1.7.1

Core Concepts

1. Client Setup

See client-setup.md for initialization patterns:

  • Letta Cloud vs self-hosted connections
  • Environment variable management
  • Singleton patterns for web frameworks

2. Memory Architecture

See memory-architecture.md for memory patterns:

  • Core Memory Blocks: Always in-context (persona, human, custom blocks)
  • Archival Memory: Large corpus with semantic search
  • Conversation History: Searchable message history
  • Shared Blocks: Multi-agent coordination

3. Custom Tools

See custom-tools.md for tool creation:

  • Simple function tools with auto-generated schemas
  • Tools with environment variable secrets
  • BaseTool class for complex schemas
  • Sandboxed execution requirements

4. Client-Side Tools

See client-side-tools.md for local tool execution:

  • Execute tools on your machine while agent runs on Letta API
  • How Letta Code runs Bash/Read/Write locally
  • Approval-based flow with type: "tool" responses
  • Access local files, databases, and private APIs

5. Client Injection & Secrets

See client-injection.md for server-side tool patterns:

  • Pre-injected client variable on Letta Cloud
  • Building custom memory tools that modify agent state
  • Agent secrets via os.getenv()
  • LETTA_AGENT_ID for self-referential tools

6. Multi-User Patterns

See multi-user.md for scaling:

  • One agent per user (personalization)
  • Shared agent with Conversations API
  • Identity system for user context

7. Streaming

See streaming.md for real-time responses:

  • Basic SSE streaming
  • Long-running operations with include_pings
  • Background execution and resumable streams

8. Conversations

Conversations enable parallel sessions with shared memory:

  • Thread-safe concurrent messaging (agents.messages.create is NOT thread-safe)
  • Shared memory blocks across all conversations
  • Separate context windows per conversation
  • Use for: same user with multiple parallel tasks, multi-threaded applications

9. Sleeptime Agents

See sleeptime.md for background memory processing:

  • Enable with enable_sleeptime=True
  • Background agent refines memory between conversations
  • Good for agents that learn over time

10. Agent Files & Folders

See agent-files.md for portability and file access:

  • Export/import agents with .af files
  • Attach folders to give agents document access
  • Migration checklist for moving agents

11. Tool Rules

See tool-rules.md for constraining tool execution:

  • InitToolRule - Force a tool to run first
  • ChildToolRule - Control which tools can follow
  • TerminalToolRule - End agent turn after tool
  • Sequential pipelines and approval workflows

Quick Reference

Python SDK

pip install letta-client
from letta_client import Letta

# Cloud
client = Letta(api_key="LETTA_API_KEY")

# Self-hosted
client = Letta(base_url="http://localhost:8283")

TypeScript SDK

npm install @letta-ai/letta-client
import { Letta } from "@letta-ai/letta-client";

// Cloud
const client = new Letta({ apiKey: process.env.LETTA_API_KEY });

// Self-hosted
const client = new Letta({ baseUrl: "http://localhost:8283" });

Examples

See the examples/ directory for runnable code:

Python:

  • 01_basic_client.py - Client initialization
  • 02_create_agent.py - Agent creation with memory blocks
  • 03_custom_tool_simple.py - Basic custom tool
  • 04_custom_tool_secrets.py - Tool with environment variables
  • 05_send_message.py - Basic messaging
  • 06_send_message_stream.py - Streaming responses
  • 07_multi_user.py - Multi-user patterns
  • 08_archival_memory.py - Archival memory operations
  • 09_shared_blocks.py - Multi-agent shared memory
  • 10_conversations.py - Parallel sessions with conversations
  • 11_client_injection.py - Custom memory tools with injected client
  • 12_tool_rules.py - Constraining tool execution order
  • 13_client_side_tools.py - Execute tools locally (like Letta Code)

TypeScript:

  • 01_basic_client.ts - Client initialization
  • 02_create_agent.ts - Agent creation
  • 03_send_message.ts - Basic messaging
  • 04_send_message_stream.ts - Streaming
  • 05_nextjs_singleton.ts - Next.js pattern
  • 06_multi_user.ts - Multi-user patterns
  • 07_conversations.ts - Parallel sessions
  • 08_custom_tool.ts - Custom tools with secrets
  • 09_archival_memory.ts - Long-term storage
  • 10_shared_blocks.ts - Multi-agent shared memory
  • 11_client_injection.ts - Custom memory tools
  • 12_tool_rules.ts - Tool execution order
  • 13_client_side_tools.ts - Execute tools locally (like Letta Code)

Troubleshooting

ErrorCauseFix
401 UnauthorizedInvalid or missing API keyCheck LETTA_API_KEY env var
422 Validation ErrorMissing required fieldAdd model, embedding, or memory_blocks
Tool not foundTool not attached to agentclient.agents.tools.attach(agent_id, tool_id)
os.getenv() returns NoneSecret not configuredAdd to agent via secrets parameter
524 TimeoutLong operation without pingsAdd include_pings=True to streaming
Agent not respondingModel issue or empty responseCheck for assistant_message type in response
Memory block not updatingLooking at wrong agentVerify agent_id matches
Import error in toolTop-level importMove imports inside function body

Key Gotchas

  1. Imports in tools must be inside the function - Tools run in a sandbox without access to top-level imports
  2. Use os.getenv() for secrets - Don't pass sensitive data as function arguments
  3. On Cloud, use injected client - Don't instantiate Letta() inside tools, use the pre-injected client
  4. Memory blocks are character-limited - Use archival memory for large data
  5. Streaming requires include_pings=True for long operations - Prevents timeout on Cloud
  6. SDK 1.0 uses .update() not .modify() - Method was renamed
  7. LETTA_AGENT_ID is always available - Use it in tools to reference the current agent
  8. Archival tools need include_base_tools=True - Not attached by default
  9. Use memory_insert for shared blocks - Safest for concurrent writes (append-only)
  10. Tool docstrings require Args section - Parameters need descriptions or schema generation fails

TypeScript SDK Notes

// Client initialization uses baseURL (not baseUrl)
const client = new Letta({ apiKey: "...", baseURL: "http://localhost:8283" });

// Block API: positional args changed
client.agents.blocks.attach(blockId, { agent_id });      // blockId is first
client.agents.blocks.retrieve(blockLabel, { agent_id }); // label is first

// Passages.create returns array
const passages = await client.agents.passages.create(agentId, { text: "..." });
const passage = passages[0];

// Content can be string | array - use type guard
const content = typeof msg.content === "string" ? msg.content : JSON.stringify(msg.content);

// Conversations API returns streams by default
const stream = await client.conversations.messages.create(convId, { messages: [...] });
for await (const chunk of stream) { ... }

// Tool rule types
{ type: "run_first", tool_name: "..." }           // InitToolRule
{ type: "constrain_child_tools", tool_name: "...", children: [...] } // ChildToolRule
{ type: "exit_loop", tool_name: "..." }           // TerminalToolRule

Quick Reference

# Client
client = Letta(api_key=os.getenv("LETTA_API_KEY"))

# Create agent
agent = client.agents.create(
    model="anthropic/claude-sonnet-4-5-20250929",
    embedding="openai/text-embedding-3-small",
    memory_blocks=[{"label": "persona", "value": "..."}],
    include_base_tools=True,  # archival memory tools
    enable_sleeptime=True,    # background memory processing
)

# Send message
response = client.agents.messages.create(
    agent_id=agent.id,
    messages=[{"role": "user", "content": "Hello"}]
)

# Stream response
stream = client.agents.messages.stream(
    agent_id=agent.id,
    messages=[{"role": "user", "content": "Hello"}],
    stream_tokens=True,
    include_pings=True,  # prevent timeout
)

# Create tool
tool = client.tools.create(source_code="def my_tool(x: str) -> str: ...")
client.agents.tools.attach(agent_id=agent.id, tool_id=tool.id)

# Memory blocks
client.agents.blocks.retrieve(agent_id=agent.id, block_label="persona")
client.agents.blocks.update(agent_id=agent.id, block_label="persona", value="...")

# Folders
folder = client.folders.create(name="docs")
client.folders.files.upload(file=f, folder_id=folder.id)
client.agents.folders.attach(agent_id=agent.id, folder_id=folder.id)

# Conversations (parallel sessions)
conv = client.conversations.create(agent_id=agent.id)
stream = client.conversations.messages.create(conv.id, messages=[...])

# Agent secrets (for tools)
client.agents.update(agent_id=agent.id, secrets={"API_KEY": "..."})

Resources

Platform:

Documentation:

SDKs:

Examples:

平台分布

Claude Code

29.72%
按下载量换算39

Codex

22.28%
按下载量换算29

OpenCode

18.28%
按下载量换算24

Gemini CLI

11.96%
按下载量换算16

Antigravity

8.34%
按下载量换算11

Cursor

3.45%
按下载量换算5

安全审计

暂无安全审计结果可展示。

权限和风险

接触敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

继续浏览同类 Skills