pub struct AcpConfig {Show 13 fields
pub enabled: bool,
pub agent_name: String,
pub agent_version: String,
pub max_sessions: usize,
pub session_idle_timeout_secs: u64,
pub broadcast_capacity: usize,
pub permission_file: Option<PathBuf>,
pub available_models: Vec<String>,
pub transport: AcpTransport,
pub http_bind: String,
pub auth_token: Option<String>,
pub discovery_enabled: bool,
pub lsp: AcpLspConfig,
}Expand description
ACP (Agent Communication Protocol) server configuration, nested under [acp] in TOML.
When enabled = true, Zeph exposes an ACP endpoint that IDE integrations (e.g. Zed, VS Code)
can connect to for conversational coding assistance. Supports stdio and HTTP transports.
§Example (TOML)
[acp]
enabled = true
transport = "stdio"
agent_name = "zeph"
max_sessions = 4Fields§
§enabled: boolEnable the ACP server. Default: false.
agent_name: StringAgent name advertised in the ACP initialize response. Default: "zeph".
agent_version: StringAgent version advertised in the ACP initialize response. Default: crate version.
max_sessions: usizeMaximum number of concurrent ACP sessions. Default: 4.
session_idle_timeout_secs: u64Seconds of inactivity before an idle session is closed. Default: 1800.
broadcast_capacity: usizeBroadcast channel capacity for streaming events. Default: 256.
permission_file: Option<PathBuf>Path to the ACP permission TOML file controlling per-session tool access.
available_models: Vec<String>List of {provider}:{model} identifiers advertised to the IDE for model switching.
Example: ["claude:claude-sonnet-4-5", "ollama:llama3"]
transport: AcpTransportTransport mode: “stdio” (default), “http”, or “both”.
http_bind: StringBind address for the HTTP transport.
auth_token: Option<String>Bearer token for HTTP and WebSocket transport authentication.
When set, all /acp and /acp/ws requests must include Authorization: Bearer <token>.
Omit for local unauthenticated access. TLS termination is assumed to be handled by a
reverse proxy.
discovery_enabled: boolWhether to serve the /.well-known/acp.json agent discovery manifest. Only effective when transport is “http” or “both”. Default: true.
lsp: AcpLspConfigLSP extension configuration ([acp.lsp]).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AcpConfig
impl<'de> Deserialize<'de> for AcpConfig
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<AcpConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<AcpConfig, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl Serialize for AcpConfig
impl Serialize for AcpConfig
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Auto Trait Implementations§
impl Freeze for AcpConfig
impl RefUnwindSafe for AcpConfig
impl Send for AcpConfig
impl Sync for AcpConfig
impl Unpin for AcpConfig
impl UnsafeUnpin for AcpConfig
impl UnwindSafe for AcpConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request