# What Samurai App is

An execution environment for AI agents, built for use inside companies. You ask for work in chat, and the agent
reads knowledge, reads and writes tables, runs code, operates a browser, and connects to external services to get the work done.

## How it differs from general AI chat (一般的な AI チャットとの違い)

- **The more you use it, the smarter it gets inside that workspace.** Memories accumulate from conversations (`/memory`), and
  procedures that worked are kept as skills. **It only grows inside that workspace**
- **A procedure that worked is fixed as an executable script.** From the second time on the script runs, so
  **the result is the same every time, faster, and cheaper**. The model is called only where judgment is needed. Keys for external services are
  only deposited, and **are never handed to the user or the model**
- **Built for teams, not for one person.** Apps and documents **can be published even to people without an account**.
  There are channels (`/channels`), and approvals, the audit log, conversation monitoring, and source-IP restrictions are built in from the start

## Skills vs. apps (「スキル」と「アプリ」)

- **「スキル」** —— a written procedure for how to do a job. **The agent is the one that reads it and acts.** Once a procedure settles,
  the agent asks 「一連の作業をスキル化しますか」. The list is at `/settings/skills`
- **「アプリ」** —— **a screen that people use.** It can hold tables, input fields, and buttons. Work requested from a button
  is handed to the agent (an operation that needs approval shows an 「承認カード」 right there). The list is at `/apps`

**Apps are not built from skills.** Both are created from a conversation, and they are separate things.
**Processing used only by one app lives inside that app as code**, and only procedures used from several apps or conversations
become skills.

## Connecting to external services

- **Connector (MCP)** —— ask in a conversation, e.g. "can you connect to Gmail?", and it searches for an available integration. After connecting,
  you can also find out from the conversation what it can do. Settings are at `/settings/connections`
- **Calling an API directly** —— even without a connector, if there is an API it can be called from a conversation. The key used is the one
  deposited in `/settings/secrets` (**there is no way to read it back out**)

**Calling an API directly needs no prior registration.** Only when a request carrying a key goes to an unknown destination does the conversation ask
for approval once, and once approved it is remembered. Requests cannot go to destinations blocked in `/settings/permissions` or to internal addresses.
Connectors (MCP) do not consult this list.

**When asked about a service by name, do not state definitively whether it is supported; answer with these two ways.** Even for a service whose name is not listed,
you can search `/settings/connections` for a connector, and if it has an API it can be called.

## What it can do —— skills are grouped by business domain

You always talk to the same one agent (the main agent), and it picks the skill that fits the request. The product-bundled skills are grouped into
seven business areas — **自動化 / アプリ / 法務 / 資料作成 / 会議 / デザイン / 経理** — plus **汎用, which holds skills that belong
to no business area**. Each group appears as an "agent" tile on the start screen; it is only a folder of skills (pressing it opens the list) and is not a bot.

**経理 handles reading and sorting receipts and vouchers (証憑), recording each member's travel expenses (交通費) from a pasted transit screenshot, receipt, file (PDF and the like) or copied route-search text into one table the whole tenant shares, reconciling incoming payments (入金の消し込み), and creating billing documents — nothing more.**
Finalizing journal entries (仕訳の確定), syncing to accounting software, and the requirements of the Electronic Bookkeeping Act (電子帳簿保存法) are not covered.

Getting the work done:

- **「Skills 学習」** —— drafts skill improvements from conversations and, after approval, applies them to the company's own version
- **「ワークフローの取り込み」** —— reads definitions built in **n8n** or **Dify** and takes them over here as a skill or a workflow — it asks which
  (it can read these two plus its own format, three in total)
- **RAG** —— answers with citations, grounded in the imported internal knowledge (`/files?folder=knowledge`)
- **「メモリ」** —— context that accumulates automatically, and context you manage yourself (`/memory`)
- **subagent** —— splits a large request into pieces and works on them in parallel
- **「コード実行」 / 「ブラウザ操作」** —— for non-routine aggregation or reports, it writes and runs code on the spot,
  and it opens and operates pages to pull out the information needed
- **「コンピュータ」** —— a shared cloud computer (`/settings/computers`). Unlike the per-conversation container,
  files and tools in its home directory **stay between conversations**, so long jobs continue where they stopped
  (「経理PC で続きをやって」). Only its creator and the members they add can use it, and **every member can read and change
  its files**. Each command asks for approval, and one computer runs one command at a time (a second is refused with who is
  using it; programs left running in the background keep running until another conversation uses the computer). Things installed outside the home directory (e.g. with `apt`) are lost when it sleeps after about 10 minutes
  unused. It also has a **desktop for GUI apps**: open an app (a text editor is built in) and ask for an end state
  (「メモ帳に『こんにちは』と書いて保存して」); the agent chooses the clicks and keys itself and returns the screen before
  and after. Operating a window asks for approval once per computer, and terminal and browser windows cannot be driven.
  **Its screen can be watched live** — in the conversation's right panel (「コンピュータ」) once the conversation has used it,
  and from 「画面を見る」 on `/settings/computers`. Only its creator and members can watch, and it shows while someone is
  using the computer and for 1 minute after (「映す」 shows it for 1 more minute); a sleeping computer is not woken just to be watched.
  **Watching is view only; press 「操作する」 to take control** and click and type on the desktop yourself (one person at a time,
  not on a phone-width screen). **A sleeping computer shows 「起こして操作する」 instead**, which wakes it (with its saved files)
  and takes control; while it wakes, the screen shows the steps (waking, then connecting) and the seconds elapsed. **The desktop has a dock at the bottom** with buttons to open the text editor, LibreOffice Writer / Calc /
  Impress, GIMP (image editing), Inkscape (SVG drawing), OpenSCAD (CAD written as code), and a terminal, plus the open windows and a clock. ImageMagick and Pandoc are installed for converting images and documents from the
  terminal or a conversation. **While you hold it, the computer can reach the internet** (`pip install`, `curl`, `git clone` from the terminal; there is no web browser) under
  the workspace's 「外部との通信」 setting (`/settings/permissions`), the same as commands a conversation runs; workspace secrets and the built-in AI and
  connectors cannot be called from it, and it goes offline again when you give it back. 「操作する」 is offered only while no conversation is running a command on it; while you hold it,
  conversations are refused with your name. 「返す」, closing the tab, or 10 minutes gives it back. The time you hold it is
  billed to you, and the audit log records when you took and returned it (not what you typed). Watching also keeps the
  computer awake, so time it stays up only because you are watching is billed to you too. **While holding it, Japanese can be
  typed directly with your IME**, and ⌘V / Ctrl+V pastes the text on your PC's clipboard into the computer. Longer text can
  also be written in 「テキストを送る」 (next to 「返す」 above the screen) and pasted with 「送る」. Copying from the computer back to your PC is not available.
  Not usable from channels yet. Administrators can block it in `/settings/permissions`
  (「共有のコンピュータで実行する」)
- **「アプリ」** —— tools with a screen are born from a conversation (`/apps`)
- **「動くスライド」** —— ask 「動くスライドを作って」 and 資料作成 makes a clickable HTML deck: clicking opens the evidence behind a number,
  and a slider recalculates. It opens in the deliverables panel's 「描画」 tab, where 「全画面で表示」 fills the screen (arrow keys turn
  the pages; Esc leaves). The same button is on every HTML / SVG / diagram preview. 「エクスポート」 → 「PowerPoint(画像)」 downloads it as pptx (each page becomes an image, so the text cannot be edited); print it for paper
  - To project it in a meeting or a talk, press 「発表者モード」 on the 「描画」 tab (wide screens only). Your own screen shows the current
    page, the next page, the speaker notes and the elapsed time; 「聴衆用の窓を開く」 opens a separate window with only the slides —
    share that window (or move it to the projector and use its 「全画面で表示」). Page turns stay in step between the two windows,
    but sliders and opened evidence panels do not, so show those in the audience window itself. If the window does not open,
    allow pop-ups in the browser. Decks made before this feature have no button; ask for the deck to be rebuilt
- **Editing or creating an Excel / CSV** —— the agent reads and edits cells of an existing `.xlsx` / `.csv` / `.tsv` in place
  (`asset` `sheet.*`), keeping charts, other sheets and formatting. It can also insert or delete rows and columns, add, rename,
  reorder, hide or delete sheets, merge cells, set column widths and row heights, freeze panes, place pictures from the conversation over the cells, make a new .xlsx, and turn an old Excel file (.xls) into an .xlsx (values only; see webui-file-edit.md). It can also write and run TypeScript macros (Office Scripts style) on a workbook, on screen or by the agent after one approval (VBA in an .xlsm is kept byte for byte; a convertible VBA macro can be run the same way, and the rest runs in Excel on Windows — see webui-file-edit.md). These edits keep
  charts and pivot tables but cannot add them; to add a chart, ask the agent to build the file with code. Editing a file from another conversation asks for approval
- **Opening an old Word file (.doc)** —— the agent turns an old Word file (.doc) into a .docx with the same name in the conversation, keeping headings, bullet and numbered lists, tables and bold / italic / underline (see webui-file-edit.md); the .docx then opens and edits like any other
- **「データベース」** —— tables such as shift schedules or product masters. They can be aggregated and updated from a conversation (`/database`)
- **「スケジュール実行」** —— runs routine work at set times or on events (「自動実行」, `/settings/triggers`)
- **「チャンネル」** —— conversations several people can join (`/channels`)
- **「ミーティング」** —— video meetings with screen sharing, recording, and live captions; guests from outside can join with a link after being admitted (`/meetings`)
- **「カレンダー」** —— events with participants and 出欠, members' busy times, a meeting attached to an event, and your own SIROE tasks, exports the events you organize to your own Google Calendar or Outlook and imports your events from them once a day; the AI in chat can read it and, after your approval, create, change, delete and answer events; no recurring events from the AI (`/calendar`)

Connecting:

- **「コネクタ(MCP)」** —— the main path is a direct connection to each vendor's official remote MCP. Coverage extends further through the connection platform **Composio**
  (the bundled catalog has 1,591 件; Composio holds the credentials for 123 件 of them — Outlook, SharePoint, OneDrive, Google Drive, Salesforce, Zendesk, and Jira are on this path; an admin can also add one with the company's own OAuth client). `/settings/connections`
- **「認証情報プロファイル」** —— named credentials, several per connection (bound per tool)
- **「MCP エンドポイント」** —— external AI clients (Claude / ChatGPT) can operate this product
- **CLI** —— `samuraiapp` (`login` / `logout` / `chat` / `request` / `tunnel` / `record` / `upgrade` / `version`; no arguments opens a menu)
- **「外部チャット」** —— can be called by mention from Slack / Microsoft Teams / LINE / Chatwork (`/settings/chat-surfaces`).
  It runs with the permissions of the person who completed the account linking, and **these four are the only entry points**
- **「埋め込みチャットウィジェット」** —— a public app (chatbot included) put on your site by one script tag (`/apps`)
- **「モデルルーティング」** —— routes each conversation to a suitable model. The tenant's own bring-your-own keys can also be used (`/settings/models`)

## SIROE —— seeing at a glance what is where

A surface that puts everything related to a project on one sheet (`/siroe`). Opening a conversation beside a page
proceeds with that page as its premise, and the agent also reads and writes the page.

- **Placing** —— 「ページ」 and 「ブロック」 (headings, bullet lists, tables, code; they can be nested),
  「タスクボード」 (カンバン / 表 / ガントチャート / カレンダー), **「キャンバス」** (「付箋」「図形」「テキスト」「フレーム」「ペン」 and
  connector lines, placed as another face of the same page), dropping in files, and covers and a gallery
- **Finding** —— **「全文検索」** (search by words and it returns the matching pages with excerpts), **「逆リンク」** (follow the
  pages that reference this page), **「保存した絞り込み」** (pages matching a condition gather
  automatically), and the trash keeps items for 30 days
- **Real-time co-editing** —— edits show live, with the editor's name on the line (same line: later write rejected)
- **Comments** —— comments on a page, with replies, mentions, and resolving

**Not available** —— **external share links**.

## Ready for company use

All settings stay closed inside the tenant. **The agent only acts within the permissions of that user.**

- **Governance** —— approval gates (sensitive operations are approved by a person before they run; leaving one unanswered counts as a rejection), approval requests
  that can also be routed to approvers outside the company, the audit log (tampering can be detected. **Kept for 2 years**. `/settings/compliance?tab=audit`),
  prompt-injection scanning of imported text, and compliance monitoring (**it detects after the fact.
  It does not stop a send on the spot**)
- **People and permissions** —— four roles, オーナー / 管理者 / マネージャー / メンバー (the オーナー can do what an admin can); groups (decide who can see which knowledge);
  two-factor authentication and source-IP restrictions; SSO via OIDC / SAML (the 「シングルサインオン」 tab of `/settings/members`. **Currently being verified**); keeping credentials
  secret; and a setting that stops model providers from training on your data. Conditions and where the screens are: `references/webui-settings.md`
- **One tenant per company** —— do not split by department, site, or subsidiary; express the organization's shape with groups. Each customer company
  has its own independent database, so its data never mixes with other companies' data
- **Usage** —— the usage ledger, usage limits (three levels: 「テナント全体」 / 「全員の既定」 / 「メンバー別」. `/settings/usage`),
  and the 「アクティビティ」 screen (other people's numbers are not shown). **There is no per-department aggregation and no cost allocation for billing**

## Pricing (料金)

There is one plan: **スタンダードプラン**.

- **Base fee 18,800 円 / month.** The minimum charge for using what the plan includes; it does not include credits
- **Credits are 100 クレジット = 1,000 円.** You choose the amount received each month from 100〜10,000, in steps of 100
- **Both are tax-exclusive (税抜, 本体価格).** Payment is either monthly or annual lump-sum, and **the annual discount rate is set per contract**
  (the discount does not change the amount of credits granted). Annual payment starts when you accept the service provider's proposal in 「契約プラン」
- If this month's credits run short, you can buy more on the spot with 「クレジットの追加」 (**monthly payment only**. They expire on the 1st of the next month,
  and the charge is added to the next invoice)
- **When the credits run out**, only what costs credits stops (chat runs, joining a meeting, 「整理を提案」 on files); screens stay readable.
  Every screen shows a band 「クレジットが尽きています」 until credits are added, and a refused meeting join or file proposal opens the same guidance as a dialog.
  An administrator of an organization account gets 「クレジットを追加」 (to 「クレジットの追加」 at `/settings/subscription`; 「契約情報を開く」 when there is no active plan); anyone else is told to ask an administrator,
  and a workspace that cannot subscribe is told to ask the operator for a coupon
- **Sign-up, changes, and cancellation are in 「契約プラン」 at `/settings/subscription`** (administrators only, and only with an organization account).
  A change to the monthly amount takes effect from the 1st of the next month
- **How many credits a use takes** (a one-hour meeting, a webinar and its viewers, recording, a chat turn, browser operation, storage) is on the public page
  「クレジットの消費目安」 at `/credits` —— it opens without signing in and is linked from `/settings/usage`, the sidebar account menu (詳細を見る), and the footer of the public pages.
  The figures are rough estimates computed from the current unit prices, so point to the page rather than quoting a number.
  The page groups them by area (meetings, chat, browser, code, storage), each area linking to its tips; a switch at the top moves between it and the tips page
- **How to use fewer credits** is on the public page 「クレジットを節約するコツ」 at `/credits/tips`, linked from `/credits`, `/settings/usage`,
  the sidebar account menu (詳細を見る), and the footer of the public pages. It covers chat (start a new conversation for a new topic, 「速い」 in 「モデル」), automations,
  stopping the browser, code execution, the shared computer, deleting files and emptying the trash, tables, and meetings
  (「AI アクセス」 OFF, a longer 「情報整理の更新間隔」, recording only when needed), plus the monthly 「利用上限」, with an area index at the top. Point to the page for the details

**The current balance, what is under contract, and upcoming charges cannot be known from this help desk.** Sign in and
check `/settings/subscription` and `/settings/usage`.

## Getting started

Register from `/login`. All you need is a name, email address, password, and agreement to the terms, and
**sign-in is not complete until you click the confirmation email** (after the password there is one more step, a 6-digit confirmation code).
**The trial is 10 credits**; filling in all three company-info fields at registration adds 20, for 30 in total.
Invited people enter through the link in the invitation email. Details are in 「サインインする」 in `references/webui.md`.

**Not sure which feature to start with? Take the feature finder.** `https://samuraiax.com/finder` on the product site asks three
questions (the main pain point, the line of work, what to try first) and shows the three features that fit, each with the answers
that led to it. The answers stay in the browser and are not sent or saved. It opens in a separate tab from 「迷ったら機能診断」 at the
top right of `/features` and from 「合う機能を診断する」 below the input box on the signed-out top page.

**Not sure what to ask next? Press a button under the reply.** When a reply settles, up to four buttons appear under it,
chosen for what just happened: a next request (「データベースの表にする」「Excel ファイルにする」「自動実行で定期的に動かす」),
a way to recover when something failed (「原因を調べて」「別の方法で試す」), and one common question with a ? mark
(「録画って何？」 while the browser screen is open). **A request button only puts its text into the input box — nothing is sent
until you press send**, so you can add to it first. A question button opens a short answer on the spot. No buttons appear while
a reply is running, while an approval or a clarifying question is waiting, or after a send failed
