Initial commit

This commit is contained in:
LZH-YS1998
2026-07-01 17:56:31 +08:00
commit d78931979d
731 changed files with 311088 additions and 0 deletions
+103
View File
@@ -0,0 +1,103 @@
external_agents:
preferred_order:
- claude_code
- codex
- cursor
- opencode
# model_flag, new_session_flag, resume_session_flag depend on your CLI version.
# Leave empty for CLI defaults, or set explicitly for deterministic behavior.
codex:
enabled: true
command: codex
model: ""
model_flag: "--model"
session_mode: auto
session_id: ""
new_session_flag: ""
resume_session_flag: ""
run_mode: interactive
interactive_timeout_seconds: 21600
approval_mode: auto
extra_args: []
cursor:
enabled: true
command: cursor-agent
model: ""
model_flag: ""
session_mode: auto
session_id: ""
new_session_flag: ""
resume_session_flag: ""
run_mode: interactive
interactive_timeout_seconds: 21600
approval_mode: full-auto
extra_args: []
claude_code:
enabled: true
command: claude
model: ""
model_flag: "--model"
session_mode: auto
session_id: ""
new_session_flag: ""
resume_session_flag: ""
run_mode: interactive
interactive_timeout_seconds: 21600
approval_mode: full-auto
extra_args: []
opencode:
enabled: true
command: opencode
model: ""
model_flag: "--model"
show_thinking: true
session_mode: auto
session_id: ""
new_session_flag: ""
resume_session_flag: ""
run_mode: interactive
interactive_timeout_seconds: 21600
approval_mode: full-auto
extra_args: []
native_subagents:
general:
enabled: true
model: ""
max_iterations: 24
default_isolation: shared
background: false
allowed_tools: []
explore:
enabled: true
model: ""
max_iterations: 16
default_isolation: shared
background: false
allowed_tools: []
plan:
enabled: true
model: ""
max_iterations: 16
default_isolation: shared
background: false
allowed_tools: []
implement:
enabled: true
model: ""
max_iterations: 24
default_isolation: worktree
background: false
allowed_tools: []
verify:
enabled: true
model: ""
max_iterations: 24
default_isolation: worktree
background: true
allowed_tools: []
+130
View File
@@ -0,0 +1,130 @@
# Built-in channel runtime template.
# Empty `allow_from` means deny-by-default. Use `["*"]` only if you want to allow all senders.
# Install provider extras with `pip install -e .[channels-<provider>]`.
# Bridge providers:
# - whatsapp: requires a companion bridge reachable at `bridge_url`
# - mochat: requires Mochat service endpoints plus `claw_token`
channels:
send_progress: true
send_tool_hints: false
telegram:
enabled: false
# Required: token
token: ""
proxy: null
reply_to_message: false
allow_from: []
whatsapp:
enabled: false
# Required: bridge_url
bridge_url: ws://localhost:3001
bridge_token: ""
allow_from: []
discord:
enabled: false
# Required: token
token: ""
gateway_url: wss://gateway.discord.gg/?v=10&encoding=json
intents: 37377
group_policy: mention
allow_from: []
feishu:
enabled: false
# Required: app_id, app_secret
app_id: ""
app_secret: ""
encrypt_key: ""
verification_token: ""
react_emoji: THUMBSUP
allow_from: []
mochat:
enabled: false
# Required: base_url, claw_token, agent_user_id
base_url: https://mochat.io
socket_url: ""
socket_path: /socket.io
socket_disable_msgpack: false
socket_reconnect_delay_ms: 1000
socket_max_reconnect_delay_ms: 10000
socket_connect_timeout_ms: 10000
refresh_interval_ms: 30000
watch_timeout_ms: 25000
watch_limit: 100
retry_delay_ms: 500
max_retry_attempts: 0
claw_token: ""
agent_user_id: ""
sessions: []
panels: []
mention:
require_in_groups: false
groups: {}
reply_delay_mode: non-mention
reply_delay_ms: 120000
allow_from: []
dingtalk:
enabled: false
# Required: client_id, client_secret
client_id: ""
client_secret: ""
allow_from: []
email:
enabled: false
# Required before runtime use: consent_granted plus IMAP/SMTP credentials
consent_granted: false
imap_host: ""
imap_port: 993
imap_username: ""
imap_password: ""
imap_mailbox: INBOX
imap_use_ssl: true
smtp_host: ""
smtp_port: 587
smtp_username: ""
smtp_password: ""
smtp_use_tls: true
smtp_use_ssl: false
from_address: ""
auto_reply_enabled: true
poll_interval_seconds: 30
mark_seen: true
max_body_chars: 12000
subject_prefix: "Re: "
allow_from: []
slack:
enabled: false
# Required: bot_token, app_token
mode: socket
webhook_path: /slack/events
bot_token: ""
app_token: ""
user_token_read_only: true
reply_in_thread: true
react_emoji: eyes
group_policy: mention
group_allow_from: []
dm:
enabled: true
policy: open
allow_from: []
allow_from: []
qq:
enabled: false
# Required: app_id, secret
app_id: ""
secret: ""
allow_from: []
matrix:
enabled: false
# Required: homeserver, access_token, user_id
homeserver: https://matrix.org
access_token: ""
user_id: ""
device_id: ""
e2ee_enabled: true
sync_stop_grace_seconds: 2
max_media_bytes: 20971520
group_policy: open
group_allow_from: []
allow_room_mentions: false
allow_from: []
+248
View File
@@ -0,0 +1,248 @@
company:
company_profile: ''
company_profiles:
- corporate
- custom
final_decider_role_id: null
name: Team Runtime Co
topology: Corporate Structure
employees:
- category: engineering
description: Expert DevOps engineer specializing in infrastructure automation, CI/CD
pipeline development, and cloud operations
domains: []
employee_id: devops_engineer-engineering-engineering-devops-automator
metadata:
source_path: engineering/engineering-devops-automator.md
source_repo: /data2/bjdwhzzh/project-hku/agency-agents
source_revision: local
talent_template_category: engineering
talent_template_name: DevOps Automator
name: DevOps Automator
preferred_external_agent: codex
prompt_refs:
- prompts/talent/engineering-engineering-devops-automator.md
role_id: devops_engineer
seniority: junior
skill_refs: []
status: active
tags:
- engineering
- devops
- automator
- engineering-devops-automator
template_id: engineering-engineering-devops-automator
- category: engineering
description: Expert technical writer specializing in developer documentation, API
references, README files, and tutorials. Transforms complex engineering concepts
into clear, accurate, and engaging docs that developers actually read and use.
domains: []
employee_id: content_specialist-engineering-engineering-technical-writer
metadata:
source_path: engineering/engineering-technical-writer.md
source_repo: /data2/bjdwhzzh/project-hku/agency-agents
source_revision: local
talent_template_category: engineering
talent_template_name: Technical Writer
name: Technical Writer
preferred_external_agent: codex
prompt_refs:
- prompts/talent/engineering-engineering-technical-writer.md
role_id: content_specialist
seniority: junior
skill_refs: []
status: active
tags:
- engineering
- technical
- writer
- engineering-technical-writer
template_id: engineering-engineering-technical-writer
- category: design
description: Expert UI designer specializing in visual design systems, component
libraries, and pixel-perfect interface creation. Creates beautiful, consistent,
accessible user interfaces that enhance UX and reflect brand identity
domains: []
employee_id: designer-design-design-ui-designer
metadata:
source_path: design/design-ui-designer.md
source_repo: /data2/bjdwhzzh/project-hku/agency-agents
source_revision: local
talent_template_category: design
talent_template_name: UI Designer
name: UI Designer
preferred_external_agent: codex
prompt_refs:
- prompts/talent/design-design-ui-designer.md
role_id: designer
seniority: junior
skill_refs: []
status: active
tags:
- design
- designer
- design-ui-designer
template_id: design-design-ui-designer
- category: engineering
description: Expert application security engineer specializing in threat modeling,
vulnerability assessment, secure code review, security architecture design, and
incident response for modern web, API, and cloud-native applications.
domains: []
employee_id: qa_analyst-engineering-engineering-security-engineer
metadata:
source_path: engineering/engineering-security-engineer.md
source_repo: /data2/bjdwhzzh/project-hku/agency-agents
source_revision: local
talent_template_category: engineering
talent_template_name: Security Engineer
name: Security Engineer
preferred_external_agent: codex
prompt_refs:
- prompts/talent/engineering-engineering-security-engineer.md
role_id: qa_analyst
seniority: junior
skill_refs: []
status: active
tags:
- engineering
- security
- engineer
- engineering-security-engineer
template_id: engineering-engineering-security-engineer
- category: fallback
description: Empty placeholder employee for the CEO role when recruitment found
no credible fit. Add prompt_refs in YAML to customize fallback execution.
domains: []
employee_id: ceo-fallback-empty-employee
metadata:
auto_created_for_role: ceo
employee_origin: recruitment_fallback
is_fallback_employee: true
name: CEO Fallback Empty Employee
preferred_external_agent: null
prompt_refs: []
role_id: ceo
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: fallback
description: Empty placeholder employee for the CTO role when recruitment found
no credible fit. Add prompt_refs in YAML to customize fallback execution.
domains: []
employee_id: cto-fallback-empty-employee
metadata:
auto_created_for_role: cto
employee_origin: recruitment_fallback
is_fallback_employee: true
name: CTO Fallback Empty Employee
preferred_external_agent: null
prompt_refs: []
role_id: cto
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: fallback
description: Empty placeholder employee for the COO role when recruitment found
no credible fit. Add prompt_refs in YAML to customize fallback execution.
domains: []
employee_id: coo-fallback-empty-employee
metadata:
auto_created_for_role: coo
employee_origin: recruitment_fallback
is_fallback_employee: true
name: COO Fallback Empty Employee
preferred_external_agent: null
prompt_refs: []
role_id: coo
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: fallback
description: Empty placeholder employee for the Acquisition Specialist role when
recruitment found no credible fit. Add prompt_refs in YAML to customize fallback
execution.
domains: []
employee_id: acquisition_specialist-fallback-empty-employee
metadata:
auto_created_for_role: acquisition_specialist
employee_origin: recruitment_fallback
is_fallback_employee: true
name: Acquisition Specialist Fallback Empty Employee
preferred_external_agent: claude_code
prompt_refs: []
role_id: acquisition_specialist
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: fallback
description: Empty placeholder employee for the Senior Engineer role when recruitment
found no credible fit. Add prompt_refs in YAML to customize fallback execution.
domains: []
employee_id: senior_engineer-fallback-empty-employee
metadata:
auto_created_for_role: senior_engineer
employee_origin: recruitment_fallback
is_fallback_employee: true
name: Senior Engineer Fallback Empty Employee
preferred_external_agent: codex
prompt_refs: []
role_id: senior_engineer
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: fallback
description: Empty placeholder employee for the Environment Engineer role when recruitment
found no credible fit. Add prompt_refs in YAML to customize fallback execution.
domains: []
employee_id: env_engineer-fallback-empty-employee
metadata:
auto_created_for_role: env_engineer
employee_origin: recruitment_fallback
is_fallback_employee: true
name: Environment Engineer Fallback Empty Employee
preferred_external_agent: null
prompt_refs: []
role_id: env_engineer
seniority: junior
skill_refs: []
status: active
tags: []
template_id: fallback-empty-employee
- category: design
description: Expert UI designer specializing in visual design systems, component
libraries, and pixel-perfect interface creation. Creates beautiful, consistent,
accessible user interfaces that enhance UX and reflect brand identity
domains: []
employee_id: cmo-design-design-ui-designer
metadata:
source_path: design/design-ui-designer.md
source_repo: /data2/bjdwhzzh/project-hku/agency-agents
source_revision: local
talent_template_category: design
talent_template_name: UI Designer
name: UI Designer
preferred_external_agent: codex
prompt_refs:
- prompts/talent/design-design-ui-designer.md
role_id: cmo
seniority: junior
skill_refs: []
status: active
tags:
- design
- designer
- design-ui-designer
template_id: design-design-ui-designer
escalation_rules: []
roles: []
schema_version: 1
+23
View File
@@ -0,0 +1,23 @@
# LLM config template: no API keys committed. Set api_key or api_key_env after opc init.
llm:
default_model: "openai/gpt-5.4"
api_base: "https://openrouter.ai/api/v1"
api_key: ""
# api_key_env: "OPENROUTER_API_KEY"
temperature: 1
max_tokens: 32768
routing: {}
fallback: {}
# Optional: total input context window, used as the denominator for the
# context-usage ring and to trigger auto-summarization. You normally do NOT
# need this — for models litellm can map (most OpenAI / Anthropic models) the
# window is resolved automatically. Only set it when your model is served
# through a proxy / self-hosted endpoint that litellm cannot map, so the ring
# has no denominator. Scalar applies to the default model:
# context_window: 200000
# Or per-model (wins over the scalar); keys are matched by model name:
# context_window_overrides:
# gpt-5.4: 400000
# claude-sonnet-4.5: 200000
+313
View File
@@ -0,0 +1,313 @@
system:
auto_approve_below_cost: 10.0
context_compression_threshold: 0.85
default_channel: cli
escalation_timeout_seconds: 300
log_level: INFO
max_agent_iterations: 50
opc_home: ''
browser:
mode: embedded
headless: true
chrome_channel: chrome
chrome_executable_path: ''
user_data_dir: ''
args: []
native_runtime:
enabled: true
stream_llm: true
emit_runtime_events: true
event_protocol_version: v2
enable_tool_hooks: true
converge_on_parallel_failure: true
max_parallel_read_tools: 6
tool_result_budget_chars: 20000
microcompact_chars: 8000
history_snip_trigger_messages: 40
subagent_max_depth: 3
auto_extract_durable_memory: false
durable_memory_extract_min_messages: 4
durable_memory_max_input_chars: 12000
prompt_prefix_stability:
enabled: true
separate_dynamic_context: true
emit_cache_fingerprint_events: true
prompt_harness:
enabled: true
split_static_dynamic: true
emit_delta_messages: true
cache_static_prefix_only: true
artifact_messages_enabled: true
section_dedup_enabled: true
reinject_after_compaction: true
reactive_compaction:
enabled: true
max_overflow_retries: 2
circuit_breaker_failures: 2
context_usage_reporting:
enabled: true
emit_runtime_events: true
verification_policy:
# Native self-verification gate (spawns a `verify` subagent to re-check a
# finished turn). Disabled by default: it adds latency/cost and is low
# value for non-code work; company mode already has the manager-review
# gate as the quality check. Set to true to re-enable for both task and
# company mode. See opc/layer3_agent/runtime_v2/runtime.py.
enabled: false
min_todos_for_verification: 3
require_on_code_edits: true
require_on_risky_tools: true
verifier_profile: verify
skip_metadata_key: skip_verification
background_session_memory:
enabled: true
update_interval_messages: 4
max_input_chars: 6000
prefetch:
enabled: true
session_memory: true
focused_memory: true
skills_summary: true
project_memory_candidates: true
max_chars: 4000
tool_aware_microcompact:
enabled: true
preserve_recent_messages: 8
tool_result_char_budget: 4000
assistant_char_budget: 3000
preserve_failure_outputs: true
artifact_compaction:
enabled: true
session_memory_fast_path: true
reinject_tool_surface_delta: true
reinject_skills_delta: true
reinject_active_subagents: true
reinject_verification_state: true
reinject_permission_state: true
prompt_too_long_retry: true
max_prompt_too_long_retries: 3
artifact_char_budget: 12000
task_ledger:
enabled: true
max_items: 24
persist_to_runtime_session: true
persist_to_task_metadata: true
emit_runtime_events: true
streaming_tool_start:
enabled: true
safe_read_only_only: true
require_allow_prediction: true
verification_contract:
enabled: true
append_status_to_final: true
require_explicit_status: true
execution_environment:
worktree_venv:
enabled: true
provider: auto
venv_dir: .opc-venv
editable_project: true
requirements_files: []
auto_detect_requirements: true
system_site_packages: false
fail_if_prepare_fails: false
sandbox:
enabled: true
default_mode: workspace-write
fail_if_unavailable: false
allow_direct_fallback: true
allow_network: true
windows:
mode: elevated
wrapper: none
linux:
mode: workspace-write
wrapper: auto
macos:
mode: workspace-write
wrapper: auto
task_mode:
sub_agent_timeout_sec: 86400
require_confirmation:
- deploy to production
- send external emails
- modify database schema
autonomy:
enabled: true
mode: bounded
approval_model: ''
approval_confidence_threshold: 0.7
learned_policy_threshold: 0.8
max_auto_approve_risk: medium
allow_native_tool_auto_approval: true
allow_external_agent_auto_approval: true
learn_from_feedback: true
save_external_sessions: true
tool_first_use_approval: true
tool_approval_exemptions:
- read_inbox
- send_dm
- ask_peer_and_wait
- reply_message
- broadcast_issue
- annotate_task
- start_meeting
- respond_meeting
- ack_handoff
- review_handoff
- propose_task_adjustment
- propose_runtime_replan
- request_user_input
- todo_read
- todo_write
command_review_window: 20
sensitive_keywords:
- token
- password
- secret
- api key
- credential
- private key
- payment
- database schema
- drop table
- rm -rf
- terraform destroy
- deploy to production
- send email
safe_command_prefixes:
- ls
- pwd
- echo
- rg
- git status
- git diff
- curl
- wget
- yt-dlp
- aria2c
- ffmpeg
permissions_v2:
enabled: true
fail_closed: true
classifier_enabled: true
shell_ast_validation: true
llm_classifier_model: ''
classifier_thresholds:
allow: 0.2
ask: 0.5
deny: 0.8
denial_memory:
enabled: true
repeat_threshold: 2
sandbox_policy:
treat_network_as_risky: true
treat_external_paths_as_high_risk: true
explicit_prefix_allowlist: []
candidate_extractors:
- path
- file_path
- directory
- working_directory
- target_output_dir
- workspace_path
- command
- cmd
- url
default_scope: once
allow_scopes:
- once
- session
- project
- global
allow_tools: []
deny_tools: []
allowed_paths: []
denied_paths: []
safe_shell_prefixes:
- ls
- pwd
- echo
- rg
- git status
- git diff
- curl
- wget
- yt-dlp
- aria2c
- ffmpeg
- python -V
- python3 -V
- node -v
- npm -v
ask_shell_prefixes:
- git commit
- git push
- npm install
- pip install
- pnpm install
- cargo test
- pytest
dangerous_shell_patterns:
- \brm\s+-rf\b
- \bdrop\s+table\b
- \btruncate\b
- \bterraform\s+destroy\b
- \bgit\s+push\s+--force\b
mcp_servers:
# ── Local MCP servers (stdio) ──────────────────────────────────────
# Native Python Playwright browser tools are enabled by default.
# Leave this browser MCP entry disabled unless you explicitly want the external MCP server.
- name: browser
type: local
command: ["npx", "@playwright/mcp@latest", "--headless"]
enabled: false
env: {}
tools_filter: []
startup_timeout: 30.0
# Example: GitHub MCP server (uncomment and set GITHUB_TOKEN)
# - name: github
# type: local
# command: ["npx", "-y", "@modelcontextprotocol/server-github"]
# enabled: true
# env:
# GITHUB_TOKEN: "your-github-token"
# tools_filter: []
# startup_timeout: 30.0
# Example: filesystem MCP server
# - name: filesystem
# type: local
# command: ["npx", "-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/dir"]
# enabled: true
# ── Remote MCP servers (StreamableHTTP / SSE) ──────────────────────
# Example: remote MCP server with custom headers
# - name: remote-api
# type: remote
# url: "https://mcp.example.com/sse"
# enabled: true
# headers:
# Authorization: "Bearer your-token"
# startup_timeout: 30.0
capabilities:
enable_recovery: true
local_first: true
attach_remote_skill_summaries: true
promote_remote_skills: true
remote_skill_source: skillhub
max_remote_skill_results: 5
tool_failure_threshold: 2
skillhub:
enabled: false
api_base: https://www.skillhub.club/api/v1
api_key: ''
api_key_env: SKILLHUB_API_KEY
search_limit: 5
method: hybrid
cache_remote_skills: true
promote_after_successes: 2