diff --git a/README.md b/README.md
index 2616c47..06045be 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
[中文说明](./README_zh.md)
@@ -26,29 +26,43 @@ TIA (short for "This Is AI") Studio is an Electron-based desktop app built to ma
At the same time, TIA Studio is a full-featured assistant app. You can chat with a single assistant, coordinate a team of assistants, organize threaded work, and manage channels from one local-first desktop workspace.
+It also gives you a dedicated operations layer for model providers, security and privacy guardrails, browsing automation, MCP servers, coding runtimes, cron jobs, and heartbeat-driven follow-up work.
+
Today, TIA Studio supports Discord, Lark, Telegram, WhatsApp, Wecom, and Wechat-KF channels, with more channels planned next.
### Channel Support
-| Channel | Direct Chat | Group Chat | Group Trigger |
-| ------- | ----------- | ---------- | ------------- |
-| Discord | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
-| Lark | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
-| Telegram | ✅ | 🚫 | Group support is currently disabled |
-| WhatsApp | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
-| Wecom | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
-| Wechat-KF | ✅ | 🚫 | Not applicable for relay-backed 1:1 customer sessions |
+| Channel | Direct Chat | Group Chat | Group Trigger |
+| --------- | ----------- | ---------- | ----------------------------------------------------- |
+| Discord | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
+| Lark | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
+| Telegram | ✅ | 🚫 | Group support is currently disabled |
+| WhatsApp | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
+| Wecom | ✅ | ✅ | Replies only when the bot is `@` mentioned by default |
+| Wechat-KF | ✅ | 🚫 | Not applicable for relay-backed 1:1 customer sessions |
For more, check [CHANNEL.md](./CHANNEL.md).
-## Full Assistant Workspace
+## Screenshot Tour
+
+When you want more than channel-connected automation, TIA Studio gives you a full desktop workspace for assistants, teams, threads, and local operations.
+
+### Configure assistants without leaving the workspace
+
+
+
+
-When you want more than channel-connected automation, TIA Studio also gives you the full desktop workspace for assistants, teams, threads, and operations.
+Configure assistants in-place, including channels, tools, skills, activity, and workspace-backed coding subagents powered by Codex ACP or Claude Agent ACP.
+
+### Security and privacy controls
-
+
+Enable prompt injection detection, PII redaction, and a shared guardrail provider from the desktop settings surface when you need stronger controls around assistant traffic.
+
## Architecture
TIA Studio is built on a carefully selected stack that prioritizes developer experience and maintainability:
@@ -110,16 +124,15 @@ That means adapting an assistant into a claw does **not** fork its identity:
## Features
-- 🦾 Easy-to-run local claws when an assistant is paired with a channel
-- 🤖 Full-featured AI assistant workspace with multiple assistants
-- 👥 Teams for coordinating assistants in one workspace
-- 📡 Channels that connect assistants to real conversations
-- ✅ Discord, Lark, Telegram, WhatsApp, Wecom, and Wechat-KF support available today
-- 🚧 More channels coming soon
-- 💬 Thread-based conversation management
-- 🎨 Clean, dark-themed interface
-- 🔒 Local-first architecture
-- ⚡ Fast, native desktop performance
+- Assistant-first local workspace with thread-based chat, workspace roots, attachments, and in-place configuration
+- Team workspaces with shared threads and live run status
+- Claws surface for assistant creation, channel binding, pairing, setup, activation, heartbeat monitoring, and cron monitoring
+- Channel adapters for Discord, Lark, Telegram, WhatsApp, Wecom, and Wechat-KF
+- Provider management for OpenAI-compatible models, OpenAI Responses, OpenRouter, Gemini, Anthropic, Ollama, Codex ACP, and Claude Agent ACP
+- Workspace-backed coding subagents using Codex ACP and Claude Agent ACP
+- Built-in browser automation controls, browsing settings, and MCP server management
+- Prompt injection detection and PII redaction guardrails with configurable provider selection
+- Local-first Electron desktop app with no required cloud control plane
## Security
diff --git a/docs/screenshots/assistant-coding.png b/docs/screenshots/assistant-coding.png
new file mode 100644
index 0000000..a1f20fe
Binary files /dev/null and b/docs/screenshots/assistant-coding.png differ
diff --git a/docs/screenshots/claws-overview.png b/docs/screenshots/claws-overview.png
new file mode 100644
index 0000000..5c3d065
Binary files /dev/null and b/docs/screenshots/claws-overview.png differ
diff --git a/docs/screenshots/settings-security.png b/docs/screenshots/settings-security.png
new file mode 100644
index 0000000..563203a
Binary files /dev/null and b/docs/screenshots/settings-security.png differ
diff --git a/src/main/mastra/model-resolver.test.ts b/src/main/mastra/model-resolver.test.ts
index ce7a6a2..e927c3b 100644
--- a/src/main/mastra/model-resolver.test.ts
+++ b/src/main/mastra/model-resolver.test.ts
@@ -154,6 +154,8 @@ describe('resolveModel', () => {
})
it('resolves codex-acp models with the workspace cwd', () => {
+ const acpWorkingDirectory = '/tmp/project'
+ const acpHomeDirectory = '/tmp/acp-home'
const languageModel = {
specificationVersion: 'v3' as const,
provider: 'acp',
@@ -177,8 +179,8 @@ describe('resolveModel', () => {
},
factories,
{
- acpWorkingDirectory: '/tmp/project',
- acpHomeDirectory: '/tmp/acp-home'
+ acpWorkingDirectory,
+ acpHomeDirectory
}
)
@@ -191,11 +193,11 @@ describe('resolveModel', () => {
expect.objectContaining({
command: 'codex-acp',
env: expect.objectContaining({
- CODEX_HOME: '/tmp/acp-home'
+ CODEX_HOME: path.resolve(acpHomeDirectory)
}),
persistSession: true,
session: {
- cwd: '/tmp/project',
+ cwd: acpWorkingDirectory,
mcpServers: []
}
})