2026-07-14 17:19:31 +08:00
|
|
|
# Code Architecture
|
|
|
|
|
|
|
|
|
|
- plyngent
|
|
|
|
|
- typedef: Shared type aliases.
|
|
|
|
|
- lmproto: Protocols for interacting with LLM service.
|
|
|
|
|
- (common)
|
|
|
|
|
- model: Messages models of specified providers.
|
|
|
|
|
- config: Configurations for specified providers.
|
|
|
|
|
- client: Clients for accessing existent specified services.
|
|
|
|
|
- server: Servers for accepting other clients.
|
2026-08-01 00:34:48 +08:00
|
|
|
- openai_compatible: Chat Completions base (``kind=chat_completions``).
|
|
|
|
|
- openai: Platform Responses + chat (``kind=responses``).
|
|
|
|
|
- anthropic: Messages API (``kind=messages``).
|
2026-07-14 17:19:31 +08:00
|
|
|
- deepseek
|
2026-08-01 02:32:45 +08:00
|
|
|
- openai_compat (``kind=chat_completions``)
|
|
|
|
|
- responses (``kind=responses``; DeepSeek Responses API)
|
|
|
|
|
- anthropic (``kind=messages``; DeepSeek Anthropic-compatible API on
|
|
|
|
|
``https://api.deepseek.com/anthropic``)
|
2026-07-14 17:19:31 +08:00
|
|
|
- utils: Common utilities for code architecture.
|
|
|
|
|
- components: Utilities for class composition.
|
|
|
|
|
- memory: Storage controlling for sessions and messages.
|
2026-07-24 20:20:30 +08:00
|
|
|
- config: Plyngent configuration center (TOML), including ``[plugins]`` and
|
2026-07-28 21:45:59 +08:00
|
|
|
``[networking]`` (e.g. fetch SSRF Fake-IP CIDR exemptions). Model entries
|
|
|
|
|
may override provider ``preset`` / ``url`` for mixed API routing.
|
2026-09-22 22:58:09 +08:00
|
|
|
``[skills]`` holds the skill roots, discovery sources, catalog limits, and
|
|
|
|
|
the standing write grant.
|
2026-08-01 00:34:48 +08:00
|
|
|
- runtime: ``create_client`` maps effective provider preset → protocol client.
|
2026-09-22 22:58:09 +08:00
|
|
|
- skills: Skill discovery (ordered roots, ``SKILL.md`` frontmatter subset,
|
|
|
|
|
mtime-cached store) and the read/write path rules the tools use.
|
2026-08-01 00:34:48 +08:00
|
|
|
- agent: Kind-based tool loop, streaming, usage, compact; bridges:
|
|
|
|
|
``responses_bridge``/``responses_dispatch``, ``messages_bridge``/``messages_dispatch``;
|
|
|
|
|
``@tool`` / tags / registry. History stays chat-completions-shaped.
|
2026-09-22 22:58:09 +08:00
|
|
|
- tools: Workspace file/process/VCS/chat/todo/net/skill tools + directory-access
|
2026-09-09 22:24:44 +08:00
|
|
|
grants (`access`); catalog; plugins; instance/session context and views.
|
2026-10-21 20:03:36 +08:00
|
|
|
- prompting: Shared ask/choose/form for CLI and tools; the hooks a host uses
|
|
|
|
|
to take over a prompt (output break, SIGINT guard, waiting notification).
|
|
|
|
|
- cli: Click entry, slash registry, REPL, one-shot chat; `notify` announces a
|
|
|
|
|
prompt that waits on the human.
|
2026-07-15 13:51:11 +08:00
|
|
|
- web: Web service (Phase H; not implemented).
|
2026-07-14 17:19:31 +08:00
|
|
|
|
2026-07-24 16:19:50 +08:00
|
|
|
Plugins (third-party entry points, allowlisted under ``[plugins]``): [plugins.md](./plugins.md).
|
2026-10-17 17:37:22 +08:00
|
|
|
Conversation units (a *round* = one request→response plus its tool batch, a
|
|
|
|
|
*turn* = a user message to the explicit stop): [turns-and-rounds.md](./turns-and-rounds.md).
|
2026-10-21 18:52:14 +08:00
|
|
|
Images (a turn's pictures, a tool result's pictures, what each wire surface
|
|
|
|
|
takes): [images.md](./images.md).
|
2026-10-21 20:03:36 +08:00
|
|
|
Prompt notifications (a prompt that waits on the human, and how it can be
|
|
|
|
|
answered from the notification): [notifications.md](./notifications.md).
|
2026-10-21 20:25:27 +08:00
|
|
|
Deletes (a `delete_path` call moves the path into the system trash, and what
|
|
|
|
|
that does not cover): [trash.md](./trash.md).
|
2026-07-24 16:05:10 +08:00
|
|
|
|