Token导航 LogoToken导航TokenDH.com
研究检索需要联网github未标认证来源可访问许可证需确认审计通过

migrate-honcho-ts迁移本乔 ts

Agent Skill

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

总安装

1,936

周安装

117

GitHub Stars

3,092

下载量

1,132
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

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

请帮我安装这个 Agent Skill:migrate-honcho-ts(迁移本乔 ts)
来源仓库:https://github.com/plastic-labs/honcho
仓库路径:skills/migrate-honcho-ts
安装命令:
npx skills add https://github.com/plastic-labs/honcho --skill migrate-honcho-ts
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/plastic-labs/honcho --skill migrate-honcho-ts

简介

用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位候选结果。

  • 适用于需要根据关键词或任务场景进行信息检索的场景,支持多宿主环境。
  • 通过 npx skills add 命令从 GitHub 仓库安装,需确认权限和维护状态。
  • 建议结合原始 README 核验用法,注意是否会触发联网或文件读写操作。
  • migrate-honcho-ts 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Honcho TypeScript SDK Migration (v1.6.0 → v2.1.1)

Overview

This skill migrates code from @honcho-ai/sdk v1.6.0 to v2.1.1 (required for Honcho 3.0.0+).

Key breaking changes:

  • @honcho-ai/core dependency removed
  • "Observation" → "Conclusion" terminology
  • "Deriver" → "Queue" terminology
  • getConfig/setConfiggetConfiguration/setConfiguration
  • snake_casecamelCase throughout
  • Streaming via chatStream() instead of chat({stream: true})
  • Representation class removed (returns string now)

Quick Migration

1. Update dependencies

Remove @honcho-ai/core from package.json. The SDK now has its own HTTP client.

2. Replace .core with .http

// Before
const workspace = await client.core.workspaces.getOrCreate({ id: 'my-workspace' })

// After
const response = await client.http.post('/v3/workspaces', { body: { id: 'my-workspace' } })

3. Rename configuration methods

// Before
await honcho.getConfig()
await honcho.setConfig({ key: 'value' })
await peer.getConfig()
await session.getConfig()

// After
await honcho.getConfiguration()
await honcho.setConfiguration({ reasoning: { enabled: true } })
await peer.getConfiguration()
await session.getConfiguration()

4. Rename listing methods

// Before
const peers = await honcho.getPeers()
const sessions = await honcho.getSessions()
const workspaces = await honcho.getWorkspaces()  // string[]

// After
const peers = await honcho.peers()
const sessions = await honcho.sessions()
const workspaces = await honcho.workspaces()  // Page<string>

5. Update streaming

// Before
const stream = await peer.chat('Hello', { stream: true })

// After
const stream = await peer.chatStream('Hello')

6. Update observations → conclusions

// Before
peer.observations
peer.observationsOf('bob')
maxObservations: 50
includeMostDerived: true

// After
peer.conclusions
peer.conclusionsOf('bob')
maxConclusions: 50
includeMostFrequent: true

7. Update queue status methods

// Before
await honcho.getDeriverStatus({ observer: peer })
await honcho.pollDeriverStatus({ timeoutMs: 60000 })  // REMOVE - see note below

// After
await honcho.queueStatus({ observer: peer })
// pollDeriverStatus() has no replacement - see note below

Important: pollDeriverStatus() and its polling pattern have been removed entirely. Do not rely on the queue ever being empty. The queue is a continuous processing system—new messages may arrive at any time, and waiting for "completion" is not a valid pattern. If your code previously polled for queue completion, redesign it to work without that assumption.

8. Convert snake_case to camelCase

// Before
message.peer_id
message.session_id
message.created_at
message.token_count
{ observe_me: true, observe_others: false }
{ created_at: '2024-01-01' }

// After
message.peerId
message.sessionId
message.createdAt
message.tokenCount
{ observeMe: true, observeOthers: false }
{ createdAt: '2024-01-01' }

9. Update representation calls

// Before
const rep = await peer.workingRep(session, target, options)
console.log(rep.explicit)  // ExplicitObservation[]
console.log(rep.deductive) // DeductiveObservation[]

// After
const rep = await peer.representation({ session, target, ...options })
console.log(rep)  // string

10. Move updateMessage to session

// Before
await honcho.updateMessage(message, metadata, session)

// After
await session.updateMessage(message, metadata)

11. Update card() to getCard() (v2.0.1+)

// Before
const card = await peer.card(target)

// After (v2.0.1+)
const card = await peer.getCard(target)  // Returns string[] | null

// peer.card() still works but is deprecated — use getCard()

// New: setPeerCard / setCard
await peer.setCard(['Prefers dark mode', 'Located in US'])

12. Strict input validation (v2.0.2+)

Client constructor and all input schemas now reject unknown options via .strict() Zod validation.

// Before (v2.0.1 and earlier) — silently ignored
const honcho = new Honcho({ baseUrl: 'http://...' })  // typo: baseUrl vs baseURL — silently fell back to default

// After (v2.0.2+) — throws ZodError
const honcho = new Honcho({ baseUrl: 'http://...' })  // ZodError! Use baseURL

13. peer() and session() always make API calls (v2.1.0+)

Breaking: peer() and session() now always make a get-or-create API call. Previously, calling without metadata/configuration returned a lazy object with no API call.

// Before (v2.0.x) — no API call without options
const session = honcho.session('my-session')  // Lazy, no network request

// After (v2.1.0+) — always hits the API
const session = await honcho.session('my-session')  // Makes POST to /sessions (get-or-create)

14. New properties and methods (v2.1.0+)

// createdAt on Peer and Session
const peer = await honcho.peer('user-123')
console.log(peer.createdAt)  // string | undefined

const session = await honcho.session('sess-1')
console.log(session.createdAt)  // string | undefined

// isActive on Session
console.log(session.isActive)  // boolean | undefined

// getMessage() on Session
const msg = await session.getMessage('msg-id')

15. Pagination parameters on list methods (v2.1.0+)

All list methods now accept page, size, and reverse parameters:

// Before (v2.0.x) — only filters
const peers = await honcho.peers({ metadata: { role: 'admin' } })

// After (v2.1.0+) — pagination controls via options object
const peers = await honcho.peers({
  filters: { metadata: { role: 'admin' } },
  page: 2,
  size: 25,
  reverse: true
})

// Legacy raw-filter form still works:
const peers = await honcho.peers({ metadata: { role: 'admin' } })

// Works on: honcho.peers(), honcho.sessions(), honcho.workspaces(),
// peer.sessions(), session.messages(), scope.list()

16. searchQuery moved in context() (v2.1.0+)

Breaking: searchQuery removed from top-level context() options. Use representationOptions.searchQuery instead.

// Before (v2.0.x)
await session.context({ searchQuery: '...' })

// After (v2.1.0+)
await session.context({ representationOptions: { searchQuery: '...' } })

17. Broader fetch retry logic (v2.1.1+)

The SDK now retries on all TypeError network failures (connection resets, DNS errors, etc.) instead of only those with 'fetch' in the message. No code changes needed — this is transparent.

Quick Reference Table

v1.6.0v2.0.0
client.coreclient.http
getConfig()getConfiguration()
setConfig()setConfiguration()
getPeers()peers()
getSessions()sessions()
getWorkspaces()workspaces()
getDeriverStatus()queueStatus()
pollDeriverStatus()*Removed - do not poll*
peer.chat(q, {stream: true})peer.chatStream(q)
peer.workingRep()peer.representation()
peer.getContext()peer.context()
peer.observationspeer.conclusions
peer.observationsOf()peer.conclusionsOf()
session.getPeers()session.peers()
session.getMessages()session.messages()
session.getSummaries()session.summaries()
session.getContext()session.context()
session.workingRep()session.representation()
session.peerConfig()session.getPeerConfiguration()
session.setPeerConfig()session.setPeerConfiguration()
{timeoutMs: 60000}{timeout: 60000}
{maxObservations: 50}{maxConclusions: 50}
{includeMostDerived}{includeMostFrequent}
{lastUserMessage}{searchQuery}
{config:...}{configuration:...}
message.peer_idmessage.peerId
message.created_atmessage.createdAt
peer.card()peer.getCard() *(card() deprecated)*
*(new)*peer.setCard(string[])
ObservationConclusion
ObservationScopeConclusionScope
*(new v2.1.0)*peer.createdAt / session.createdAt
*(new v2.1.0)*session.isActive
*(new v2.1.0)*session.getMessage(id)
*(new v2.1.0)*page, size, reverse on list methods
context({searchQuery})context({representationOptions: {searchQuery}})

Detailed Reference

For comprehensive details on each change, see:

New Error Types

import {
  HonchoError,
  AuthenticationError,
  BadRequestError,
  NotFoundError,
  PermissionDeniedError,
  RateLimitError,
  ConflictError,
  UnprocessableEntityError,
  ServerError,
  ConnectionError,
  TimeoutError
} from '@honcho-ai/sdk'

New Configuration Types

Configurations are now strongly typed:

await honcho.setConfiguration({
  reasoning: {
    enabled: true,
    customInstructions: 'Be concise'
  },
  peerCard: { use: true, create: true },
  summary: {
    enabled: true,
    messagesPerShortSummary: 20,
    messagesPerLongSummary: 60
  },
  dream: { enabled: true }
})

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

37.23%
按下载量换算421

Claude

28.69%
按下载量换算325

Cursor

19.55%
按下载量换算221

Gemini CLI

8.28%
按下载量换算94

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills