docs: README, example config, and Phase G completion notes

Document install, config, chat/one-shot, slash commands, workspace and
safety model. Add doc/plyngent.example.toml; refresh CLAUDE and architecture.
This commit is contained in:
2026-07-15 13:51:11 +08:00
parent 0dc5c876ee
commit fb61f6bc32
4 changed files with 238 additions and 25 deletions
+7 -8
View File
@@ -18,12 +18,11 @@
- utils: Common utilities for code architecture.
- components: Utilities for class composition.
- memory: Storage controlling for sessions and messages.
- router: Multi-source capability routing and interception.
- interceptors: Capability of stealing a few arguments for partial re-routing.
- ...
- config: Plyngent configuration center.
- agent: Agent capabilities and controlling.
- tools: Client code of tool calls.
- cli: CLI for chat/agent application.
- web: Web service for chat/agent application.
- router: Multi-source capability routing (Phase H; not implemented).
- config: Plyngent configuration center (TOML).
- agent: Tool loop, streaming, usage, compact.
- tools: Workspace file/process/VCS/chat tools.
- prompting: Shared ask/choose/form for CLI and tools.
- cli: Click entry, slash registry, REPL, one-shot chat.
- web: Web service (Phase H; not implemented).
+46
View File
@@ -0,0 +1,46 @@
# Example plyngent configuration (no real secrets).
# Copy to the path shown by: plyngent config path
# Then set access_key_or_token and adjust models.
# Optional. If omitted (or SQLite url is empty / ":memory:"), the CLI uses a
# durable file under the platform user data dir (e.g. ~/.local/share/plyngent/chat.db).
# [database]
# implementation = "sqlite"
# url = "/path/to/chat.db"
[agent]
system_prompt = "You are a careful coding assistant. Prefer small, verified edits."
max_tool_result_chars = 32000
parallel_tools = true
confirm_destructive = true
path_denylist = ["/secrets/", ".ssh/", ".gnupg/"]
# Soft context budget in estimated tokens (~4 chars/token when API usage missing).
max_context_tokens = 200000
# --- OpenAI-compatible (vLLM, LiteLLM, OpenAI, …) ---
[providers.openai_compat]
preset = "openai-compatible"
url = "https://api.openai.com/v1"
access_key_or_token = "sk-replace-me"
[providers.openai_compat.models]
"gpt-4o-mini" = { text = true, cost_factor = 1.0 }
# --- OpenAI preset (same client shape; tag is "openai") ---
# [providers.openai]
# preset = "openai"
# access_key_or_token = "sk-replace-me"
# url = "https://api.openai.com/v1"
#
# [providers.openai.models]
# "gpt-4o-mini" = { text = true }
# --- DeepSeek (OpenAI-compatible convention) ---
# [providers.deepseek]
# preset = "deepseek"
# access_key_or_token = "sk-replace-me"
# url = "https://api.deepseek.com"
# extras = { convention = "openai" }
#
# [providers.deepseek.models]
# "deepseek-chat" = { text = true }