- Introduced `ai_endpoint_mgr` plugin to manage multiple AI provider endpoints.
- Added configuration reference documentation for `config.toml`.
- Implemented endpoint loading, active endpoint switching, and model mutation.
- Included error handling for missing endpoints and configuration failures.
- Developed unit tests covering various scenarios including error paths and concurrency.
- Introduced `dstalk_lsp_plugin_test` for testing LSP plugin functionalities including `lsp_trim`, `lsp_frame_message`, and `lsp_parse_content_length`.
- Created `dstalk_frontend_common` static library to encapsulate shared initialization logic for frontend components (CLI, GUI, Web).
- Implemented configuration file discovery and service querying in `dstalk_frontend_init`.
- Added internal headers for LSP and Anthropic plugins to facilitate unit testing.
- Established a mailroom system for asynchronous message passing between stateless agents, enhancing coordination and context management.
- Implemented the OpenAI-compatible AI provider plugin, including configuration, chat, and chat_stream functionalities.
- Added support for SSE streaming and tool calls.
- Integrated Boost.JSON for JSON handling.
- Created CMake configuration for the plugin.
- Added error handling and logging throughout the plugin.
- Introduced comprehensive unit tests for the OpenAI plugin, covering SSE parsing, sentinel matching, delta extraction, request building, and more.
- Created a new markdown file detailing coding and naming conventions for the dstalk project, including guidelines for comments, naming rules, code organization, and memory management practices.
- Introduced a new Python script `check_agents_metadata.py` for validating agent metadata, including YAML parsing, rating ranges, and cross-references.
- Added usage instructions and exit codes for the script.
- Created a new markdown file `模块目录和功能说明.md` to outline the directory structure and functionality of the modules.
- Added a text file `说明此文件不可AI修改.txt` to specify that certain files should not be modified by AI, including important information about the `dstalk` framework and its modules.
- W12.1 context_plugin (engineer-zhou): wrap C ABI surface in try/catch,
add OOM-safe strdup_message_fields helper, make g_max_tokens drive
message-count trim (option A).
- W12.2 config refactor (architect-lin): introduce
plugins/config/include/toml_parse.h to eliminate 74-line parser
duplication; config_plugin delegates to host->config_get/set,
collapsing the dual-store data island; ConfigStore::get() now copies
via thread_local std::string to remove c_str() dangling under
concurrent set(). Zero ABI changes.
- W12.3 CLI command parsing (engineer-zhao): guard /clear and /context
on missing session service; refactor /file dispatch so bare
/file write hits usage instead of unknown-command.
- W12.4 build path unification (devops-hu): set per-target
RUNTIME_OUTPUT_DIRECTORY on dstalk-cli; remove stale
build/dstalk-cli/dstalk-cli.exe so build/bin/ is the sole binary.
- W12.5 STATUS.md auto-refresh (engineer-li): run W11.6 script to
regenerate STATUS from live profile/group data.
- W12.6 plugin-abi.md (writer-deng): add §8 exception safety across
ABI boundary and §9 string return lifetime; reference real
audit-found violations as anti-examples.
Verified: cmake build 0 error 0 warning, ctest 4/4 pass.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- agents/README.md documents company principles (first principles + practical
delivery), 6-stage collaboration flow, and two-tier governance: CEO has
highest priority and final say; work groups self-govern internally for
staffing, scheduling, technical choices within CEO-defined boundaries.
- 16 employees recruited to match CPU physical core count, enabling up to
16 subagents to run in parallel. Each profile.md has independent name,
background, strengths, weaknesses, and performance log.
- Roles: 1 CEO, 3 architects (lin/yang/huang), 5 engineers (zhao/chen/li/
zhou/sun), 3 QA (wang/liu/xu), 2 DevOps (ma/hu), 1 designer (zhu),
1 writer (deng), 1 security (cao).
- Five working groups defined under agents/groups/: grp-quality-core,
grp-ai-plugins, grp-cli-ux (B3), grp-build-matrix, grp-security-audit.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Architecture overhaul (Wave 1-4 collaborative work):
- Migrated dstalk-core from monolithic api.cpp to plugin-based design with
host/service_registry/event_bus/plugin_loader and topological initialization.
- Split public headers into dstalk_host.h / dstalk_services.h /
dstalk_lsp.h / dstalk_types.h; deleted obsolete dstalk_api.h and inlined
TLS/file/net code now provided by plugins.
- Added 9 plugins: deepseek, anthropic, network, session, context, tools,
config, file-io, lsp; AI plugins register as "ai.<provider>" services.
B3 CLI interaction enhancement:
- Prompt now shows current model name (A1).
- /status command prints model/base_url/api_key (sanitized: shown only
as set/unset)/services readiness (A2).
- SIGINT/Ctrl+C handled on POSIX (signal) and Windows (SetConsoleCtrlHandler);
/quit no longer std::exit(0) but sets a quit flag so dstalk_shutdown runs
exactly once via natural control flow (B1+B2).
- Cross-DLL free fixed: print_file uses dstalk_free instead of std::free (B4).
- --batch mode plus isatty auto-detection for piped stdin (C1).
- fgets truncation detection with friendly error and stdin draining (C3).
- Distinct exit codes (init/AI/service-unavailable) (C4).
- /model rejects empty model name (C5).
C2 smoke test extension:
- 4 new test blocks: null-safety (file_io/session/tools/config),
escape-boundary round-trip, tools->execute call chain, session robustness
(add(nullptr), clear -> token_count == 0).
C3 CI build scripts:
- scripts/ci-build.sh and scripts/ci-build.bat invoke cmake configure +
parallel build + ctest, suitable for GitHub Actions.
Build verified: dstalk-cli compiles, smoke test passes via ctest.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Simplifies the active Windows build path around Boost.Beast/OpenSSL, fixes VS2017/clang-cl compatibility, and removes unused BearSSL/WinHTTP remnants so the project builds and tests cleanly.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Align documented commands with the CLI, enable optional GUI/test targets, and remove committed API secrets so the project is safer to build and run.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Repair streaming callback/error handling and make file/session handling safer so the core API behaves correctly under real usage.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>