Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
agent
command
|
|
|
bridge
command
|
|
|
channel
command
cmd/channel hosts external channel adapters, email receivers, and webhook endpoints as a standalone service.
|
cmd/channel hosts external channel adapters, email receivers, and webhook endpoints as a standalone service. |
|
gen-bridge-mtls
command
|
|
|
gen-codex-protocol
command
Command gen-codex-protocol regenerates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot in internal/agent/runtime/codex/protocolgen/schema.
|
Command gen-codex-protocol regenerates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot in internal/agent/runtime/codex/protocolgen/schema. |
|
internal/channel
Package channel assembles the shared command-side Channel module: registry/manager/processor, discuss pipeline, email, and webhook tunnel.
|
Package channel assembles the shared command-side Channel module: registry/manager/processor, discuss pipeline, email, and webhook tunnel. |
|
internal/core
Package core assembles the shared command-side domain and agent runtime providers used by the Memoh binaries (all-in-one, channel).
|
Package core assembles the shared command-side domain and agent runtime providers used by the Memoh binaries (all-in-one, channel). |
|
synccaps
command
Command synccaps enriches the hand-maintained conf/providers templates with reasoning capabilities (thinking_mode + reasoning_efforts) derived from the LiteLLM model registry.
|
Command synccaps enriches the hand-maintained conf/providers templates with reasoning capabilities (thinking_mode + reasoning_efforts) derived from the LiteLLM model registry. |
|
internal
|
|
|
agent/adapter/acpprofile
Package acpprofile adapts the ACP runtime profile registry to the stable turn contract consumed by Channel.
|
Package acpprofile adapts the ACP runtime profile registry to the stable turn contract consumed by Channel. |
|
agent/adapter/agentsession
Package agentsession adapts Chat thread metadata to the minimal descriptor consumed by the ACP runtime.
|
Package agentsession adapts Chat thread metadata to the minimal descriptor consumed by the ACP runtime. |
|
agent/adapter/channelcontact
Package channelcontact adapts Channel routes to Agent messaging contacts.
|
Package channelcontact adapts Channel routes to Agent messaging contacts. |
|
agent/adapter/channelidentity
Package channelidentity adapts Channel configuration data to the neutral platform identity projection consumed by Agent application orchestration.
|
Package channelidentity adapts Channel configuration data to the neutral platform identity projection consumed by Agent application orchestration. |
|
agent/adapter/channelmessaging
Package channelmessaging adapts Agent-owned messaging ports to the Channel delivery runtime.
|
Package channelmessaging adapts Agent-owned messaging ports to the Channel delivery runtime. |
|
agent/adapter/channelqueue
Package channelqueue adapts channel queue controls to the application service without exposing queue storage types to channels or RPC.
|
Package channelqueue adapts channel queue controls to the application service without exposing queue storage types to channels or RPC. |
|
agent/application
Package application orchestrates agent turns, including context assembly, persistence, memory, compaction, approvals, and runtime invocation.
|
Package application orchestrates agent turns, including context assembly, persistence, memory, compaction, approvals, and runtime invocation. |
|
agent/background
Package background implements a background task manager for long-running commands and subagent work.
|
Package background implements a background task manager for long-running commands and subagent work. |
|
agent/context/fragment
Package contextfrag defines the typed intermediate representation used to describe context before it is rendered into provider-specific SDK inputs.
|
Package contextfrag defines the typed intermediate representation used to describe context before it is rendered into provider-specific SDK inputs. |
|
agent/decision
Package decision holds app-layer decision DTOs and shared waiting primitives.
|
Package decision holds app-layer decision DTOs and shared waiting primitives. |
|
agent/decision/feedback
Package feedback defines stable user-facing External Agent errors.
|
Package feedback defines stable user-facing External Agent errors. |
|
agent/decision/input
Package-shared MCP form-elicitation core: translates an MCP elicitation requestedSchema into the strict ask_user question payload and maps the submitted answers back into schema-conformant content.
|
Package-shared MCP form-elicitation core: translates an MCP elicitation requestedSchema into the strict ask_user question payload and maps the submitted answers back into schema-conformant content. |
|
agent/event
Package event defines the stream events shared by agent runtimes and the conversation layer.
|
Package event defines the stream events shared by agent runtimes and the conversation layer. |
|
agent/event/payload
Package payload defines the on-wire shapes for agent-emitted events published to the chat event hub.
|
Package payload defines the on-wire shapes for agent-emitted events published to the chat event hub. |
|
agent/runtime/acp
Driver adapts the ACP session pool to the external runtime port, so ACP sits at the same level as the other out-of-process external agent runtimes (codex, claude-code) and the application keeps one turn orchestration for all of them.
|
Driver adapts the ACP session pool to the external runtime port, so ACP sits at the same level as the other out-of-process external agent runtimes (codex, claude-code) and the application keeps one turn orchestration for all of them. |
|
agent/runtime/acp/client
Package client manages Agent Control Protocol processes, sessions, and events.
|
Package client manages Agent Control Protocol processes, sessions, and events. |
|
agent/runtime/agentprocess
Package agentprocess provides the shared bridge-backed stdio process used by direct External Agent drivers.
|
Package agentprocess provides the shared bridge-backed stdio process used by direct External Agent drivers. |
|
agent/runtime/agentstate
Package agentstate defines the External Agent persistence contract for native session checkpoints: JSONL trees owned by an out-of-process runtime (an ACP agent, codex, claude-code) that Memoh snapshots to and restores from the database without making their opaque records part of the canonical chat timeline.
|
Package agentstate defines the External Agent persistence contract for native session checkpoints: JSONL trees owned by an out-of-process runtime (an ACP agent, codex, claude-code) that Memoh snapshots to and restores from the database without making their opaque records part of the canonical chat timeline. |
|
agent/runtime/claudecode
Database checkpointing for Claude Code sessions.
|
Database checkpointing for Claude Code sessions. |
|
agent/runtime/claudecode/claudecfg
Package claudecfg holds the Bot Agent configuration contract for the direct Claude Code runtime.
|
Package claudecfg holds the Bot Agent configuration contract for the direct Claude Code runtime. |
|
agent/runtime/codex
Package codex implements the direct codex app-server runtime driver: it speaks the v2 protocol (internal/agent/runtime/codex/protocol) to a pinned codex CLI running inside the bot workspace, with no ACP adapter in between.
|
Package codex implements the direct codex app-server runtime driver: it speaks the v2 protocol (internal/agent/runtime/codex/protocol) to a pinned codex CLI running inside the bot workspace, with no ACP adapter in between. |
|
agent/runtime/codex/codexcfg
Package codexcfg holds the Bot Agent configuration contract for the direct codex runtime.
|
Package codexcfg holds the Bot Agent configuration contract for the direct codex runtime. |
|
agent/runtime/codex/protocol
Package protocol implements the wire contract Memoh speaks with the codex app-server: JSON-RPC 2.0 semantics over newline-delimited JSON on stdio, with the `jsonrpc` version field omitted, as the app-server does.
|
Package protocol implements the wire contract Memoh speaks with the codex app-server: JSON-RPC 2.0 semantics over newline-delimited JSON on stdio, with the `jsonrpc` version field omitted, as the app-server does. |
|
agent/runtime/codex/protocolgen
Package protocolgen generates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot under schema/.
|
Package protocolgen generates the Go types for the codex app-server v2 protocol from the vendored JSON Schema snapshot under schema/. |
|
agent/runtime/external
Package external defines the neutral port between the agent application layer and out-of-process runtimes: Codex, Claude Code, and ACP agents.
|
Package external defines the neutral port between the agent application layer and out-of-process runtimes: Codex, Claude Code, and ACP agents. |
|
agent/runtime/session/ledger
Package ledger is the durable half of the session runtime: the record of which runs were admitted, who owns them, and how they ended.
|
Package ledger is the durable half of the session runtime: the record of which runs were admitted, who owns them, and how they ended. |
|
agent/runtime/toolmount
Package toolmount serves the Memoh tool gateway (HTTP MCP) into a bot workspace over the bridge's reverse-HTTP stream, so an external agent runtime inside the container reaches Memoh tools at the workspace-local proxy URL.
|
Package toolmount serves the Memoh tool gateway (HTTP MCP) into a bot workspace over the bridge's reverse-HTTP stream, so an external agent runtime inside the container reaches Memoh tools at the workspace-local proxy URL. |
|
agent/turn
Package turn defines the application-level contract for starting and observing agent turns.
|
Package turn defines the application-level contract for starting and observing agent turns. |
|
agentcredential
Package agentcredential stores Agent credentials encrypted at rest.
|
Package agentcredential stores Agent credentials encrypted at rest. |
|
apps
App apps installs Supermarket Apps into bot workspaces.
|
App apps installs Supermarket Apps into bot workspaces. |
|
audio/adapter/alibabacloud
Package alibabacloud implements DashScope's OpenAI-compatible Qwen ASR API.
|
Package alibabacloud implements DashScope's OpenAI-compatible Qwen ASR API. |
|
botbackup/secure
Package secure provides passphrase-based authenticated encryption for bot backup bundles.
|
Package secure provides passphrase-based authenticated encryption for bot backup bundles. |
|
capabilities
Package capabilities derives model reasoning capabilities (thinking mode and effort tiers) from the LiteLLM model registry.
|
Package capabilities derives model reasoning capabilities (thinking mode and effort tiers) from the LiteLLM model registry. |
|
channel
Package channel provides a unified abstraction for multi-platform messaging channels.
|
Package channel provides a unified abstraction for multi-platform messaging channels. |
|
channel/adapters/dingtalk
Package dingtalk implements the DingTalk channel adapter.
|
Package dingtalk implements the DingTalk channel adapter. |
|
channel/adapters/feishu
Package feishu implements the Feishu (Lark) channel adapter.
|
Package feishu implements the Feishu (Lark) channel adapter. |
|
channel/adapters/feishu/wsclient
Package wsclient is a Feishu/Lark long-connection websocket client.
|
Package wsclient is a Feishu/Lark long-connection websocket client. |
|
channel/adapters/local
Package local implements the CLI and Web channel adapters for local development.
|
Package local implements the CLI and Web channel adapters for local development. |
|
channel/adapters/misskey
Package misskey implements the Misskey channel adapter.
|
Package misskey implements the Misskey channel adapter. |
|
channel/adapters/telegram
Package telegram implements the Telegram channel adapter.
|
Package telegram implements the Telegram channel adapter. |
|
channel/common
Package common provides shared utilities for channel adapters.
|
Package common provides shared utilities for channel adapters. |
|
channel/partsfixture
Package partsfixture exposes the canonical Message.Parts fixture used by the cross-platform rendering regression tests.
|
Package partsfixture exposes the canonical Message.Parts fixture used by the cross-platform rendering regression tests. |
|
channel/publicmedia
Package publicmedia defines signed public image media paths shared by channel adapters and HTTP handlers.
|
Package publicmedia defines signed public image media paths shared by channel adapters and HTTP handlers. |
|
channelaccess
Package channelaccess wires together the global account binding (channel identity <-> web user) and the per-bot Manage capability, resolving the effective Manage as "local override ?? inherited from bound web member".
|
Package channelaccess wires together the global account binding (channel identity <-> web user) and the per-bot Manage capability, resolving the effective Manage as "local override ?? inherited from bound web member". |
|
chat/timeline
Package timeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events.
|
Package timeline implements the Deterministic Context Pipeline (DCP) for assembling LLM context from canonical IM events. |
|
connectors
Package connectors manages bot-scoped bindings to the trusted Connect-It deployment.
|
Package connectors manages bot-scoped bindings to the trusted Connect-It deployment. |
|
httpx
Package httpx holds tiny echo-boundary helpers shared by the server shell and HTTP handlers.
|
Package httpx holds tiny echo-boundary helpers shared by the server shell and HTTP handlers. |
|
i18n
Package i18n provides a tiny, zero-dependency localization catalog for the IM command UI (slash commands, inline-keyboard buttons, renderer chrome).
|
Package i18n provides a tiny, zero-dependency localization catalog for the IM command UI (slash commands, inline-keyboard buttons, renderer chrome). |
|
media/lottie
Package lottie rasterises Lottie animations — Telegram animated stickers in particular — without cgo, a native library or a helper process.
|
Package lottie rasterises Lottie animations — Telegram animated stickers in particular — without cgo, a native library or a helper process. |
|
memory/migrate
Package migrate contains utilities that convert existing markdown-backed memory content into the PostgreSQL wiki/graph schema (memory_nodes + memory_edges).
|
Package migrate contains utilities that convert existing markdown-backed memory content into the PostgreSQL wiki/graph schema (memory_nodes + memory_edges). |
|
memory/segment
Package segment tokenises memory text for lexical scoring, with first-class support for CJK (Chinese/Japanese) text.
|
Package segment tokenises memory text for lexical scoring, with first-class support for CJK (Chinese/Japanese) text. |
|
memory/wikistore
Package wikistore provides a graph store over the memory_nodes / memory_edges tables.
|
Package wikistore provides a graph store over the memory_nodes / memory_edges tables. |
|
reasoning
Package reasoning owns every decision about extended thinking: what a user may select for a model, and what a call actually sends upstream.
|
Package reasoning owns every decision about extended thinking: what a user may select for a model, and what a call actually sends upstream. |
|
runtimekind
Package runtimekind is the single owner of the session runtime vocabulary and of the capability table that says what each runtime kind supports.
|
Package runtimekind is the single owner of the session runtime vocabulary and of the capability table that says what each runtime kind supports. |
|
storage
Package storage defines the Provider interface for object storage backends.
|
Package storage defines the Provider interface for object storage backends. |
|
storage/providers/containerfs
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service.
|
Package containerfs implements storage.Provider for bot containers backed by gRPC calls to the in-container MCP service. |
|
storage/providers/fallback
Package fallback implements storage.Provider that tries a primary provider first (e.g.
|
Package fallback implements storage.Provider that tries a primary provider first (e.g. |
|
storage/providers/localfs
Package localfs implements storage.Provider backed by the host filesystem.
|
Package localfs implements storage.Provider backed by the host filesystem. |
|
team
Package team holds the default team identity used by self-hosted Memoh.
|
Package team holds the default team identity used by self-hosted Memoh. |
|
testutil/sessionledger
Package sessionledger supplies a shared in-memory ledger for runtime and application tests.
|
Package sessionledger supplies a shared in-memory ledger for runtime and application tests. |
|
testutil/sessionruntime
Package sessiontest creates admitted runtimes for tests outside the runtime package.
|
Package sessiontest creates admitted runtimes for tests outside the runtime package. |
|
toolcontext
Package toolcontext owns the request-scoped identity and lifecycle shared by every Memoh tool transport.
|
Package toolcontext owns the request-scoped identity and lifecycle shared by every Memoh tool transport. |
|
workdir
Package workdir manages named per-bot working directories.
|
Package workdir manages named per-bot working directories. |
|
workspace/bridge
Package bridge provides a gRPC client for the workspace container bridge service.
|
Package bridge provides a gRPC client for the workspace container bridge service. |
|
workspace/vpath
Package vpath resolves user-supplied paths under a virtual workspace root without consulting the host filesystem.
|
Package vpath resolves user-supplied paths under a virtual workspace root without consulting the host filesystem. |
|
workspacedeps
Package workspacedeps manages catalog dependencies inside each bot's isolated workspace.
|
Package workspacedeps manages catalog dependencies inside each bot's isolated workspace. |
|
workspacedeps/catalog
Package catalog validates immutable workspace dependency definitions.
|
Package catalog validates immutable workspace dependency definitions. |
|
Package spec Code generated by swaggo/swag.
|
Package spec Code generated by swaggo/swag. |
|
Package templates holds the built-in files seeded into every agent workspace on first boot: the AGENTS.md persona scaffold, memory notes, and the default .memoh directory (hooks, built-in skills).
|
Package templates holds the built-in files seeded into every agent workspace on first boot: the AGENTS.md persona scaffold, memory notes, and the default .memoh directory (hooks, built-in skills). |
Click to show internal directories.
Click to hide internal directories.